Uses of Class
org.ek9lang.antlr.EK9Parser.PreFlowStatementContext
Packages that use EK9Parser.PreFlowStatementContext
Package
Description
Common parts of processing that can be reused across various phases.
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
G - Full Symbol Resolution can now take place.
I - PRE Intermediate Representation generation checks.
Contains critical general components used in the
Ek9Compiler listeners.-
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.antlr
Methods in org.ek9lang.antlr that return EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionEK9Parser.ForLoopContext.preFlowStatement()EK9Parser.ForRangeContext.preFlowStatement()EK9Parser.PreFlowAndControlContext.preFlowStatement()EK9Parser.preFlowStatement()EK9Parser.TryStatementExpressionContext.preFlowStatement()EK9Parser.WhileStatementExpressionContext.preFlowStatement()Methods in org.ek9lang.antlr with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionvoidEK9BaseListener.enterPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Enter a parse tree produced byEK9Parser.preFlowStatement().voidEK9Listener.enterPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Enter a parse tree produced byEK9Parser.preFlowStatement().voidEK9BaseListener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Exit a parse tree produced byEK9Parser.preFlowStatement().voidEK9Listener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Exit a parse tree produced byEK9Parser.preFlowStatement().EK9BaseVisitor.visitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Visit a parse tree produced byEK9Parser.preFlowStatement().EK9Visitor.visitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) Visit a parse tree produced byEK9Parser.preFlowStatement(). -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.common
Classes in org.ek9lang.compiler.common that implement interfaces with type arguments of type EK9Parser.PreFlowStatementContextModifier and TypeClassDescriptionfinal classAccess the Symbol for the lhs of the preflow statement.Methods in org.ek9lang.compiler.common with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionLhsFromPreFlowOrError.apply(EK9Parser.PreFlowStatementContext ctx) -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.phase1
Methods in org.ek9lang.compiler.phase1 with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionvoidDefinitionListener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) preFlowStatement : (variableDeclaration | assignmentStatement) (WITH|THEN) ; -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.phase3
Classes in org.ek9lang.compiler.phase3 that implement interfaces with type arguments of type EK9Parser.PreFlowStatementContextModifier and TypeClassDescription(package private) final classChecks that the pre-flow expressions are valid.Methods in org.ek9lang.compiler.phase3 with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescription(package private) voidInjectedSetCheckOrError.accept(EK9Parser.PreFlowStatementContext ctx) A declaration or assignment pre-flow whose value is the injected variable:if svc <- injected,if svc := injected then svc?.voidPreFlowStatementOrError.accept(EK9Parser.PreFlowStatementContext ctx) voidExpressionsListener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.phase5
Classes in org.ek9lang.compiler.phase5 that implement interfaces with type arguments of type EK9Parser.PreFlowStatementContextModifier and TypeClassDescription(package private) final classExtracts the EXISTING variable a pre-flow assigns: the target of a blind assignment (v := e()) or an assign-if-unset (v :=? e()).Methods in org.ek9lang.compiler.phase5 with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescription(package private) voidSafeAccessRepointOrError.accept(EK9Parser.PreFlowStatementContext ctx) A construct's pre-flow, judged by its marker before the marker makes the construct safe.(package private) voidRedundantIsSetCheckOrError.acceptGate(EK9Parser.PreFlowStatementContext preFlow, ConditionResult targetBefore, boolean storesUnset) The implicit gate of a guard head (<-or:=?), judged once the pre-flow's store has been tracked (D7.1).GetGuardVariable.apply(EK9Parser.PreFlowStatementContext ctx) voidPreIRListener.enterPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) voidLockAnalysisListener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) voidPreIRListener.exitPreFlowStatement(EK9Parser.PreFlowStatementContext ctx) PossibleExpressionConstruct.getPreFlowAssignedVariables(EK9Parser.PreFlowStatementContext ctx) The EXISTING variables the pre-flow assigns, which are initialised after the construct whether or not its body runs - seeGetGuardVariable.Constructor parameters in org.ek9lang.compiler.phase5 with type arguments of type EK9Parser.PreFlowStatementContextModifierConstructorDescription(package private)ConstructSafeAccessMarker(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener, Function<C, EK9Parser.PreFlowStatementContext> preFlowOf, Function<C, EK9Parser.ExpressionContext> controlOf, Function<C, IScope> safeScopeOf, Function<C, org.antlr.v4.runtime.ParserRuleContext> conditionEndOf, ContainerChangedBetween containerChangedBetween) -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionGuardedConditionEvaluator.evaluate(EK9Parser.ExpressionContext conditionExpr, EK9Parser.PreFlowStatementContext preFlowStmt, VariableDetails conditionResult, String scopeId, DebugInfo debugInfo) Evaluates a condition expression that may have guard variables.LoopGuardHelper.evaluateGuardVariable(EK9Parser.PreFlowStatementContext preFlowStmt, String guardScopeId) Evaluate guard variable for control flow constructs.LoopGuardHelper.evaluatePreFlowSetupOnly(EK9Parser.PreFlowStatementContext preFlowStmt) Emit ONLY the preflow variable setup (declaration/assignment) with NO guard entry check.GuardedScopeOrchestrator.orchestrate(org.antlr.v4.runtime.tree.ParseTree ctx, EK9Parser.PreFlowStatementContext preFlowStmt, EK9Parser.ReturningParamContext returningParam, Function<GuardedScopeOrchestrator.OrchestratorContext, List<IRInstr>> coreGenerator) Orchestrate for constructs whose core producesList<IRInstr>.GuardedScopeOrchestrator.orchestrate(org.antlr.v4.runtime.tree.ParseTree ctx, EK9Parser.PreFlowStatementContext preFlowStmt, EK9Parser.ReturningParamContext returningParam, Function<GuardedScopeOrchestrator.OrchestratorContext, List<IRInstr>> coreGenerator, boolean coreManagesReturnSetup) Orchestrate with control over return-variable setup placement.GuardedScopeOrchestrator.orchestrateChain(org.antlr.v4.runtime.tree.ParseTree ctx, EK9Parser.PreFlowStatementContext preFlowStmt, EK9Parser.ReturningParamContext returningParam, Function<GuardedScopeOrchestrator.OrchestratorContext, ControlFlowChainDetails> coreGenerator) Orchestrate for constructs whose core producesControlFlowChainDetails.GuardedConditionEvaluator.preFlowSetup(EK9Parser.PreFlowStatementContext preFlowStmt) THE emission of a pre-flow's setup (FLOW-1): the declaration ofv <- e()or the assignment ofv := e()/v :=? e(), registered in the CURRENT stack scope.(package private) ISymbolGuardedConditionEvaluator.preFlowTargetSymbol(EK9Parser.PreFlowStatementContext preFlowStmt) THE recorded symbol of the variable a pre-flow declares or assigns (FLOW-1).LoopGuardHelper.preFlowTargetSymbol(EK9Parser.PreFlowStatementContext preFlowStmt) THE recorded symbol of the variable a pre-flow declares or assigns (FLOW-1), for the constructs that read it themselves (a switch's discriminant). -
Uses of EK9Parser.PreFlowStatementContext in org.ek9lang.compiler.support
Classes in org.ek9lang.compiler.support that implement interfaces with type arguments of type EK9Parser.PreFlowStatementContextModifier and TypeClassDescriptionfinal classTHE Boolean truth guard rule (Steve, 2026-10-07, decision D9.2) - use this, do not re-derive it.final classTHE test of a guard (PreFlowCanSkipBody) whose skipping skips a WHOLEswitchortry- its other cases, default, catch and finally too (D40) - so an analysis records the state there as a skip path and joins it back after the construct.final classTHE node whose recorded symbol is a guard's TARGET - the variable its implicit gate set-checks: thevariableDeclarationofv <- e(), or the identifier ofv :=? e().final classTHE single definition of "can this control-flow pre-flow skip the construct body?".final classTHE operator token of a pre-flow (<-,:=?,:=...): whatPreFlowCanSkipBodyclassifies, and the error location of a check on the guard itself.Methods in org.ek9lang.compiler.support with parameters of type EK9Parser.PreFlowStatementContextModifier and TypeMethodDescriptionBooleanTruthGuard.apply(EK9Parser.PreFlowStatementContext preFlow, ISymbol ek9Boolean) The target of a Boolean truth guard, if this pre-flow is one.Optional<org.antlr.v4.runtime.tree.ParseTree> GuardTargetNode.apply(EK9Parser.PreFlowStatementContext preFlow) The node to read the guard's target from.Optional<org.antlr.v4.runtime.Token> PreFlowOperatorToken.apply(EK9Parser.PreFlowStatementContext preFlow) The operator token of the pre-flow, if there is one.booleanGuardSkipsWholeSwitchOrTry.test(EK9Parser.PreFlowStatementContext preFlow) True if the guard's skip path bypasses the whole construct.booleanPreFlowCanSkipBody.test(EK9Parser.PreFlowStatementContext preFlow) True iff this pre-flow is a body-skipping guard (<-,:=?).