Uses of Record Class
org.ek9lang.compiler.ir.support.DebugInfo
Packages that use DebugInfo
Package
Description
JVM Bytecode Generation - Transforms EK9 IR into JVM bytecode.
JVM Backend Support Utilities - Extracted utilities for bytecode generation.
IR Data Structures - Metadata and detail classes for IR instructions.
IR Instruction Classes - The instruction set for EK9 intermediate representation.
IR Support Utilities - Helper classes for IR generation and processing.
K - Intermediate Representation Generation.
Synthetic operator and method generation for EK9.
Support classes for synthetic operator IR generation.
-
Uses of DebugInfo in org.ek9lang.compiler.backend.jvm
Methods in org.ek9lang.compiler.backend.jvm with parameters of type DebugInfoModifier and TypeMethodDescriptionvoidSmapGenerator.addMapping(DebugInfo debugInfo, int outputLineNumber) Add debug information from an IR instruction to the SMAP.protected voidAbstractAsmGenerator.generateDebugInfo(DebugInfo debugInfo) Generate debug line number from EK9 debug info if available. -
Uses of DebugInfo in org.ek9lang.compiler.backend.jvm.support
Methods in org.ek9lang.compiler.backend.jvm.support with parameters of type DebugInfoModifier and TypeMethodDescriptionvoidDebugInfoGenerator.generateDebugInfo(org.objectweb.asm.MethodVisitor mv, DebugInfo debugInfo) Generate debug line number from EK9 debug info if available. -
Uses of DebugInfo in org.ek9lang.compiler.ir.data
Methods in org.ek9lang.compiler.ir.data that return DebugInfoModifier and TypeMethodDescriptionAspectProxyDetails.debugInfo()Returns the value of thedebugInforecord component.ControlFlowChainDetails.debugInfo()Returns the value of thedebugInforecord component.DispatchTableDetails.debugInfo()Returns the value of thedebugInforecord component.EnumIteratorImplDetails.debugInfo()Returns the value of thedebugInforecord component.LogicalDetails.debugInfo()Returns the value of thedebugInforecord component.ServiceRegistrationDetails.debugInfo()Returns the value of thedebugInforecord component.ServiceRouteDetails.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.ir.data with parameters of type DebugInfoModifier 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).static EnumIteratorImplDetailsEnumIteratorImplDetails.forBaseEnum(String enumTypeName, String superTypeName, List<String> enumValues, String resultVariable, DebugInfo debugInfo) Details for a base enumeration (each value is a freshenumTypeNameinstance, ordinal = index).static EnumIteratorImplDetailsEnumIteratorImplDetails.forConstrainedEnum(String enumTypeName, String superTypeName, List<String> enumValues, String baseEnumTypeName, List<Integer> baseOrdinals, String resultVariable, DebugInfo debugInfo) Details for a constrained enumeration: yield theenumValuesSUBSET (with theirbaseOrdinals) ofbaseEnumTypeName, each WRAPPED inenumTypeNamevia its(baseEnum)constructor.Constructors in org.ek9lang.compiler.ir.data with parameters of type DebugInfoModifierConstructorDescriptionAspectProxyDetails(String baseTypeFqn, String delegateTypeFqn, String delegateTemp, List<String> aspectTemps, List<String> aspectTypeFqns, List<AspectProxyDetails.ProxyMethodInfo> proxyMethods, String resultVariable, IToken sourceToken, DebugInfo debugInfo) Create aspect proxy details with validation.ControlFlowChainDetails(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.DispatchTableDetails(String selfTypeFqn, String methodName, String returnTypeFqn, List<String> paramNames, List<String> baseTypeFqns, List<DispatchTableDetails.DispatchEntry> entries, DebugInfo debugInfo) Create dispatch table details with validation.EnumIteratorImplDetails(String enumTypeName, String superTypeName, List<String> enumValues, String baseEnumTypeName, List<Integer> baseOrdinals, String resultVariable, DebugInfo debugInfo) Canonical constructor with validation and defensive copies.LogicalDetails(String result, OperandEvaluation leftEvaluation, ConditionalEvaluation conditionalEvaluation, OperandEvaluation rightEvaluation, OperandEvaluation resultEvaluation, DebugInfo debugInfo, String scopeId) Creates an instance of aLogicalDetailsrecord class.ServiceRegistrationDetails(String serviceFqn, ServiceRouteDetails routeDetails, DebugInfo debugInfo) Create service registration details with validation.ServiceRouteDetails(String serviceFqn, String baseUri, List<ServiceRouteDetails.RouteEntry> routes, DebugInfo debugInfo) Create service route details with validation. -
Uses of DebugInfo in org.ek9lang.compiler.ir.instructions
Methods in org.ek9lang.compiler.ir.instructions that return DebugInfoModifier and TypeMethodDescriptionField.getDebugInfo()Get debug information for this field.OperationInstr.getDebugInfo()Methods in org.ek9lang.compiler.ir.instructions that return types with arguments of type DebugInfoModifier and TypeMethodDescriptionIRInstr.getDebugInfo()Get debug information for this instruction.Methods in org.ek9lang.compiler.ir.instructions with parameters of type DebugInfoModifier and TypeMethodDescriptionstatic AssertThrowsInstrAssertThrowsInstr.assertDoesNotThrow(List<IRInstr> bodyInstructions, String message, String scopeId, DebugInfo debugInfo) Create ASSERT_DOES_NOT_THROW instruction.static AssertThrowsInstrAssertThrowsInstr.assertPanic(String result, List<IRInstr> bodyInstructions, String message, String scopeId, DebugInfo debugInfo) Create ASSERT_PANIC instruction.static AssertThrowsInstrAssertThrowsInstr.assertThrows(String result, String expectedType, List<IRInstr> bodyInstructions, String message, String scopeId, DebugInfo debugInfo) Create ASSERT_THROWS instruction.static BranchInstrBranchInstr.assertValue(String condition, String message, DebugInfo debugInfo) Create assert instruction with message and debug info: ASSERT condition, message.static BranchInstrBranchInstr.assertValue(String condition, DebugInfo debugInfo) Create assert instruction with debug info: ASSERT condition.static InputClassProbeInstrInputClassProbeInstr.assertWindowEnter(DebugInfo debugInfo) Open the §5.3 assert window — emitted immediately before an assert condition is evaluated.static InputClassProbeInstrInputClassProbeInstr.assertWindowExit(DebugInfo debugInfo) Close the §5.3 assert window opened byInputClassProbeInstr.assertWindowEnter(DebugInfo).static BranchInstrCreate unconditional branch: BRANCH target_label.static BranchInstrBranchInstr.branchIfFalse(String condition, String targetLabel, DebugInfo debugInfo) Create conditional branch if false: BRANCH_FALSE condition, target_label.static BranchInstrBranchInstr.branchIfTrue(String condition, String targetLabel, DebugInfo debugInfo) Create conditional branch if true: BRANCH_TRUE condition, target_label.static CallInstrCallInstr.call(String result, DebugInfo debugInfo, CallDetails callDetails) Create method call with complete type information from resolved symbols: CALL result = object.method(args...)static CallInstrCallInstr.callStatic(String result, DebugInfo debugInfo, CallDetails callDetails) Create static method call with complete type information: CALL_STATIC result = Type.method(args...)static CastInstrCreate instruction to cast source to target type and store in result.static CallInstrCallInstr.constructor(String result, DebugInfo debugInfo, CallDetails callDetails) Create constructor call with complete type information: CALL result = Type.<init>(args...)static DictLiteralInstrDictLiteralInstr.create(String result, List<IRInstr> setupInstructions, DictLiteralDetails details, String scopeId, DebugInfo debugInfo) Create a dict literal instruction.static ListLiteralInstrListLiteralInstr.create(String result, List<IRInstr> setupInstructions, ListLiteralDetails details, String scopeId, DebugInfo debugInfo) Create a list literal instruction.static ScopeInstrCreate scope enter instruction with debug info: SCOPE_ENTER scope_id.static ProfilingEntryInstrCreate a profiling entry instruction.static ProfilingExitInstrCreate a profiling exit instruction.static ScopeInstrCreate scope exit instruction with debug info: SCOPE_EXIT scope_id.static CoverageFinalizeInstrCreate a coverage finalize instruction with explicit output path.static CoverageFinalizeInstrCreate a coverage finalize instruction with default output path.static ForRangePolymorphicInstrForRangePolymorphicInstr.forRangePolymorphic(List<IRInstr> initializationInstructions, ForRangePolymorphicInstr.DispatchCases dispatchCases, ForRangePolymorphicInstr.LoopMetadata metadata, List<IRInstr> bodyInstructions, ForRangePolymorphicInstr.ScopeMetadata scopeMetadata, DebugInfo debugInfo) Create a polymorphic for-range loop instruction.static MemoryInstrMemoryInstr.functionInstance(String result, String functionType, DebugInfo debugInfo) Create FUNCTION_INSTANCE instruction with debug info: FUNCTION_INSTANCE result = FunctionType.static CastInstrCastInstr.instanceOf(String result, String source, String targetType, InstanceOfKind kind, DebugInfo debugInfo) Create instruction to check if source is instance of target type with explicit kind.static StringInterpolationInstrStringInterpolationInstr.interpolate(String result, List<IRInstr> setupInstructions, List<StringInterpolationPart> parts, String scopeId, DebugInfo debugInfo) Create a string interpolation instruction.static MemoryInstrCreate IS_NULL instruction with debug info: IS_NULL result = operand.static LabelInstrCreate label instruction with debug info: LABEL label_name.static MemoryInstrCreate LOAD instruction with debug info: LOAD dest = source_location.static MemoryInstrMemoryInstr.loadConstant(String result, String constantName, String moduleName, String typeName, DebugInfo debugInfo) Create LOAD_CONSTANT instruction: load from module constant storage.static MemoryInstrMemoryInstr.loadField(String destination, String objectVar, String fieldName, String ownerType, String fieldType, DebugInfo debugInfo) Create LOAD_FIELD instruction: load field value from object.static MemoryInstrMemoryInstr.loadStaticField(String result, String fieldName, String ownerType, String fieldType, DebugInfo debugInfo) Create LOAD_STATIC_FIELD instruction: load static field from class.static LiteralInstrLiteralInstr.objectFromLiteral(String result, String literalValue, String literalType, DebugInfo debugInfo) Create instruction to load a literal value as an EK9 object.static CallInstrCallInstr.operator(String result, DebugInfo debugInfo, CallDetails callDetails) Create EK9 operator call with complete type information: CALL result = object._operatorMethod(args...) Common operators: _add, _sub, _eq, _lt, _addAss, _isSet, etc.static PrimitiveLiteralInstrLiteralInstr.primitiveFromLiteral(String result, String literalValue, String primitiveType, DebugInfo debugInfo) Create instruction to load a literal value as a primitive (int, boolean, java.lang.String).static CoverageProbeInstrCoverageProbeInstr.probe(CoverageProbeDetails probeDetails, DebugInfo debugInfo) Create a coverage probe instruction.static InputClassProbeInstrInputClassProbeInstr.probe(String constructFullyQualifiedName, String constructName, List<InputClassProbeArg> args, DebugInfo debugInfo) Create an input-class probe instruction.static MemoryInstrCreate REFERENCE instruction with debug info: REFERENCE variable_name, type_info.static CoverageRegisterInstrCoverageRegisterInstr.register(CoverageModuleDetails moduleDetails, DebugInfo debugInfo) Create a coverage register instruction.static ScopeInstrstatic MemoryInstrCreate RELEASE instruction with debug info: RELEASE object, decrement ARC.static MemoryInstrCreate RETAIN instruction with debug info: RETAIN object, i.e.static BranchInstrBranchInstr.returnValue(String value, DebugInfo debugInfo) Create return with value and debug info: RETURN value.static BranchInstrBranchInstr.returnVoid(DebugInfo debugInfo) Create return with no value and debug info: RETURN.static SanitizeInstrCreate instruction to sanitize a string and store in destination.static FieldField.staticField(ISymbol symbol, String name, String typeName, DebugInfo debugInfo) Factory method for creating a static field (e.g., enum constants).static MemoryInstrCreate STORE instruction with debug info: STORE dest_location = source.static MemoryInstrMemoryInstr.storeField(String objectVar, String fieldName, String ownerType, String fieldType, String value, DebugInfo debugInfo) Create STORE_FIELD instruction: store value into object field.static MemoryInstrMemoryInstr.storeStaticField(String fieldName, String ownerType, String fieldType, String value, DebugInfo debugInfo) Create STORE_STATIC_FIELD instruction: store value into static field.static ThrowInstrThrowInstr.throwException(String exceptionVariable, String exceptionType, DebugInfo debugInfo) Create throw instruction with exception object variable, type, and debug info.static MemoryInstrMemoryInstr.typedReference(String variableName, String typeInfo, DebugInfo debugInfo) Create TYPED_REFERENCE instruction: like REFERENCE but emits CHECKCAST after ACONST_NULL so ASM records the variable's type (not "Null") for correct stackmap frame computation.Constructors in org.ek9lang.compiler.ir.instructions with parameters of type DebugInfoModifierConstructorDescriptionCreate a new instance Field IR node.Create instruction with result and debug information.OperationInstr(ISymbol symbol, DebugInfo debugInfo) (package private)PrimitiveLiteralInstr(String result, String literalValue, String primitiveType, DebugInfo debugInfo) ProgramEntryPointInstr(List<ProgramDetails> availablePrograms, DebugInfo debugInfo) Create program entry point instruction with complete program metadata. -
Uses of DebugInfo in org.ek9lang.compiler.ir.support
Methods in org.ek9lang.compiler.ir.support that return DebugInfoModifier and TypeMethodDescriptionstatic DebugInfoDebugInfo.from(CompilableSource compilableSource, IToken token) Create DebugInfo from an ISymbol's source token.static DebugInfoCreate DebugInfo with just file and position (no original text). -
Uses of DebugInfo in org.ek9lang.compiler.phase7
Methods in org.ek9lang.compiler.phase7 that return DebugInfoModifier and TypeMethodDescription(package private) DebugInfoScenario2WrapperHelper.createDebugInfo()Methods in org.ek9lang.compiler.phase7 with parameters of type DebugInfoModifier and TypeMethodDescription(package private) StringScenario2WrapperHelper.extractPrimitiveBoolean(List<IRInstr> instructions, String booleanVar, DebugInfo debugInfo) Extract primitive boolean from Boolean object via _true() method.(package private) StringScenario2WrapperHelper.generateConstructorCallInstructions(List<IRInstr> instructions, String typeName, List<String> paramTypes, List<String> argNames, String scopeId, DebugInfo debugInfo) Generate a constructor call on a type and manage memory.(package private) StringScenario2WrapperHelper.generateUnsetBoolean(List<IRInstr> instructions, String scopeId, DebugInfo debugInfo) Generate an unset Boolean constructor call.(package private) StringScenario2WrapperHelper.generateVirtualCall(List<IRInstr> instructions, String targetVar, String targetType, String methodName, List<String> paramTypes, String returnType, List<String> argNames, String scopeId, DebugInfo debugInfo) Generate a virtual method call on a target and manage memory.(package private) StringScenario2WrapperHelper.loadDelegate(List<IRInstr> instructions, String scopeId, DebugInfo debugInfo) Generate delegate field load with memory management.(package private) voidScenario2WrapperHelper.storeReturnValue(List<IRInstr> instructions, String valueVar, DebugInfo debugInfo) Store a value into the return variable and retain for ownership transfer. -
Uses of DebugInfo in org.ek9lang.compiler.phase7.generation
Classes in org.ek9lang.compiler.phase7.generation that implement interfaces with type arguments of type DebugInfoModifier and TypeClassDescriptionfinal classCreates the debug information for the symbol provided.Methods in org.ek9lang.compiler.phase7.generation that return DebugInfoModifier and TypeMethodDescriptionIRGenerationContext.createDebugInfo(org.antlr.v4.runtime.Token token) Create debug info from an ANTLR token.IRGenerationContext.createDebugInfo(org.antlr.v4.runtime.tree.ParseTree ctx) Create debug info from a parse context.IRGenerationContext.createDebugInfo(Ek9Token token) Create debug info from a token.IRGenerationContext.createDebugInfo(IToken token) Create debug info from an EK9 IToken.IRInstructionBuilder.createDebugInfo(org.antlr.v4.runtime.Token token) Create debug info from an ANTLR token.IRInstructionBuilder.createDebugInfo(org.antlr.v4.runtime.tree.ParseTree ctx) IRInstructionBuilder.createDebugInfo(Ek9Token token) Create debug info from a token.IRInstructionBuilder.createDebugInfo(IToken token) Create debug info from an EK9 IToken.IRGenerationContext.createDebugInfoAlways(org.antlr.v4.runtime.Token token) Create debug info ALWAYS, regardless of debug mode flag.IRGenerationContext.createDebugInfoAlways(org.antlr.v4.runtime.tree.ParseTree ctx) Create debug info ALWAYS from a parse context, regardless of debug mode flag.IRStackFrame.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.phase7.generation that return types with arguments of type DebugInfoModifier and TypeMethodDescriptionIRGenerationContext.currentDebugInfo()Get current debug info from the stack.IRGenerationStack.currentDebugInfo()Get current debug info from the top frame.Methods in org.ek9lang.compiler.phase7.generation with parameters of type DebugInfoModifier and TypeMethodDescriptionstatic IRStackFrameIRStackFrame.basic(String scopeId, DebugInfo debugInfo, IRFrameType frameType) Create a basic frame with just scope and debug info.voidIRInstructionBuilder.callThisMethod(String targetTypeName, String methodName, String targetVariable, DebugInfo debugInfo) Create a method call on 'this' object with specific debug info.CoverageProbePlacer.createBranchFalseProbe(DebugInfo debugInfo) Create a branch-false (else) probe instruction.CoverageProbePlacer.createBranchTrueProbe(DebugInfo debugInfo) Create a branch-true (if/then) probe instruction.CoverageProbePlacer.createCatchBlockProbe(String exceptionType, DebugInfo debugInfo) Create a catch block probe instruction.CoverageProbePlacer.createCoverageFinalization(DebugInfo debugInfo) Create a coverage finalization instruction.CoverageProbePlacer.createFinallyBlockProbe(DebugInfo debugInfo) Create a finally block probe instruction.CoverageProbePlacer.createFunctionEntryProbe(DebugInfo debugInfo) Create a function entry probe instruction.CoverageProbePlacer.createInputClassProbe(ISymbol operationSymbol, DebugInfo debugInfo, String scopeId, IRGenerationContext stackContext) Create an input-class probe for a public construct's entry (the dynamic numerator, §5).CoverageProbePlacer.createLoopBodyProbe(DebugInfo debugInfo) Create a loop body probe instruction.CoverageProbePlacer.createModuleRegistration(DebugInfo debugInfo) Create a module registration instruction.CoverageProbePlacer.createProfilingEntryProbe(DebugInfo debugInfo) Create a profiling entry probe instruction.CoverageProbePlacer.createProfilingExitProbe(DebugInfo debugInfo) Create a profiling exit probe instruction.CoverageProbePlacer.createStatementProbe(DebugInfo debugInfo) Create a statement probe instruction.CoverageProbePlacer.createSwitchCaseProbe(String caseLabel, DebugInfo debugInfo) Create a switch case probe instruction.voidIRGenerationContext.enterMethodScope(String scopeId, DebugInfo debugInfo, IRFrameType frameType) Enter a method/function scope with fresh IRContext for counter isolation.voidIRGenerationContext.enterScope(String scopeId, DebugInfo debugInfo, IRFrameType frameType) Enter a new IR scope context.static IRStackFrameIRStackFrame.full(String scopeId, DebugInfo debugInfo, IRFrameType frameType, boolean hasLeftHandSide, Object contextData) Create a full frame with all parameters.voidIRInstructionBuilder.returnValue(String variableName, DebugInfo debugInfo) static IRStackFrameIRStackFrame.withContext(String scopeId, DebugInfo debugInfo, IRFrameType frameType, Object contextData) Create a frame with additional context data.static IRStackFrameIRStackFrame.withLeftHandSide(String scopeId, DebugInfo debugInfo, IRFrameType frameType, boolean hasLeftHandSide) Create a frame with left-hand side indication.Constructors in org.ek9lang.compiler.phase7.generation with parameters of type DebugInfoModifierConstructorDescriptionIRStackFrame(String scopeId, DebugInfo debugInfo, IRFrameType frameType, boolean hasLeftHandSide, Object contextData) Creates an instance of aIRStackFramerecord class. -
Uses of DebugInfo in org.ek9lang.compiler.phase7.generator
Methods in org.ek9lang.compiler.phase7.generator that return DebugInfoModifier and TypeMethodDescriptionReturningParamProcessor.createDebugInfo(EK9Parser.ReturningParamContext ctx) Create debug info from the returningParam context.BufferedStageParams.debugInfo()Returns the value of thedebugInforecord component.GuardedScopeOrchestrator.OrchestratorContext.debugInfo()Returns the value of thedebugInforecord component.StageWrapParams.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.phase7.generator with parameters of type DebugInfoModifier and TypeMethodDescriptionprotected voidAbstractStreamStageGenerator.addManagedCall(List<IRInstr> target, IRInstr callInstr, String resultVar, DebugInfo debugInfo) Append a single call instruction whose result is then RETAIN-ed and SCOPE_REGISTER-ed against the current scope, totarget.(package private) voidStreamPipelineMachinery.addReferenceAndRegister(List<IRInstr> target, boolean typed, String var, String type, String scopeId, DebugInfo debugInfo) DeclarevaroftypeinscopeId(a typed reference whentyped, otherwise a plain reference) and SCOPE_REGISTER it.(package private) StringStreamPipelineMachinery.appendBoundedCondition(List<IRInstr> conditionEvaluation, List<IRInstr> leftInstructions, String leftResult, String leftPrimitive, List<IRInstr> rightInstructions, String rightResult, String scopeId, DebugInfo debugInfo) Append a short-circuitLEFT AND RIGHTBoolean condition toconditionEvaluationand return the combined Boolean result variable.(package private) StringStreamPipelineMachinery.appendHeadBoundedCondition(List<IRInstr> conditionEvaluation, List<IRInstr> managedHasNext, String hasNextResult, StageState headState, String scopeId, DebugInfo debugInfo) Append a short-circuitcounter < limit AND hasNext()condition toconditionEvaluationand return the combined Boolean result variable.(package private) voidStreamEmissionEngine.applyAsyncBufferSortEmit(String asyncExecutorVar, ISymbol asyncProducesType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, DebugInfo debugInfo, List<IRInstr> instructions) Async-specific entry toStreamEmissionEngine.bufferSortEmit(String, String, String, String, CallDetails, ISymbol, List, EK9Parser.StreamPartContext, List, TerminalSetup, DebugInfo, List): drains the async executor (hasNext/next) and closes it after emission.(package private) voidStreamEmissionEngine.applyGroupingStage(StreamSource source, ISymbol consumedElementType, BucketTracker tracker, StageGroup preStageGroup, StageGroup postStageGroup, BoundaryConditionBuilder boundaryBuilder, TerminalSetup terminalSetup, List<IRInstr> instructions, DebugInfo debugInfo) Shared drain+emit engine for the consecutive-grouping stream stages (GROUP, SPLIT).(package private) SortSetupStreamEmissionEngine.applySortToCollection(List<EK9Parser.StreamPartContext> stages, IteratorSetup iteratorSetup, ISymbol elementType, IAggregateSymbol collectionType, DebugInfo debugInfo, List<IRInstr> instructions, boolean sourceUnbounded) (package private) voidStreamEmissionEngine.applyWindowedAsyncToCollection(List<EK9Parser.StreamPartContext> stages, int asyncIndex, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, IteratorSetup iteratorSetup, ISymbol elementType, ISymbol asyncProducesType, String asyncExecutorVar, TerminalSetup terminalSetup, DebugInfo debugInfo, List<IRInstr> instructions) Step C — the interleaved WINDOWED async driver for an unbounded source (the telemetry casecat udp | async | filter | head N | collect).Generate ARC-safe assignment instructions for a branch result.ExpressionResultAssigner.assignIfNeeded(String returnVariable, String branchResult, DebugInfo debugInfo) Conditionally generate assignment instructions.(package private) voidStreamEmissionEngine.bufferSortEmit(String sourceVar, String sourceTypeName, String hasNextMethod, String nextMethod, CallDetails closeCall, ISymbol bucketType, List<EK9Parser.StreamPartContext> preSortStages, EK9Parser.StreamPartContext sortStage, List<EK9Parser.StreamPartContext> postSortStages, TerminalSetup terminalSetup, DebugInfo debugInfo, List<IRInstr> instructions) AbstractAssertExprGenerator.buildAssertionBody(EK9Parser.ExpressionContext exprCtx, DebugInfo debugInfo) Build the assertion body with proper scope management.(package private) StageWrapResultStreamEmissionEngine.buildAsyncSubmitAction(String submitItemVar, ISymbol elementType, String asyncExecutorVar, String inFlightVar, String oneVar, ISymbol integerType, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, DebugInfo debugInfo) The per-item SUBMIT action shared by the windowed prime loop and the drain refill:executor.submit(item); inFlight++, wrapped in the pre-ASYNC stages (filter/map/etc.).(package private) ConditionAndPostLoopStreamPipelineMachinery.buildStreamLoop(IteratorSetup iteratorSetup, StageState headState, String itemVar, ISymbol itemType, boolean rawIterator, EK9Parser.StreamCatContext catCtx, StreamLoopSink sink, DebugInfo debugInfo) The unified iterator-driven stream while-loop skeleton: condition scope (hasNext(), with an optionalheadshort-circuit folded in whenheadState != null) + body scope (binditerator.next()then theStreamLoopSinkbody-tail) + theConditionAndPostLoopthe caller feeds tocreateWhileLoop.StreamEmissionEngine.buildWindowRefill(IteratorSetup iteratorSetup, boolean isRawIterator, String submitItemVar, ISymbol elementType, String asyncExecutorVar, String inFlightVar, String oneVar, ISymbol integerType, List<EK9Parser.StreamPartContext> preAsyncStages, List<StageState> preAsyncStageStates, String moreVar, DebugInfo debugInfo) The windowed drain's REFILL step:if (more AND source.hasNext()) { bind submitItem = next(); [pre-async stages]; submit(submitItem); inFlight++ }.(package private) voidStreamEmissionEngine.continueOverIterator(List<EK9Parser.StreamPartContext> stages, IteratorSetup sourceIter, ISymbol sourceElementType, TerminalSetup terminalSetup, DebugInfo debugInfo, List<IRInstr> instructions, boolean sourceUnbounded) Recursive pipeline TAIL driver: emit a stream given assourceIterthroughstagesto the terminal, with NO composition limit.protected VariableDetailsAbstractGenerator.createTempVariable(DebugInfo debugInfo) Create a temporary variable with associated debug info.(package private) DrainConditionStreamPipelineMachinery.drainCondition(String sourceVar, String sourceTypeName, String hasNextMethod, DebugInfo debugInfo) THE drain-loop condition:source.hasNext()evaluated in its own scope.(package private) voidStreamPipelineMachinery.drainNextIntoItem(List<IRInstr> body, String sourceVar, String sourceTypeName, String nextMethod, String castTypeName, String drainItemVar, DebugInfo debugInfo) THE drain-loop body preamble:raw = source.next()(typedAny), cast to the element type, then bound into the persistent drain item variable.(package private) IteratorSetupStreamPipelineMachinery.drainSourceToIterator(String sourceVar, String sourceTypeName, String hasNextMethod, String nextMethod, CallDetails closeCall, ISymbol bucketType, DebugInfo debugInfo, List<IRInstr> instructions) MATERIALISE a buffering value source (a GROUP/SPLIT tracker's hasNextGroup/nextGroup, or an async executor's hasNext/next) into a fresh raw EK9_LIST buffer and return an IteratorSetup over it.GuardedConditionEvaluator.evaluate(EK9Parser.ExpressionContext conditionExpr, EK9Parser.PreFlowStatementContext preFlowStmt, VariableDetails conditionResult, String scopeId, DebugInfo debugInfo) Evaluates a condition expression that may have guard variables.GuardedConditionEvaluator.evaluateGuardOnlyForVariable(ISymbol guardSymbol, String variableName, VariableDetails conditionResult, String scopeId, DebugInfo debugInfo) Evaluates guard only for a pre-resolved variable (used by WHILE/DO-WHILE for entry check).protected StringAbstractStreamStageGenerator.extractPrimitive(List<IRInstr> target, String booleanVar, DebugInfo debugInfo) THE Boolean-to-primitive extraction: mint a temp and append the_true()call that yields a JVM primitive / LLVM i8 the branch instructions can test directly.(package private) FreshBooleanOperandStreamPipelineMachinery.freshBooleanOperand(String boolVar, DebugInfo debugInfo) Load an alloca-backed Boolean variable into a fresh SSA temp (+ its primitive) for use as the LEFT operand ofStreamPipelineMachinery.appendBoundedCondition(List, List, String, String, List, String, String, DebugInfo).AbstractStreamStageGenerator.gate(List<IRInstr> conditionInstructions, String conditionVar, String primitiveVar, List<IRInstr> bodyWhenTrue, List<IRInstr> bodyWhenFalse, DebugInfo debugInfo) THE conditional gate: runbodyWhenTruewhen the condition holds,bodyWhenFalseotherwise.RangeIterationHelper.generateBodySetup(String loopVariableName, String currentTemp, ISymbol rangeType, DebugInfo debugInfo) Generate body setup: loopVariable becomes a FRESH per-iteration value copied from the counter.(package private) ConditionAndPostLoopStreamEmissionEngine.generateConditionAndBody(EK9Parser.StreamStatementContext ctx, EK9Parser.StreamCatContext catCtx, List<EK9Parser.StreamPartContext> stages, IteratorSetup iteratorSetup, String pipelineItemVar, ISymbol elementType, TerminalSetup terminalSetup, DebugInfo debugInfo, List<StageState> stageStates, boolean rawIterator, String pipelineScopeId, List<IRInstr> preLoopInstructions, boolean sourceUnbounded) Generate condition (hasNext) and body (next + stages + terminal pipe).AbstractStreamStageGenerator.generateCounterDelta(String counterVar, String oneVar, String op, ISymbol integerType, DebugInfo debugInfo) ReassigncounterVar = counterVar <op> oneVar("_add"to increment,"_sub"to decrement) via the RELEASE/STORE/RETAIN reassignment pattern.(package private) ForRangePolymorphicInstr.DispatchCasesRangeIterationHelper.generateDispatchCases(RangeIterationHelper.InitializationData initData, String loopVariableName, DebugInfo debugInfo) Generate dispatch cases with explicit IR for all three directions.StreamPipelineMachinery.generateDynamicStageLimit(EK9Parser.StreamPartContext stageCtx, String limitVar, ISymbol integerType, String scopeId, DebugInfo debugInfo) Generate IR to evaluate a dynamic stage operand (function reference or call) and store the Integer result in the given limit variable.ControlFlowChainGenerator.generateExternalFieldGuardedAssignment(String isSetBoolean, List<IRInstr> assignmentBody, DebugInfo debugInfo) Generate CONTROL_FLOW_CHAIN for guarded assignment on external field.ControlFlowChainGenerator.generateGuardedAssignment(ISymbol lhsSymbol, List<IRInstr> assignmentEvaluation, String assignmentResult, DebugInfo debugInfo) Generate SWITCH_CHAIN_BLOCK for guarded assignment (:=?).ControlFlowChainGenerator.generateGuardExpressionAssignment(String isSetBoolean, ISymbol identifierSymbol, String exprTemp, DebugInfo debugInfo) Generate CONTROL_FLOW_CHAIN for guard expression assignment.(package private) RangeIterationHelper.InitializationDataRangeIterationHelper.generateInitialization(EK9Parser.ForRangeContext forRangeCtx, DebugInfo debugInfo) Generate initialization instructions for the loop.StreamPipelineMachinery.generatePipelineItemBinding(String iteratorVar, IAggregateSymbol iteratorType, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, boolean rawIterator) Generate: pipelineItem = iterator.next() Follows ForInGenerator.generateLoopVariableBinding() pattern.ControlFlowChainGenerator.generateQuestionOperatorForTemp(String variableName, ISymbol variableSymbol, boolean isTraitCall, String resultVariable, DebugInfo debugInfo) Generate SWITCH_CHAIN_BLOCK for Question operator applied to a temp variable.ControlFlowChainGenerator.generateQuestionOperatorForVariable(ISymbol variableSymbol, String resultVariable, DebugInfo debugInfo) Generate SWITCH_CHAIN_BLOCK for Question operator applied to a variable.(package private) StageSetupResultStreamPipelineMachinery.generateStageSetup(List<EK9Parser.StreamPartContext> stages, String scopeId, DebugInfo debugInfo) Generate pre-loop state initialization for stateful pipeline stages (HEAD, SKIPPING, TAIL).AbstractStreamStageGenerator.generateTerminalPipe(TerminalSetup terminalSetup, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo) THE shared "pipe a value into a sink" step:sink._pipe(value)- used by the pipeline terminal and bytee's side terminal.(package private) PipelineVarPlanStreamPipelineMachinery.planPipelineVars(List<EK9Parser.StreamPartContext> stages, String sourceVar, ISymbol sourceType, String scopeId, DebugInfo debugInfo, List<IRInstr> declarationsOut) Compute the per-boundary item-variable plan for an in-loop stage list, allocating a fresh variable (declared at the produced type) only where a stage changes the element type.protected voidAbstractStreamStageGenerator.publishAndContinue(List<IRInstr> target, String outVar, String producedVar, List<IRInstr> innerBody, DebugInfo debugInfo) Publish a stage's produced value into the flowing out-variable: RELEASE old, STORE new, RETAIN new, then run the inner body (the terminal, or the next stage downstream).protected voidAbstractStreamStageGenerator.rebind(List<IRInstr> target, String variable, String sourceVar, DebugInfo debugInfo) THE alloca-backed variable reassignment: RELEASE the old value, STORE the new one, RETAIN it.(package private) SortAndIteratorResultStreamPipelineMachinery.sortBufferAndGetIterator(EK9Parser.StreamPartContext sortStage, String bufferVar, DebugInfo debugInfo) Sort a raw org.ek9.lang::List buffer in place and return an iterator over the sorted result.protected CallDetailsAbstractStreamStageGenerator.streamFunctionCall(FunctionSymbol fn, String funcInstanceVar, List<ISymbol> flowingTypes, List<String> argVars, String returnTypeName, DebugInfo debugInfo, List<IRInstr> setupInstructions) THE shared builder for a stream stage-function_callinvocation - used by every stage that invokes a resolved function on the flowing element(s): filter/reject and split predicates, map and tee mappers, uniq and group key-functions, and the join fold.(package private) StageWrapResultStreamEmissionEngine.terminalBodyTail(List<EK9Parser.StreamPartContext> stages, String itemVar, ISymbol itemType, TerminalSetup terminalSetup, String scopeId, List<IRInstr> preLoopInstructions, List<StageState> stageStates, DebugInfo debugInfo) The shared stream body-tail, used identically by the cat path (theStreamPipelineMachinery.buildStreamLoop(IteratorSetup, StageState, String, ISymbol, boolean, EK9Parser.StreamCatContext, StreamLoopSink, DebugInfo)sink) and the for-range streaming body: plan the per-boundary item vars (declared pre-loop inpreLoopInstructionsso a post-loop consumer like JOIN's emit references a dominating var), pipe the final-typed item to the terminal, and wrap the result in the intermediate stages.LoopGuardHelper.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.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, List<IRInstr> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates) Wrap inner body instructions with intermediate pipeline stages in reverse order.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, List<IRInstr> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates, String asyncExecutorVar) Wrap inner body instructions with intermediate pipeline stages in reverse order.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, List<IRInstr> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates, String asyncExecutorVar, PipelineVarPlan plan) Core stage-wrapping with an explicit per-boundaryPipelineVarPlan.(package private) StageWrapResultStreamStageDispatcher.wrapWithStages(List<EK9Parser.StreamPartContext> stages, List<IRInstr> innerBody, String pipelineItemVar, ISymbol elementType, DebugInfo debugInfo, List<StageState> stageStates, String asyncExecutorVar, PipelineVarPlan plan, String doneFlagVar) Core stage-wrapping, additionally threading adoneFlagVarinto a HEAD stage's else-branch.Method parameters in org.ek9lang.compiler.phase7.generator with type arguments of type DebugInfoModifier and TypeMethodDescriptionprotected voidAbstractGenerator.addCoverageProbe(org.antlr.v4.runtime.tree.ParseTree ctx, List<IRInstr> instructions, Function<DebugInfo, IRInstr> probeFactory) Add a coverage probe instruction if coverage instrumentation is enabled.Constructors in org.ek9lang.compiler.phase7.generator with parameters of type DebugInfoModifierConstructorDescription(package private)BufferedStageParams(StageGroup stageGroup, StreamSource source, TerminalSetup terminalSetup, List<IRInstr> instructions, DebugInfo debugInfo) Creates an instance of aBufferedStageParamsrecord class.OrchestratorContext(GuardVariableDetails guardDetails, ReturnVariableDetails returnDetails, String outerScopeId, DebugInfo debugInfo) Creates an instance of aOrchestratorContextrecord class.(package private)StageWrapParams(EK9Parser.StreamPartContext stageCtx, List<IRInstr> innerBody, DebugInfo debugInfo) Creates an instance of aStageWrapParamsrecord class. -
Uses of DebugInfo in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support that return DebugInfoModifier and TypeMethodDescriptionBinaryOperatorParams.debugInfo()Returns the value of thedebugInforecord component.BooleanExtractionParams.debugInfo()Returns the value of thedebugInforecord component.ComparisonParams.debugInfo()Returns the value of thedebugInforecord component.DirectionCheckParams.debugInfo()Returns the value of thedebugInforecord component.IncrementParams.debugInfo()Returns the value of thedebugInforecord component.LiteralParams.debugInfo()Returns the value of thedebugInforecord component.PromotionParams.debugInfo()Returns the value of thedebugInforecord component.UnaryOperatorParams.debugInfo()Returns the value of thedebugInforecord component.VariableDetails.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.phase7.support with parameters of type DebugInfoModifier and TypeMethodDescriptionConstantCopyOnAccessLoader.apply(ISymbol constantSymbol, String resultVariable, DebugInfo debugInfo) Read the constant into resultVariable as a fresh copy.ConstantCopyOnAccessLoader.applyToNewTemp(ISymbol constantSymbol, DebugInfo debugInfo) Read the constant into a freshly generated temp, returning both the instructions and that temp.static voidPanicThrowInstrs.emit(IRGenerationContext stackContext, List<IRInstr> instructions, String message, String exitCode, String scopeId, DebugInfo debugInfo) Append the construct-and-throw-Panic sequence toinstructions.ScopedInstructionExecutor.execute(Supplier<List<IRInstr>> instructionGenerator, DebugInfo debugInfo) Execute instructions within temporary scope.static StringPanicThrowInstrs.locationSuffix(DebugInfo debugInfo) Format the "at file:line:col" suffix appended to a Panic message, or""when the location is unknown.CollectionElementPromoter.promoteIfRequired(ISymbol elementType, ISymbol targetType, String elementTemp, DebugInfo debugInfo, List<IRInstr> setupInstructions) Insert a#^promotion for a collection element when its static type is not directly assignable to the collection's resolved element type but is coercible to it (single promotion, per EK9 rules).CollectionElementPromoter.promoteIfRequired(ISymbol elementType, ISymbol targetType, String elementTemp, DebugInfo debugInfo, List<IRInstr> setupInstructions, boolean escaping) AsCollectionElementPromoter.promoteIfRequired(ISymbol, ISymbol, String, DebugInfo, List), butescapingselects the ARC of any inserted promote:falsefor a scope-local value (collection element, range bound, comparison operand) — RETAIN + SCOPE_REGISTER;truefor a value that ESCAPES the current scope (a coalescing/ternary body-result that becomes the expression value) — RETAIN only, the consumer takes ownership.Constructors in org.ek9lang.compiler.phase7.support with parameters of type DebugInfoModifierConstructorDescriptionBinaryOperatorParams(String leftOperand, String rightOperand, String operator, ISymbol leftType, ISymbol rightType, ISymbol resultType, String resultTemp, String scopeId, DebugInfo debugInfo) Creates an instance of aBinaryOperatorParamsrecord class.BooleanExtractionParams(String booleanObjectVar, String resultTemp, DebugInfo debugInfo) Creates an instance of aBooleanExtractionParamsrecord class.ComparisonParams(String leftOperand, String rightOperand, String operator, ISymbol leftType, ISymbol rightType, ISymbol booleanType, String booleanObjectTemp, String primitiveBooleanTemp, String scopeId, DebugInfo debugInfo) Creates an instance of aComparisonParamsrecord class.DirectionCheckParams(String directionTemp, String comparisonOperator, String zeroTemp, String booleanObjectTemp, String primitiveBooleanTemp, ISymbol integerType, ISymbol booleanType, String scopeId, DebugInfo debugInfo) Creates an instance of aDirectionCheckParamsrecord class.IncrementParams(String counterVar, String operator, ISymbol counterType, String scopeId, DebugInfo debugInfo) Creates an instance of aIncrementParamsrecord class.LiteralParams(String tempName, String literalValue, ISymbol literalType, DebugInfo debugInfo) Creates an instance of aLiteralParamsrecord class.PromotionParams(ISymbol sourceType, String sourceVariable, DebugInfo debugInfo) Non-escaping (scope-local) promotion — the common case (list/dict element, range bound, comparison operand).PromotionParams(ISymbol sourceType, String sourceVariable, DebugInfo debugInfo, boolean escaping) Creates an instance of aPromotionParamsrecord class.UnaryOperatorParams(String operand, String operator, ISymbol operandType, ISymbol resultType, String resultTemp, String scopeId, DebugInfo debugInfo) Creates an instance of aUnaryOperatorParamsrecord class.VariableDetails(String resultVariable, DebugInfo debugInfo) Creates an instance of aVariableDetailsrecord class. -
Uses of DebugInfo in org.ek9lang.compiler.phase7.synthesis
Methods in org.ek9lang.compiler.phase7.synthesis that return DebugInfoModifier and TypeMethodDescriptionprotected DebugInfoAbstractSyntheticGenerator.createDebugInfo(ISymbol symbol) Create debug info from a symbol's source token.Methods in org.ek9lang.compiler.phase7.synthesis with parameters of type DebugInfoModifier and TypeMethodDescriptionAbstractSyntheticGenerator.generateAnyFieldSetGuard(AggregateSymbol aggregateSymbol, String aggregateTypeName, DebugInfo debugInfo, String returnUnsetLabel, String scopeId) Generate guard that returns UNSET if no fields are set (ANY field set semantics).AbstractSyntheticGenerator.generateFieldLoad(String targetVar, String objectVar, String fieldName, String ownerTypeName, String fieldTypeName, DebugInfo debugInfo, String scopeId) Generate field load instruction with memory management using explicit LOAD_FIELD.AbstractSyntheticGenerator.generateFieldSetStatusCheck(String otherParamName, String aggregateTypeName, DebugInfo debugInfo, String scopeId, String returnUnsetLabel) Generate field set status comparison check.AbstractSyntheticGenerator.generateIsSetGuard(String variableName, String typeName, DebugInfo debugInfo, String unsetLabel, String scopeId) Generate isSet guard check for a variable with branch to unset return.AbstractSyntheticGenerator.generateResultReturnBlock(String labelName, String returnVarName, DebugInfo debugInfo, String scopeId) Generate a result return block that returns whatever is in the return variable.AbstractSyntheticGenerator.generateStringLiteralLoad(String resultVar, String literalValue, DebugInfo debugInfo, String scopeId) Generate a string literal load with memory management.AbstractSyntheticGenerator.generateThisIsSetGuard(String aggregateTypeName, DebugInfo debugInfo, String unsetLabel, String scopeId) Generate isSet guard check for 'this' with branch to unset return.AbstractSyntheticGenerator.generateUnsetReturnBlockWithLabel(String labelName, String returnTypeName, String returnVarName, DebugInfo debugInfo, String scopeId) Generate unset return block at a specific label. -
Uses of DebugInfo in org.ek9lang.compiler.phase7.synthesis.support
Methods in org.ek9lang.compiler.phase7.synthesis.support that return DebugInfoModifier and TypeMethodDescriptionSynthesisScope.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.phase7.synthesis.support with parameters of type DebugInfoModifier and TypeMethodDescriptionBuild the IR instructions for this call using explicit debugInfo and scopeId.Build the IR instructions for a void method call using explicit debugInfo and scopeId.ReturnBlockHelper.generateBooleanReturn(String labelName, boolean value, String returnVarName, DebugInfo debugInfo, String scopeId) Generate a return block that returns a boolean value (true or false).ReturnBlockHelper.generateIntegerReturn(String labelName, int value, String returnVarName, DebugInfo debugInfo, String scopeId) Generate a return block that returns an integer literal value.ReturnBlockHelper.generateUnsetReturn(String labelName, String returnTypeName, String returnVarName, DebugInfo debugInfo, String scopeId) Generate a return block that returns an unset value of the given type.ReturnBlockHelper.generateValueReturn(String labelName, String returnVarName, DebugInfo debugInfo, String scopeId) Generate a return block that returns the value already in the return variable.Constructors in org.ek9lang.compiler.phase7.synthesis.support with parameters of type DebugInfoModifierConstructorDescriptionSynthesisScope(DebugInfo debugInfo, String scopeId) Validate that scopeId is not null.