Uses of Record Class
org.ek9lang.compiler.ir.support.DebugInfo
Packages that use DebugInfo
Package
Description
-
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.ir.data
Methods in org.ek9lang.compiler.ir.data that return DebugInfoModifier and TypeMethodDescriptionControlFlowChainDetails.debugInfo()Returns the value of thedebugInforecord component.LogicalDetails.debugInfo()Returns the value of thedebugInforecord component.Methods in org.ek9lang.compiler.ir.data with parameters of type DebugInfoModifier and TypeMethodDescriptionstatic ControlFlowChainDetailsControlFlowChainDetails.createDoWhileLoop(List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a do-while loop (statement form).static ControlFlowChainDetailsControlFlowChainDetails.createForRangeLoop(List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a for-range loop (statement form).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, List<String> guardVariables, List<IRInstr> guardScopeSetup, String guardScopeId, String conditionScopeId, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for if/else with guard variables.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.createSwitch(String result, String evaluationVariable, String evaluationVariableType, List<IRInstr> evaluationVariableSetup, String returnVariable, String returnVariableType, List<IRInstr> returnVariableSetup, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for a general switch statement.static ControlFlowChainDetailsControlFlowChainDetails.createSwitchEnum(String result, String evaluationVariable, String evaluationVariableType, List<IRInstr> evaluationVariableSetup, String returnVariable, String returnVariableType, List<IRInstr> returnVariableSetup, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, EnumOptimizationDetails enumOptimizationInfo, DebugInfo debugInfo, String scopeId) Create details for a switch statement with enum optimization.static ControlFlowChainDetailsControlFlowChainDetails.createSwitchWithGuards(String result, List<String> guardVariables, List<IRInstr> guardScopeSetup, String guardScopeId, String conditionScopeId, String evaluationVariable, String evaluationVariableType, List<IRInstr> evaluationVariableSetup, String returnVariable, String returnVariableType, List<IRInstr> returnVariableSetup, List<ConditionCaseDetails> conditionChain, List<IRInstr> defaultBodyEvaluation, String defaultResult, DebugInfo debugInfo, String scopeId) Create details for switch with guard variables.static ControlFlowChainDetailsControlFlowChainDetails.createWhileLoop(List<ConditionCaseDetails> conditionChain, DebugInfo debugInfo, String scopeId) Create details for a while loop (statement form).Constructors in org.ek9lang.compiler.ir.data with parameters of type DebugInfoModifierConstructorDescriptionControlFlowChainDetails(String result, String chainType, GuardVariableDetails guardDetails, EvaluationVariableDetails evaluationDetails, ReturnVariableDetails returnDetails, List<ConditionCaseDetails> conditionChain, DefaultCaseDetails defaultDetails, EnumOptimizationDetails enumOptimizationInfo, DebugInfo debugInfo, String scopeId) Creates an instance of aControlFlowChainDetailsrecord class.LogicalDetails(String result, OperandEvaluation leftEvaluation, ConditionalEvaluation conditionalEvaluation, OperandEvaluation rightEvaluation, OperandEvaluation resultEvaluation, DebugInfo debugInfo, String scopeId) Creates an instance of aLogicalDetailsrecord class. -
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 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 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.callDispatcher(String result, DebugInfo debugInfo, CallDetails callDetails) Create dispatcher method call with complete type information: CALL_DISPATCHER result = object.dispatcherMethod(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 CallInstrCallInstr.callVirtual(String result, DebugInfo debugInfo, CallDetails callDetails) Create virtual method call with complete type information: CALL_VIRTUAL result = object.method(args...)static CallInstrCallInstr.constructor(String result, DebugInfo debugInfo, CallDetails callDetails) Create constructor call with complete type information: CALL result = Type.<init>(args...)static ScopeInstrCreate scope enter instruction with debug info: SCOPE_ENTER scope_id.static ScopeInstrCreate scope exit instruction with debug info: SCOPE_EXIT scope_id.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 MemoryInstrCreate IS_NULL instruction with debug info: IS_NULL result = operand.static LabelInstrCreate label instruction with debug info: LABEL label_name.static LiteralInstrCreate instruction to load any literal value.static MemoryInstrCreate LOAD instruction with debug info: LOAD dest = source_location.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 MemoryInstrCreate REFERENCE instruction with debug info: REFERENCE variable_name, type_info.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 MemoryInstrCreate STORE instruction with debug info: STORE dest_location = source.Constructors in org.ek9lang.compiler.ir.instructions with parameters of type DebugInfoModifierConstructorDescriptionCreate a new Field IR node.Create instruction with result and debug information.OperationInstr(ISymbol symbol, 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.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.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.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 with parameters of type DebugInfoModifier and TypeMethodDescriptionprotected VariableDetailsAbstractGenerator.createTempVariable(DebugInfo debugInfo) Create a temporary variable with associated debug info.ControlFlowChainGenerator.generateGuardedAssignment(ISymbol lhsSymbol, List<IRInstr> assignmentEvaluation, String assignmentResult, DebugInfo debugInfo) Generate SWITCH_CHAIN_BLOCK for guarded assignment (:=?).ControlFlowChainGenerator.generateQuestionOperatorForVariable(ISymbol variableSymbol, String resultVariable, DebugInfo debugInfo) Generate SWITCH_CHAIN_BLOCK for Question operator applied to a variable. -
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.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 TypeMethodDescriptionScopedInstructionExecutor.execute(Supplier<List<IRInstr>> instructionGenerator, DebugInfo debugInfo) Execute instructions within temporary scope.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 incrementResultTemp, 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.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.