Uses of Record Class
org.ek9lang.compiler.ir.data.ControlFlowChainDetails
Packages that use ControlFlowChainDetails
Package
Description
-
Uses of ControlFlowChainDetails in org.ek9lang.compiler.ir.data
Methods in org.ek9lang.compiler.ir.data that return ControlFlowChainDetailsModifier and TypeMethodDescriptionstatic ControlFlowChainDetailsControlFlowChainDetails.createComparisonCoalescing(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId, String chainType) Create details for comparison coalescing operators (<?, >?, <=?, >=?).static ControlFlowChainDetailsControlFlowChainDetails.createDoWhileExpression(String result, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a do-while expression (result <- do { body } while condition).static 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.createElvisCoalescing(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for an Elvis Coalescing operator (:?).static ControlFlowChainDetailsControlFlowChainDetails.createForInExpression(String result, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a for-in expression (result <- for item in collection).static ControlFlowChainDetailsControlFlowChainDetails.createForRangeExpression(String result, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a for-range expression (result <- for i in start ..< end).static ControlFlowChainDetailsControlFlowChainDetails.createIfElse(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for an if/else statement.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.createNullCoalescing(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a Null Coalescing operator (??).static ControlFlowChainDetailsControlFlowChainDetails.createQuestionOperator(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a Question operator (?).static ControlFlowChainDetailsControlFlowChainDetails.createSwitchExpression(String result, EvaluationVariableDetails evaluationDetails, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a switch expression (result <- switch expr).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.createTernaryOperator(String result, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a Ternary operator (condition <- thenValue : elseValue).static ControlFlowChainDetailsControlFlowChainDetails.createTryCatchExpression(String result, ReturnVariableDetails returnDetails, TryBlockDetails tryBlockDetails, List<ConditionCaseDetails> catchHandlers, List<IRInstr> finallyBlockEvaluation, DebugInfo debugInfo, String scopeId) Create details for a try-catch expression (result <- try { expr } catch { handler }).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.createWhileExpression(String result, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a while expression (result <- while condition).static ControlFlowChainDetailsControlFlowChainDetails.createWhileLoop(List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a while loop (statement form).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). -
Uses of ControlFlowChainDetails in org.ek9lang.compiler.ir.instructions
Methods in org.ek9lang.compiler.ir.instructions with parameters of type ControlFlowChainDetailsModifier and TypeMethodDescriptionstatic ControlFlowChainInstrControlFlowChainInstr.controlFlowChain(ControlFlowChainDetails details) Create a unified switch chain block instruction. -
Uses of ControlFlowChainDetails in org.ek9lang.compiler.phase7.generator
Classes in org.ek9lang.compiler.phase7.generator that implement interfaces with type arguments of type ControlFlowChainDetailsModifier and TypeClassDescriptionfinal classUnified IR generator for EK9 control flow operators using CONTROL_FLOW_CHAIN.Methods in org.ek9lang.compiler.phase7.generator with parameters of type ControlFlowChainDetailsModifier and TypeMethodDescriptionControlFlowChainGenerator.apply(ControlFlowChainDetails details) 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.