Uses of Record Class
org.ek9lang.compiler.ir.data.GuardVariableDetails
Packages that use GuardVariableDetails
-
Uses of GuardVariableDetails in org.ek9lang.compiler.ir.data
Methods in org.ek9lang.compiler.ir.data that return GuardVariableDetailsModifier and TypeMethodDescriptionstatic GuardVariableDetailsGuardVariableDetails.create(List<String> guardVariables, List<IRInstr> guardScopeSetup, String guardScopeId, String conditionScopeId) Create guard variable details for IF/SWITCH (no entry check needed - evaluates with condition).static GuardVariableDetailsGuardVariableDetails.createWithEntryCheck(List<String> guardVariables, List<IRInstr> guardScopeSetup, List<IRInstr> guardEntryCheck, String guardEntryCheckPrimitive, String guardEntryCheckResult, String guardScopeId) Create guard variable details for WHILE/DO-WHILE loops (with entry check).ControlFlowChainDetails.guardDetails()Returns the value of theguardDetailsrecord component.static GuardVariableDetailsGuardVariableDetails.none()Create empty guard variable details (no guards).Methods in org.ek9lang.compiler.ir.data with parameters of type GuardVariableDetailsModifier and TypeMethodDescriptionstatic ControlFlowChainDetailsControlFlowChainDetails.createDoWhileLoopUnified(GuardVariableDetails guardDetails, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Unified factory for do-while loops - automatically selects expression or statement form.static ControlFlowChainDetailsControlFlowChainDetails.createDoWhileLoopWithGuards(GuardVariableDetails guardDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a do-while loop with guard variables (statement form).static ControlFlowChainDetailsControlFlowChainDetails.createIfElseWithGuards(String result, GuardVariableDetails guardDetails, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for an if/else statement with guard variables.static ControlFlowChainDetailsControlFlowChainDetails.createSwitchWithGuards(String result, GuardVariableDetails guardDetails, String evaluationVariable, String evaluationVariableType, String returnVariable, String returnVariableType, List<IRInstr> returnVariableSetup, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a switch statement with guard variable support.static ControlFlowChainDetailsControlFlowChainDetails.createTryCatchFinally(String result, GuardVariableDetails guardDetails, ReturnVariableDetails returnDetails, TryBlockDetails tryBlockDetails, List<ConditionCaseDetails> catchHandlers, List<IRInstr> finallyBlockEvaluation, DebugInfo debugInfo, String scopeId) Create details for a try/catch/finally construct.static ControlFlowChainDetailsControlFlowChainDetails.createWhileLoopUnified(GuardVariableDetails guardDetails, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Unified factory for while loops - automatically selects expression or statement form.static ControlFlowChainDetailsControlFlowChainDetails.createWhileLoopWithGuards(GuardVariableDetails guardDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a while loop with guard variables (statement form).Constructors in org.ek9lang.compiler.ir.data with parameters of type GuardVariableDetailsModifierConstructorDescriptionControlFlowChainDetails(String result, String chainType, GuardVariableDetails guardDetails, EvaluationVariableDetails evaluationDetails, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DefaultCaseDetails defaultDetails, TryBlockDetails tryBlockDetails, List<IRInstr> finallyBlockEvaluation, DebugInfo debugInfo, String scopeId) Creates an instance of aControlFlowChainDetailsrecord class. -
Uses of GuardVariableDetails in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator that return GuardVariableDetailsModifier and TypeMethodDescriptionLoopGuardHelper.evaluateGuardVariable(EK9Parser.PreFlowStatementContext preFlowStmt, String guardScopeId) Evaluate guard variable for control flow constructs.Methods in org.ek9lang.compiler.phase7.generator with parameters of type GuardVariableDetailsModifier and TypeMethodDescriptionLoopGuardHelper.wrapBodyWithGuardEntryCheck(GuardVariableDetails guardDetails, List<IRInstr> bodyInstructions, String guardScopeId, DebugInfo debugInfo) Wrap body instructions in an IF_ELSE_IF that checks the guard entry condition.LoopGuardHelper.wrapChainWithGuardEntryCheck(GuardVariableDetails guardDetails, ControlFlowChainDetails chainDetails, String guardScopeId, DebugInfo debugInfo) Wrap a ControlFlowChainDetails (loop or try) in an IF_ELSE_IF that checks the guard entry condition.LoopGuardHelper.wrapExpressionFormWithGuardEntryCheck(GuardVariableDetails guardDetails, List<IRInstr> returnVariableSetup, List<IRInstr> bodyInstructionsWithoutRtn, String guardScopeId, DebugInfo debugInfo) Wrap body instructions in an IF_ELSE_IF for EXPRESSION FORM with return variable.