Safe Haskell | None |
---|---|
Language | Haskell98 |
This module contains a wrappers and utility functions for accessing GHC module information. It should NEVER depend on ANY module inside the Language.Haskell.Liquid.* tree.
Synopsis
- isAnonBinder :: TyConBinder -> Bool
- mkAlive :: Var -> Id
- srcSpanTick :: Module -> SrcSpan -> Tickish a
- tickSrcSpan :: Outputable a => Tickish a -> SrcSpan
- stringTyVar :: String -> TyVar
- stringVar :: String -> Type -> Var
- stringTyCon :: Char -> Int -> String -> TyCon
- stringTyConWithKind :: Kind -> Char -> Int -> String -> TyCon
- hasBaseTypeVar :: Var -> Bool
- isBaseType :: Type -> Bool
- isTmpVar :: Var -> Bool
- isTmpSymbol :: Symbol -> Bool
- validTyVar :: String -> Bool
- tvId :: TyVar -> String
- tidyCBs :: [CoreBind] -> [CoreBind]
- unTick :: CoreBind -> CoreBind
- unTickExpr :: CoreExpr -> CoreExpr
- isFractionalClass :: Class -> Bool
- notracePpr :: Outputable a => String -> a -> a
- tracePpr :: Outputable a => String -> a -> a
- pprShow :: Show a => a -> SDoc
- toFixSDoc :: Fixpoint a => a -> Doc
- sDocDoc :: SDoc -> Doc
- pprDoc :: Outputable a => a -> Doc
- showPpr :: Outputable a => a -> String
- showSDoc :: SDoc -> String
- myQualify :: PrintUnqualified
- showSDocDump :: SDoc -> String
- typeUniqueString :: Outputable a => a -> String
- newtype Loc = L (Int, Int)
- fSrcSpan :: Loc a => a -> SrcSpan
- fSourcePos :: Loc a => a -> SourcePos
- fSrcSpanSrcSpan :: SrcSpan -> SrcSpan
- srcSpanFSrcSpan :: SrcSpan -> SrcSpan
- sourcePos2SrcSpan :: SourcePos -> SourcePos -> SrcSpan
- sourcePosSrcSpan :: SourcePos -> SrcSpan
- sourcePosSrcLoc :: SourcePos -> SrcLoc
- srcSpanSourcePos :: SrcSpan -> SourcePos
- srcSpanSourcePosE :: SrcSpan -> SourcePos
- srcSpanFilename :: SrcSpan -> String
- srcSpanStartLoc :: RealSrcSpan -> Loc
- srcSpanEndLoc :: RealSrcSpan -> Loc
- oneLine :: RealSrcSpan -> Bool
- lineCol :: RealSrcSpan -> (Int, Int)
- realSrcSpanSourcePos :: RealSrcSpan -> SourcePos
- realSrcSpanSourcePosE :: RealSrcSpan -> SourcePos
- getSourcePos :: NamedThing a => a -> SourcePos
- getSourcePosE :: NamedThing a => a -> SourcePos
- locNamedThing :: NamedThing a => a -> Located a
- namedLocSymbol :: (Symbolic a, NamedThing a) => a -> Located Symbol
- varLocInfo :: (Type -> a) -> Var -> Located a
- namedPanic :: NamedThing a => a -> String -> b
- collectArguments :: Int -> CoreExpr -> [Var]
- collectValBinders' :: Expr Var -> ([Var], Expr Var)
- ignoreLetBinds :: Expr t -> Expr t
- isTupleId :: Id -> Bool
- idDataConM :: Id -> Maybe DataCon
- isDataConId :: Id -> Bool
- getDataConVarUnique :: Var -> Unique
- isDictionaryExpression :: Expr Id -> Maybe Id
- realTcArity :: TyCon -> Arity
- kindTCArity :: TyCon -> Arity
- kindArity :: Kind -> Arity
- uniqueHash :: Uniquable a => Int -> a -> Int
- lookupRdrName :: HscEnv -> ModuleName -> RdrName -> IO (Maybe Name)
- ignoreInline :: ParsedModule -> ParsedModule
- symbolTyConWithKind :: Kind -> Char -> Int -> Symbol -> TyCon
- symbolTyCon :: Char -> Int -> Symbol -> TyCon
- symbolTyVar :: Symbol -> TyVar
- localVarSymbol :: Var -> Symbol
- exportedVarSymbol :: Var -> Symbol
- qualifiedNameSymbol :: Name -> Symbol
- fastStringText :: FastString -> Text
- tyConTyVarsDef :: TyCon -> [TyVar]
- noTyVars :: TyCon -> Bool
- splitModuleName :: Symbol -> (Symbol, Symbol)
- dropModuleNamesAndUnique :: Symbol -> Symbol
- dropModuleNames :: Symbol -> Symbol
- dropModuleNamesCorrect :: Symbol -> Symbol
- takeModuleNames :: Symbol -> Symbol
- dropModuleUnique :: Symbol -> Symbol
- cmpSymbol :: Symbol -> Symbol -> Bool
- sepModNames :: Text
- sepUnique :: Text
- mungeNames :: (String -> [Text] -> Symbol) -> Text -> String -> Symbol -> Symbol
- qualifySymbol :: Symbol -> Symbol -> Symbol
- isQualifiedSym :: Symbol -> Bool
- isQualified :: Text -> Bool
- wrapParens :: (IsString a, Monoid a) => a -> a
- isParened :: Text -> Bool
- isDictionary :: Symbolic a => a -> Bool
- isMethod :: Symbolic a => a -> Bool
- isInternal :: Symbolic a => a -> Bool
- isWorker :: Symbolic a => a -> Bool
- stripParens :: Text -> Text
- stripParensSym :: Symbol -> Symbol
- desugarModule :: TypecheckedModule -> Ghc DesugaredModule
- gHC_VERSION :: String
- symbolFastString :: Symbol -> FastString
- lintCoreBindings :: [Var] -> CoreProgram -> (Bag MsgDoc, Bag MsgDoc)
- synTyConRhs_maybe :: TyCon -> Maybe Type
- tcRnLookupRdrName :: HscEnv -> Located RdrName -> IO (Messages, Maybe [Name])
- showCBs :: Bool -> [CoreBind] -> String
- ignoreCoreBinds :: HashSet Var -> [CoreBind] -> [CoreBind]
- findVarDef :: Symbol -> [CoreBind] -> Maybe (Var, CoreExpr)
- coreBindSymbols :: CoreBind -> [Symbol]
- simplesymbol :: NamedThing t => t -> Symbol
- binders :: Bind a -> [a]
- expandVarType :: Var -> Type
- isPredExpr :: CoreExpr -> Bool
- isPredVar :: Var -> Bool
- isPredType :: Type -> Bool
- anyF :: [a -> Bool] -> a -> Bool
- defaultDataCons :: Type -> [AltCon] -> Maybe [(DataCon, [TyVar], [Type])]
- isEvVar :: Id -> Bool
Documentation
isAnonBinder :: TyConBinder -> Bool #
srcSpanTick :: Module -> SrcSpan -> Tickish a #
Encoding and Decoding Location --------------------------------------------
tickSrcSpan :: Outputable a => Tickish a -> SrcSpan #
stringTyVar :: String -> TyVar #
Generic Helpers for Accessing GHC Innards ---------------------------------
hasBaseTypeVar :: Var -> Bool #
isBaseType :: Type -> Bool #
isTmpSymbol :: Symbol -> Bool #
validTyVar :: String -> Bool #
unTickExpr :: CoreExpr -> CoreExpr #
isFractionalClass :: Class -> Bool #
notracePpr :: Outputable a => String -> a -> a #
Pretty Printers -----------------------------------------------------------
tracePpr :: Outputable a => String -> a -> a #
pprDoc :: Outputable a => a -> Doc #
showPpr :: Outputable a => a -> String #
showSDocDump :: SDoc -> String #
typeUniqueString :: Outputable a => a -> String #
Manipulating Source Spans -------------------------------------------------
Instances
Eq Loc # | |
Ord Loc # | |
Show Loc # | |
Hashable Loc # | |
Defined in Language.Haskell.Liquid.GHC.Misc | |
ToJSON Loc | |
Defined in Language.Haskell.Liquid.UX.Annotate |
fSourcePos :: Loc a => a -> SourcePos #
fSrcSpanSrcSpan :: SrcSpan -> SrcSpan #
srcSpanFSrcSpan :: SrcSpan -> SrcSpan #
sourcePos2SrcSpan :: SourcePos -> SourcePos -> SrcSpan #
sourcePosSrcSpan :: SourcePos -> SrcSpan #
sourcePosSrcLoc :: SourcePos -> SrcLoc #
srcSpanSourcePos :: SrcSpan -> SourcePos #
srcSpanSourcePosE :: SrcSpan -> SourcePos #
srcSpanFilename :: SrcSpan -> String #
srcSpanStartLoc :: RealSrcSpan -> Loc #
srcSpanEndLoc :: RealSrcSpan -> Loc #
oneLine :: RealSrcSpan -> Bool #
lineCol :: RealSrcSpan -> (Int, Int) #
getSourcePos :: NamedThing a => a -> SourcePos #
getSourcePosE :: NamedThing a => a -> SourcePos #
locNamedThing :: NamedThing a => a -> Located a #
namedLocSymbol :: (Symbolic a, NamedThing a) => a -> Located Symbol #
varLocInfo :: (Type -> a) -> Var -> Located a #
namedPanic :: NamedThing a => a -> String -> b #
collectArguments :: Int -> CoreExpr -> [Var] #
Manipulating CoreExpr -----------------------------------------------------
ignoreLetBinds :: Expr t -> Expr t #
Predicates on CoreExpr and DataCons ---------------------------------------
idDataConM :: Id -> Maybe DataCon #
isDataConId :: Id -> Bool #
getDataConVarUnique :: Var -> Unique #
realTcArity :: TyCon -> Arity #
kindTCArity :: TyCon -> Arity #
uniqueHash :: Uniquable a => Int -> a -> Int #
lookupRdrName :: HscEnv -> ModuleName -> RdrName -> IO (Maybe Name) #
symbolTyConWithKind :: Kind -> Char -> Int -> Symbol -> TyCon #
Symbol Conversions --------------------------------------------------------
symbolTyCon :: Char -> Int -> Symbol -> TyCon #
symbolTyVar :: Symbol -> TyVar #
localVarSymbol :: Var -> Symbol #
exportedVarSymbol :: Var -> Symbol #
qualifiedNameSymbol :: Name -> Symbol #
fastStringText :: FastString -> Text #
tyConTyVarsDef :: TyCon -> [TyVar] #
splitModuleName :: Symbol -> (Symbol, Symbol) #
Manipulating Symbols ------------------------------------------------------
dropModuleNamesAndUnique :: Symbol -> Symbol #
dropModuleNames :: Symbol -> Symbol #
dropModuleNamesCorrect :: Symbol -> Symbol #
takeModuleNames :: Symbol -> Symbol #
dropModuleUnique :: Symbol -> Symbol #
sepModNames :: Text #
qualifySymbol :: Symbol -> Symbol -> Symbol #
isQualifiedSym :: Symbol -> Bool #
isQualified :: Text -> Bool #
wrapParens :: (IsString a, Monoid a) => a -> a #
isDictionary :: Symbolic a => a -> Bool #
isInternal :: Symbolic a => a -> Bool #
stripParens :: Text -> Text #
stripParensSym :: Symbol -> Symbol #
gHC_VERSION :: String #
GHC Compatibility Layer ---------------------------------------------------
symbolFastString :: Symbol -> FastString #
lintCoreBindings :: [Var] -> CoreProgram -> (Bag MsgDoc, Bag MsgDoc) #
synTyConRhs_maybe :: TyCon -> Maybe Type #
ignoreCoreBinds :: HashSet Var -> [CoreBind] -> [CoreBind] #
coreBindSymbols :: CoreBind -> [Symbol] #
simplesymbol :: NamedThing t => t -> Symbol #
expandVarType :: Var -> Type #
isPredExpr :: CoreExpr -> Bool #
isPredType :: Type -> Bool #
defaultDataCons :: Type -> [AltCon] -> Maybe [(DataCon, [TyVar], [Type])] #
'defaultDataCons t ds' returns the list of '(dc, types)' pairs,
corresponding to the _missing_ cases, i.e. _other_ than those in ds
,
that are being handled by DEFAULT.
Orphan instances
Show Class # | |
Show Var # | |
Show TyCon # | |
Show Name # | |
NFData Class # | |
NFData Type # | |
NFData Var # | |
NFData TyCon # | |
Symbolic Class # | |
Symbolic Var # |
|
Symbolic FastString # | |
symbol :: FastString -> Symbol | |
Symbolic TyCon # | Symbol Instances |
Symbolic Name # | |
Fixpoint Type # | |
Fixpoint Var # | |
Fixpoint Name # | |
Loc Var # | |
Hashable DataCon # | |
Hashable Var # | |
Hashable SrcSpan # | |
Hashable TyCon # | |
Outputable a => Outputable (HashSet a) # | |