Uses of Class
org.ek9lang.compiler.phase7.generation.IRGenerationContext
Packages that use IRGenerationContext
Package
Description
K - Intermediate Representation Generation.
Synthetic operator and method generation for EK9.
Support classes for synthetic operator IR generation.
-
Uses of IRGenerationContext in org.ek9lang.compiler.phase7
Fields in org.ek9lang.compiler.phase7 declared as IRGenerationContextModifier and TypeFieldDescriptionprotected final IRGenerationContextAbstractDfnGenerator.stackContextMethod parameters in org.ek9lang.compiler.phase7 with type arguments of type IRGenerationContextModifier and TypeMethodDescriptionvoidParameterizedTypeScenarioProcessor.accept(ParsedModule parsedModule, IRModule irModule, Function<ParsedModule, IRGenerationContext> generationContextFactory) Process parameterized types in a module.Constructors in org.ek9lang.compiler.phase7 with parameters of type IRGenerationContextModifierConstructorDescription(package private)AbstractDfnGenerator(IRGenerationContext stackContext) Primary constructor using stack context - the single source of truth.(package private)AggregateDfnGenerator(IRGenerationContext stackContext, SymbolGenus forGenus) (package private)ApplicationDfnGenerator(IRGenerationContext stackContext) (package private)ClassDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.(package private)ComponentDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.(package private)ConstantDfnGenerator(IRGenerationContext stackContext) (package private)ConstrainedConstruction(IRGenerationContext stackContext, ConstrainedTypeInstrs instrs, ConstraintLowering lowering, BooleanCondition booleanCondition) (package private)ConstrainedDelegation(IRGenerationContext stackContext, ConstrainedTypeInstrs instrs, ConstraintLowering lowering) (package private)ConstrainedTypeDfnGenerator(IRGenerationContext stackContext) (package private)ConstrainedTypeInstrs(IRGenerationContext stackContext, ConstrainedTypeShape shape, SynthesisedCallMetaData synthesisedCallMetaData) (package private)ConstraintLowering(IRGenerationContext stackContext, ConstrainedTypeInstrs instrs, BooleanCondition booleanCondition) DynamicClassDfnGenerator(IRGenerationContext stackContext) DynamicFunctionDfnGenerator(IRGenerationContext stackContext) (package private)EnumerationDfnGenerator(IRGenerationContext stackContext) (package private)FunctionDfnGenerator(IRGenerationContext stackContext) Constructor using only stack context - the single source of state.(package private)ProgramDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.(package private)RecordDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.Scenario2WrapperIRGenerator(IRGenerationContext stackContext) Create a new Scenario 2 wrapper IR generator.Scenario3SourceIRGenerator(IRGenerationContext stackContext) Create a new Scenario 3 source IR generator.(package private)ServiceDfnGenerator(IRGenerationContext stackContext) (package private)TextBaseDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.(package private)TextDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state.(package private)TraitDfnGenerator(IRGenerationContext stackContext) Constructor using stack context - the single source of state. -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.calls
Methods in org.ek9lang.compiler.phase7.calls with parameters of type IRGenerationContextModifier and TypeMethodDescriptionstatic ChainedCallDispatchChainedCallDispatch.of(MethodSymbol toBeCalled, String receiverTemp, ISymbol receiverType, boolean isExplicitTraitTypeRef, boolean isSuperCall, IRGenerationContext stackContext) Decide how a chained call totoBeCalledonreceiverTypeis dispatched.Constructors in org.ek9lang.compiler.phase7.calls with parameters of type IRGenerationContextModifierConstructorDescriptionBooleanOperatorCallDetails(IRGenerationContext stackContext) CallDetailsBuilder(IRGenerationContext stackContext, ParameterPromotionProcessor parameterProcessor) IsSetCallDetailsCreator(IRGenerationContext stackContext) ParameterPromotionProcessor(IRGenerationContext stackContext, PromotionCallGenerator promotionCallGenerator) SynthesisedCallMetaData(IRGenerationContext stackContext) -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.generation
Methods in org.ek9lang.compiler.phase7.generation that return IRGenerationContextModifier and TypeMethodDescriptionIRInstructionBuilder.getContext()Get the IRGenerationContext for scope and debug management.Constructors in org.ek9lang.compiler.phase7.generation with parameters of type IRGenerationContextModifierConstructorDescriptionInputClassProbeGenerator(IRGenerationContext stackContext) IRInstructionBuilder(IRGenerationContext context) Create a new instruction builder with stack-based context access. -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.generator
Fields in org.ek9lang.compiler.phase7.generator declared as IRGenerationContextModifier and TypeFieldDescriptionprotected final IRGenerationContextAbstractGenerator.stackContextMethods in org.ek9lang.compiler.phase7.generator with parameters of type IRGenerationContextModifier and TypeMethodDescriptionstatic GeneratorSetIRConstructGenerators.create(IRGenerationContext stackContext) Creates the complete generator tree for a single construct.Method parameters in org.ek9lang.compiler.phase7.generator with type arguments of type IRGenerationContextModifier and TypeMethodDescription<T extends ICanCaptureVariables & ISymbol>
List<IRInstr> DynamicConstructEmitter.emit(T dynamicSymbol, Function<IRGenerationContext, IRConstruct> generate, EK9Parser.DynamicVariableCaptureContext captureCtx, DebugInfo debugInfo, String resultVariable, Function<List<ISymbol>, CallMetaDataDetails> metaData) Emit the dynamic construct and the instructions that construct it.Constructors in org.ek9lang.compiler.phase7.generator with parameters of type IRGenerationContextModifierConstructorDescription(package private)AbstractAssertExprGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting IRGenerationContext and GeneratorSet.(package private)AbstractGenerator(IRGenerationContext stackContext) Constructor accepting only IRGenerationContext - the single source of state.(package private)AbstractShortCircuitGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement, RecordExprProcessing recordExprProcessing, Function<LogicalDetails, IRInstr> logicalOperation, Supplier<StatementOwnedCloseables> ownedCloseables) (package private)AbstractStreamStageGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)AbstractVariableDeclGenerator(IRGenerationContext stackContext) ApplicationClose(IRGenerationContext stackContext, ResourceCloser resourceCloser) The application close of a construct's generator set, closing through the set'sResourceCloser.(package private)AssertDoesNotThrowExprGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting injected GeneratorSet.(package private)AssertPanicExprGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting injected GeneratorSet.(package private)AssertStmtGenerator(IRGenerationContext stackContext, GeneratorSet generators, RecordExprProcessing recordExprProcessing) Constructor accepting injected GeneratorSet and RecordExprProcessing.(package private)AssertThrowsExprGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting injected GeneratorSet.(package private)AssignExpressionToSymbol(IRGenerationContext stackContext, GeneratorSet generators, AssignExpressionToSymbol.Mode mode) (package private)AssignIfUnsetBlockGenerator(IRGenerationContext stackContext, GeneratorSet generators) One per construct (generators.assignIfUnsetBlockGenerator, IR tidy W3.9, EXPR-15): the chain generator, the reassignment and the statement-owned closeables are the set's, read when used (some are made after this).(package private)AssignmentExprInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting injected GeneratorSet.(package private)AssignmentStmtGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.(package private)BinaryOperationGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)BlockStmtInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.CallArguments(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement) (package private)CallInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.(package private)CallStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) CloseChain(IRGenerationContext stackContext) A close chain for generation that has no generator set - synthesis (CloseGenerator) - with a closer of its own.(package private)CloseChain(IRGenerationContext stackContext, ResourceCloser resourceCloser) The close chain of a construct's generator set, closing through the set'sResourceCloser(IR tidy W3.9, OPS-5: one closer per set).(package private)ConditionStatementPrelude(IRGenerationContext stackContext, GeneratorSet generators, RecordExprProcessing recordExprProcessing) ConstructorCallProcessor(IRGenerationContext stackContext, CallArguments callArguments, ParameterPromotionProcessor parameterPromotionProcessor, Function<ExprProcessingDetails, List<IRInstr>> expressionProcessor) ControlFlowChainGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement, SynthesisedCallMetaData synthesisedCallMetaData, Function<ExprProcessingDetails, List<IRInstr>> rawExprProcessor, Supplier<StatementOwnedCloseables> ownedCloseables) (package private)DictLiteralGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor for dict literal IR generator.(package private)DynamicConstructEmitter(IRGenerationContext stackContext, GeneratorSet generators) (package private)ExprInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.(package private)FilterRejectStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) (package private)FlattenStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) (package private)ForInGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)ForRangeGenerator(IRGenerationContext stackContext, GeneratorSet generators) ForStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) FunctionCallProcessor(IRGenerationContext stackContext, CallArguments callArguments, VariableMemoryManagement variableMemoryManagement, CallDetailsBuilder callDetailsBuilder) GuardedConditionEvaluator(IRGenerationContext stackContext, GeneratorSet generators) (package private)GuardedScopeOrchestrator(IRGenerationContext stackContext, GeneratorSet generators) (package private)HeadSkipStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) IfStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)InterpolatedStringGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor for interpolated string IR generator.(package private)IterationSourceLowering(IRGenerationContext stackContext, GeneratorSet generators) (package private)JoinStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) (package private)ListLiteralGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor for list literal IR generator.(package private)LiteralGenerator(IRGenerationContext stackContext) LoopGuardHelper(IRGenerationContext stackContext, GeneratorSet generators) (package private)MapStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) (package private)ObjectAccessInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) OperationDfnGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)PrimaryReferenceGenerator(IRGenerationContext stackContext) Constructor accepting IRGenerationContext for stack-based debug info access.(package private)PropertyInitialisers(IRGenerationContext stackContext, GeneratorSet generators) QuestionBlockGenerator(IRGenerationContext stackContext, ControlFlowChainGenerator controlFlowChainGenerator) (package private)RangeIterationHelper(IRGenerationContext stackContext, GeneratorSet generators) (package private)RequireStmtGenerator(IRGenerationContext stackContext, GeneratorSet generators, RecordExprProcessing recordExprProcessing) Constructor accepting injected GeneratorSet and RecordExprProcessing.(package private)ResourceCloser(IRGenerationContext stackContext) ReturningParamProcessor(IRGenerationContext stackContext, GeneratorSet generators) ShortCircuitAndGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement, RecordExprProcessing recordExprProcessing, Supplier<StatementOwnedCloseables> ownedCloseables) ShortCircuitOrGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement, RecordExprProcessing recordExprProcessing, Supplier<StatementOwnedCloseables> ownedCloseables) (package private)StatementOwnedCloseables(IRGenerationContext stackContext, GeneratorSet generators) (package private)StmtInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.(package private)StreamDemand(IRGenerationContext stackContext, GeneratorSet generators) (package private)StreamEmissionEngine(IRGenerationContext stackContext, GeneratorSet generators, StreamStageDispatcher stageDispatcher, StreamPipelineMachinery machinery) (package private)StreamPipelineMachinery(IRGenerationContext stackContext, GeneratorSet generators) (package private)StreamStageDispatcher(IRGenerationContext stackContext, GeneratorSet generators, StreamPipelineMachinery machinery) (package private)StreamStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) SwitchCaseOrChainGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement, GeneratorSet generators) SwitchStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)TailStageWrapper(IRGenerationContext stackContext, GeneratorSet generators, StreamPipelineMachinery machinery) (package private)TeeStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) TextBodyMethodGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)ThrowStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting injected GeneratorSet for access to sub-generators.TryCatchStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)UnaryOperationGenerator(IRGenerationContext stackContext, GeneratorSet generators) (package private)UniqStageWrapper(IRGenerationContext stackContext, GeneratorSet generators) VariableDeclInstrGenerator(IRGenerationContext stackContext, GeneratorSet generators) Constructor accepting GeneratorSet for unified access to all generators.VariableOnlyDeclInstrGenerator(IRGenerationContext stackContext) WhileStatementGenerator(IRGenerationContext stackContext, GeneratorSet generators) -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.support
Methods in org.ek9lang.compiler.phase7.support with parameters of type IRGenerationContextModifier and TypeMethodDescriptionvoidConstructFieldDeclarations.addCapturesTo(IRConstruct construct, IRGenerationContext stackContext, ICanCaptureVariables canCaptureVariables) Declare the captured variables of a function (or anything that captures) as fields onconstruct.voidConstructFieldDeclarations.addPropertiesAndCapturesTo(IRConstruct construct, IRGenerationContext stackContext, AggregateSymbol aggregateSymbol) Declare the fields of an aggregate onconstruct: each property, then each captured variable.FunctionInstance.constructedAsValue(IRGenerationContext stackContext, FunctionSymbol functionSymbol, String resultVariable, DebugInfo debugInfo) THE lowering of a function CONSTRUCTED as a value -countOf() of String, a parameterised generic function - to its singleton instance: aFUNCTION_INSTANCE, never an invocation.voidPanicThrowInstrs.emit(IRGenerationContext stackContext, List<IRInstr> instructions, String message, String exitCode, String scopeId, DebugInfo debugInfo) Append the construct-and-throw-Panic sequence toinstructions.voidStrictAbsent.emitIfEnabled(IRGenerationContext stackContext, List<IRInstr> instructions, StrictAbsent.Observer observer, DebugInfo debugInfo) In strict-absent mode, append the Panic toinstructions- the start of the branch a compiled absence test takes on a null.DynamicConstructMonomorphisation.of(IRGenerationContext stackContext, AggregateWithTraitsSymbol dynamicClass) The dynamic class to generate and construct for the monomorphisation in progress.DynamicConstructMonomorphisation.of(IRGenerationContext stackContext, FunctionSymbol dynamicFunction) The dynamic function to generate and construct for the monomorphisation in progress.SamenessTypeCheck.of(IRGenerationContext stackContext, String otherVar, String differentTypeLabel, DebugInfo debugInfo) The check:thisagainstotherVar, going todifferentTypeLabelwhen they differ.SanitizedParameterPrologue.of(IRGenerationContext stackContext, List<ISymbol> parameters) Create the prologue that cleans everySANITIZED_REQUIREDparameter in place, each instruction attributed to the parameter's own declaration.SanitizedParameterPrologue.of(IRGenerationContext stackContext, List<ISymbol> parameters, DebugInfo debugInfo) Create the prologue with every instruction attributed todebugInfo.Constructors in org.ek9lang.compiler.phase7.support with parameters of type IRGenerationContextModifierConstructorDescriptionBooleanCondition(IRGenerationContext stackContext, PromotionCallGenerator promotionCallGenerator, PrimitiveBooleanExtractor primitiveBooleanExtractor) ConstantCopyOnAccessLoader(IRGenerationContext stackContext) FieldCreator(IRConstruct construct, IRGenerationContext context) ListBufferCalls(IRGenerationContext stackContext) PromotionCallGenerator(IRGenerationContext stackContext, VariableMemoryManagement variableMemoryManagement) ScopedInstructionExecutor(IRGenerationContext stackContext) ScopeRegisterOnly(IRGenerationContext stackContext) Constructs scope register only memory management.TypeLinkage(IRGenerationContext stackContext) VariableMemoryManagement(IRGenerationContext stackContext) -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.synthesis
Fields in org.ek9lang.compiler.phase7.synthesis declared as IRGenerationContextModifier and TypeFieldDescriptionprotected final IRGenerationContextAbstractSyntheticGenerator.stackContextConstructors in org.ek9lang.compiler.phase7.synthesis with parameters of type IRGenerationContextModifierConstructorDescriptionprotectedAbstractSyntheticGenerator(IRGenerationContext stackContext) Create a new synthetic generator with the given context.(package private)CloseGenerator(IRGenerationContext stackContext) (package private)CompareGenerator(IRGenerationContext stackContext) (package private)CopyGenerator(IRGenerationContext stackContext) (package private)DelegationGenerator(IRGenerationContext stackContext) (package private)DerivedComparisonGenerator(IRGenerationContext stackContext) (package private)EnumConstructorGenerator(IRGenerationContext stackContext) EnumFirstLastGenerator(IRGenerationContext stackContext) (package private)EnumIncrementDecrementGenerator(IRGenerationContext stackContext) EnumIteratorGenerator(IRGenerationContext stackContext) (package private)EnumPrimitiveOperatorGenerator(IRGenerationContext stackContext) (package private)EnumStringParamGenerator(IRGenerationContext stackContext) (package private)EqualsGenerator(IRGenerationContext stackContext) (package private)FieldSetStatusGenerator(IRGenerationContext stackContext) FunctionIsSetGenerator(IRGenerationContext stackContext) (package private)HashCodeGenerator(IRGenerationContext stackContext) (package private)InheritedDispatcherGenerator(IRGenerationContext stackContext) (package private)IsSetGenerator(IRGenerationContext stackContext) (package private)NotEqualsGenerator(IRGenerationContext stackContext) (package private)SamenessOverrideGenerator(IRGenerationContext stackContext) SyntheticOperatorGenerator(IRGenerationContext stackContext) Create a new synthetic operator generator.(package private)ToJsonGenerator(IRGenerationContext stackContext) (package private)ToStringGenerator(IRGenerationContext stackContext) -
Uses of IRGenerationContext in org.ek9lang.compiler.phase7.synthesis.support
Constructors in org.ek9lang.compiler.phase7.synthesis.support with parameters of type IRGenerationContextModifierConstructorDescriptionReturnBlockHelper(IRGenerationContext context) Create a new return block helper with the given context.