Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
CFG.Build
Documentation
Instances
Generic SymVarMap Source # | |
Show SymVarMap Source # | |
type Rep SymVarMap Source # | |
Defined in CFG.Build type Rep SymVarMap = D1 ('MetaData "SymVarMap" "CFG.Build" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "SymVarMap" 'PrefixI 'True) (S1 ('MetaSel ('Just "m") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Map Name VID)) :*: S1 ('MetaSel ('Just "parent") 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 (Maybe ScopeID)))) |
Constructors
CFGState | |
Instances
updateCFG :: GraphBuilder BBID BasicBlock CFGEdge a -> CFGBuild () Source #
data CFGContext Source #
Constructors
CFGContext | |
Fields |
Instances
Generic CFGContext Source # | |
MonadReader CFGContext CFGBuild Source # | |
Defined in CFG.Build Methods ask :: CFGBuild CFGContext # local :: (CFGContext -> CFGContext) -> CFGBuild a -> CFGBuild a # reader :: (CFGContext -> a) -> CFGBuild a # | |
type Rep CFGContext Source # | |
Defined in CFG.Build type Rep CFGContext = D1 ('MetaData "CFGContext" "CFG.Build" "decaf-0.1.0.0-GF5ZfPyXbr16gB58O7mLnT" 'False) (C1 ('MetaCons "CFGContext" 'PrefixI 'True) (S1 ('MetaSel ('Just "semantic") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 SemanticInfo))) |
Constructors
CFGBuild | |
Fields
|
Instances
Applicative CFGBuild Source # | |
Functor CFGBuild Source # | |
Monad CFGBuild Source # | |
MonadError CompileError CFGBuild Source # | |
Defined in CFG.Build Methods throwError :: CompileError -> CFGBuild a # catchError :: CFGBuild a -> (CompileError -> CFGBuild a) -> CFGBuild a # | |
MonadReader CFGContext CFGBuild Source # | |
Defined in CFG.Build Methods ask :: CFGBuild CFGContext # local :: (CFGContext -> CFGContext) -> CFGBuild a -> CFGBuild a # reader :: (CFGContext -> a) -> CFGBuild a # | |
MonadState CFGState CFGBuild Source # | |
setASTScope :: ScopeID -> CFGBuild () Source #
setFunctionEntry :: BBID -> CFGBuild () Source #
setFunctionExit :: BBID -> CFGBuild () Source #
getBasicBlock' :: BBID -> CFGBuild BasicBlock Source #
checkStmts :: CFGBuild () Source #
patchPhiNode :: BBID -> BBID -> Map (ScopeID, Name) Var -> BBID -> Map (ScopeID, Name) Var -> CFGBuild () Source #
buildCFGs :: ASTRoot -> CFGContext -> Either [CompileError] SingleFileCFG Source #
handleImportFunctions :: [ImportDecl] -> CFGBuild [Name] Source #
buildMethod :: MethodDecl -> CFGBuild CFG Source #
defaultImm :: Type -> VarOrImm Source #
replaceExitBlock :: BBID -> MethodDecl -> CFGBuild BBID Source #
buildMethodCall :: MethodCall -> Type -> CFGBuild Var Source #