zeolite-lang-0.20.0.1: Zeolite is a statically-typed, general-purpose programming language.
Safe HaskellTrustworthy
LanguageHaskell2010

Compilation.ProcedureContext

Documentation

data ProcedureContext c Source #

Instances

Instances details
(Show c, CollectErrorsM m) => CompilerContext c m [String] (ProcedureContext c) Source # 
Instance details

Defined in Compilation.ProcedureContext

Methods

ccCurrentScope :: ProcedureContext c -> m SymbolScope Source #

ccResolver :: ProcedureContext c -> m AnyTypeResolver Source #

ccSameType :: ProcedureContext c -> TypeInstance -> m Bool Source #

ccSelfType :: ProcedureContext c -> m TypeInstance Source #

ccAllFilters :: ProcedureContext c -> m ParamFilters Source #

ccGetParamScope :: ProcedureContext c -> ParamName -> m SymbolScope Source #

ccAddRequired :: ProcedureContext c -> Set CategoryName -> m (ProcedureContext c) Source #

ccGetRequired :: ProcedureContext c -> m (Set CategoryName) Source #

ccGetCategoryFunction :: ProcedureContext c -> [c] -> Maybe CategoryName -> FunctionName -> m (ScopedFunction c) Source #

ccGetTypeFunction :: ProcedureContext c -> [c] -> Maybe GeneralInstance -> FunctionName -> m (ScopedFunction c) Source #

ccCheckValueInit :: ProcedureContext c -> [c] -> TypeInstance -> ExpressionType -> m () Source #

ccGetVariable :: ProcedureContext c -> UsedVariable c -> m (VariableValue c) Source #

ccAddVariable :: ProcedureContext c -> UsedVariable c -> VariableValue c -> m (ProcedureContext c) Source #

ccSetDeferred :: ProcedureContext c -> UsedVariable c -> m (ProcedureContext c) Source #

ccSetReadOnly :: ProcedureContext c -> UsedVariable c -> m (ProcedureContext c) Source #

ccSetHidden :: ProcedureContext c -> UsedVariable c -> m (ProcedureContext c) Source #

ccCheckVariableInit :: ProcedureContext c -> [UsedVariable c] -> m () Source #

ccWrite :: ProcedureContext c -> [String] -> m (ProcedureContext c) Source #

ccGetOutput :: ProcedureContext c -> m [String] Source #

ccClearOutput :: ProcedureContext c -> m (ProcedureContext c) Source #

ccUpdateAssigned :: ProcedureContext c -> VariableName -> m (ProcedureContext c) Source #

ccAddUsed :: ProcedureContext c -> UsedVariable c -> m (ProcedureContext c) Source #

ccInheritUsed :: ProcedureContext c -> ProcedureContext c -> m (ProcedureContext c) Source #

ccInheritStatic :: ProcedureContext c -> [ProcedureContext c] -> m (ProcedureContext c) Source #

ccInheritDeferred :: ProcedureContext c -> DeferVariable c -> m (ProcedureContext c) Source #

ccRegisterReturn :: ProcedureContext c -> [c] -> Maybe ExpressionType -> m (ProcedureContext c) Source #

ccPrimNamedReturns :: ProcedureContext c -> m [ReturnVariable] Source #

ccIsUnreachable :: ProcedureContext c -> m Bool Source #

ccIsNamedReturns :: ProcedureContext c -> m Bool Source #

ccSetJumpType :: ProcedureContext c -> [c] -> JumpType -> m (ProcedureContext c) Source #

ccStartLoop :: ProcedureContext c -> LoopSetup [String] -> m (ProcedureContext c) Source #

ccGetLoop :: ProcedureContext c -> m (LoopSetup [String]) Source #

ccStartCleanup :: ProcedureContext c -> [c] -> m (ProcedureContext c) Source #

ccPushCleanup :: ProcedureContext c -> ProcedureContext c -> m (ProcedureContext c) Source #

ccGetCleanup :: ProcedureContext c -> JumpType -> m (CleanupBlock c [String]) Source #

ccExprLookup :: ProcedureContext c -> [c] -> MacroName -> m (Expression c) Source #

ccReserveExprMacro :: ProcedureContext c -> [c] -> MacroName -> m (ProcedureContext c) Source #

ccReleaseExprMacro :: ProcedureContext c -> [c] -> MacroName -> m (ProcedureContext c) Source #

ccSetNoTrace :: ProcedureContext c -> Bool -> m (ProcedureContext c) Source #

ccGetNoTrace :: ProcedureContext c -> m Bool Source #

ccAddTrace :: ProcedureContext c -> String -> m (ProcedureContext c) Source #

ccGetTraces :: ProcedureContext c -> m [String] Source #