Uses of Class
org.ek9lang.compiler.ParsedModule
Packages that use ParsedModule
Package
Description
B - For the EK9 compiler itself.
Common parts of processing that can be reused across various phases.
E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
F - Resolution of Explicitly Defined Type Symbols - at this point phase3 processing should have defined
most of the explicitly defined symbols, so they should be resolvable.
G - Full Symbol Resolution can now take place.
I - PRE Intermediate Representation generation checks.
Call graph infrastructure for EK9 compiler static analysis.
K - Intermediate Representation Generation.
THE automatic source repairs - one engine for every door (
ek9 -ff, ek9_format, the MCP editors,
ek9_write_file, ek9_edit_file, ek9_compile).Contains critical general components used in the
Ek9Compiler listeners.-
Uses of ParsedModule in org.ek9lang.compiler
Methods in org.ek9lang.compiler that return ParsedModuleModifier and TypeMethodDescriptionCompilableProgram.getParsedModuleForCompilableSource(CompilableSource source) For a specific source the ParsedModule is returned.protected ParsedModuleCompilerPhase.getParsedModuleForSource(CompilableSource source) Methods in org.ek9lang.compiler that return types with arguments of type ParsedModuleModifier and TypeMethodDescriptionCompilableProgram.getParsedModules(String moduleName) Provide read only access to the list of modules for a particular moduleName.Methods in org.ek9lang.compiler with parameters of type ParsedModuleModifier and TypeMethodDescriptionvoidCompilableProgram.add(ParsedModule parsedModule) Add in a newly parsed module to the list of parsed modules.voidCompilableProgram.remove(ParsedModule parsedModule) If some source has been altered, then its corresponding parsedModule must be removed.Constructors in org.ek9lang.compiler with parameters of type ParsedModuleModifierConstructorDescription(package private)ParseTreeSymbolLocator(ParsedModule parsedModule) -
Uses of ParsedModule in org.ek9lang.compiler.common
Methods in org.ek9lang.compiler.common that return ParsedModuleModifier and TypeMethodDescriptionprotected ParsedModuleAbstractEK9PhaseListener.getParsedModule()Provide access to the parsedModule.CompilationEvent.parsedModule()Returns the value of theparsedModulerecord component.Constructors in org.ek9lang.compiler.common with parameters of type ParsedModuleModifierConstructorDescriptionprotectedAbstractEK9PhaseListener(ParsedModule parsedModule) CompilationEvent(CompilationPhase phase, ParsedModule parsedModule, CompilableSource source) Creates an instance of aCompilationEventrecord class.protectedScopeStackConsistencyListener(ParsedModule parsedModule) SymbolsAndScopes(ParsedModule parsedModule, ScopeStack scopeStack) Create a new instance for symbol and scope management. -
Uses of ParsedModule in org.ek9lang.compiler.phase1
Classes in org.ek9lang.compiler.phase1 that implement interfaces with type arguments of type ParsedModuleModifier and TypeClassDescription(package private) final classChecks constant organization within a multi-file module and emits errors if constants are scattered.Method parameters in org.ek9lang.compiler.phase1 with type arguments of type ParsedModuleModifier and TypeMethodDescriptionvoidConstantOrganizationOrError.accept(String moduleName, List<ParsedModule> parsedModules) Constructors in org.ek9lang.compiler.phase1 with parameters of type ParsedModuleModifierConstructorDescription(package private)DefinitionListener(ParsedModule parsedModule) First phase after parsing.(package private)ReferencesPhase1Listener(CompilableProgram compilableProgram, ParsedModule parsedModule, ReferencesPhase1Listener.Pass pass) Next phase after symbol definition, now check for explicit references. -
Uses of ParsedModule in org.ek9lang.compiler.phase2
Classes in org.ek9lang.compiler.phase2 that implement interfaces with type arguments of type ParsedModuleModifier and TypeClassDescription(package private) final classTHE place a constrained type (Age as Integer constrain as ..., or a plain aliasCoord as Point) gets its base's constructors, methods and operators cloned onto it - in TYPE_HIERARCHY_CHECKS.(package private) final classEvery LOCAL variable of a module checked against the methods of the type it is declared in - its own, inherited and from traits (seeNoNameCollisionOrError.errorsIfLocalNamedLikeAMethod(IAggregateSymbol, ISymbol)).(package private) final classTHE place a sub-type (a class, record or component that 'extends'/'is' a super) gets its generated public no-argument constructor - after every source has been through EXPLICIT_TYPE_SYMBOL_DEFINITION, supers first.Methods in org.ek9lang.compiler.phase2 that return ParsedModuleModifier and TypeMethodDescriptionPostPassSites.DefaultOperatorSite.parsedModule()Returns the value of theparsedModulerecord component.Methods in org.ek9lang.compiler.phase2 that return types with arguments of type ParsedModuleModifier and TypeMethodDescription(package private) Map<IAggregateSymbol, ParsedModule> PostPassSites.samenessDeclaredIn()The aggregates whose sameness is completed (not built-in, not Java-backed), in walk order, with their module.(package private) Map<IAggregateSymbol, ParsedModule> PostPassSites.servicesDeclaredIn()The services (not built-in, not Java-backed), in walk order, with their module.Methods in org.ek9lang.compiler.phase2 with parameters of type ParsedModuleModifier and TypeMethodDescriptionvoidNoLocalNamedLikeAMethodOrError.accept(ParsedModule parsedModule) Method parameters in org.ek9lang.compiler.phase2 with type arguments of type ParsedModuleModifier and TypeMethodDescriptionvoidConstrainedTypesPopulator.accept(List<ParsedModule> parsedModules) voidSubTypeSyntheticConstructorCreator.accept(List<ParsedModule> parsedModules) (package private) static PostPassSitesPostPassSites.of(List<ParsedModule> parsedModules) Gather the sites of every source, in source order.Constructors in org.ek9lang.compiler.phase2 with parameters of type ParsedModuleModifierConstructorDescription(package private)DefaultOperatorSite(EK9Parser.DefaultOperatorContext ctx, IAggregateSymbol aggregate, ParsedModule parsedModule) Creates an instance of aDefaultOperatorSiterecord class.(package private)ResolveDefineExplicitTypeListener(ParsedModule parsedModule) Still defining some stuff here, but also resolving where possible. -
Uses of ParsedModule in org.ek9lang.compiler.phase3
Constructors in org.ek9lang.compiler.phase3 with parameters of type ParsedModuleModifierConstructorDescriptionprotectedExpressionsListener(ParsedModule parsedModule) (package private)ResolveDefineInferredTypeListener(ParsedModule parsedModule) Create a new instance to define or resolve inferred types. -
Uses of ParsedModule in org.ek9lang.compiler.phase5
Classes in org.ek9lang.compiler.phase5 that implement interfaces with type arguments of type ParsedModuleModifier and TypeClassDescription(package private) classValidates module-level cohesion against threshold and emits E11017 error if exceeded.(package private) classValidates module-level efferent coupling against threshold and emits E11016 error if exceeded.(package private) classValidates the number of constructs declared in a module againstMetricLimits.MODULE_SIZEand emits E11027 if exceeded.(package private) classValidates that a module does not contain data clumps (E11053).(package private) classValidates that a module does not contain repeated magic literals (E11065).Methods in org.ek9lang.compiler.phase5 that return ParsedModuleModifier and TypeMethodDescriptionMutatedOnlyVariables.Deferred.parsedModule()Returns the value of theparsedModulerecord component.MutatedOnlyVariables.ReturningCallable.parsedModule()Returns the value of theparsedModulerecord component.Methods in org.ek9lang.compiler.phase5 with parameters of type ParsedModuleModifier and TypeMethodDescription(package private) MutatedOnlyVariables.CollectorMutatedOnlyVariables.forSource(ParsedModule parsedModule, SymbolsAndScopes symbolsAndScopes) The collector for one source's walk.AcceptableModuleCohesionOrError.ErrorListenerLookup.getErrorListener(ParsedModule module) AcceptableModuleCouplingOrError.ErrorListenerLookup.getErrorListener(ParsedModule module) (package private) static ReturnSourceKindReturnSourceKind.of(ParsedModule parsedModule, ScopedSymbol callable, EK9Parser.ExpressionContext source) Classify one source of a callable's returning variable.Method parameters in org.ek9lang.compiler.phase5 with type arguments of type ParsedModuleModifier and TypeMethodDescriptionvoidAcceptableModuleCohesionOrError.accept(String moduleName, List<ParsedModule> parsedModules) voidAcceptableModuleCouplingOrError.accept(String moduleName, List<ParsedModule> parsedModules) voidAcceptableModuleSizeOrError.accept(String moduleName, List<ParsedModule> parsedModules) voidDataClumpOrError.accept(String moduleName, List<ParsedModule> parsedModules) voidMagicLiteralDuplicationOrError.accept(String moduleName, List<ParsedModule> parsedModules) Constructors in org.ek9lang.compiler.phase5 with parameters of type ParsedModuleModifierConstructorDescription(package private)CapabilityTypeReferenceOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener, ParsedModule parsedModule) (package private)ConstructorFieldInitialisationListener(ParsedModule parsedModule) (package private)DataRaceCheckListener(ParsedModule parsedModule) (package private)Deferred(ParsedModule parsedModule, ISymbol variable, EK9Parser.ExpressionContext initialiser) Creates an instance of aDeferredrecord class.(package private)LockAnalysisListener(ParsedModule parsedModule, LockAnalysis lockAnalysis) (package private)NeverEndingIterationMarker(ParsedModule parsedModule) (package private)PreIRListener(ParsedModule parsedModule, ModuleCouplingTracker moduleCouplingTracker, ModuleCohesionTracker moduleCohesionTracker, DataClumpTracker dataClumpTracker, MagicLiteralTracker magicLiteralTracker, MutatedOnlyVariables mutatedOnlyVariables, CloseableArgumentKeeping closeableArgumentKeeping) (package private)RetractedComparatorUseOrError(ParsedModule parsedModule) (package private)ReturningCallable(ParsedModule parsedModule, ScopedSymbol callable, List<EK9Parser.ExpressionContext> sources) Creates an instance of aReturningCallablerecord class.(package private)ServiceSecurityConstraintOrError(SymbolsAndScopes symbolsAndScopes, ErrorListener errorListener, ParsedModule parsedModule) -
Uses of ParsedModule in org.ek9lang.compiler.phase5.callgraph
Constructors in org.ek9lang.compiler.phase5.callgraph with parameters of type ParsedModuleModifierConstructorDescriptionCallGraphCollector(ParsedModule parsedModule, CallGraph callGraph) Create a collector for call graph information.CallGraphCollector(ParsedModule parsedModule, CallGraph callGraph, ConstructionEdges constructionEdges) Create a collector that also records the calls that always run, for the construction-recursion check. -
Uses of ParsedModule in org.ek9lang.compiler.phase5.flow
Constructors in org.ek9lang.compiler.phase5.flow with parameters of type ParsedModule -
Uses of ParsedModule in org.ek9lang.compiler.phase7
Methods in org.ek9lang.compiler.phase7 that return ParsedModuleModifier and TypeMethodDescriptionprotected ParsedModuleAbstractDfnGenerator.getParsedModule()Get the parsed module from stack context - the single source of truth.Methods in org.ek9lang.compiler.phase7 with parameters of type ParsedModuleModifier and TypeMethodDescriptionvoidParameterizedTypeScenarioProcessor.accept(ParsedModule parsedModule, IRModule irModule, Function<ParsedModule, IRGenerationContext> generationContextFactory) Process parameterized types in a module.Method parameters in org.ek9lang.compiler.phase7 with type arguments of type ParsedModuleModifier and TypeMethodDescriptionvoidParameterizedTypeScenarioProcessor.accept(ParsedModule parsedModule, IRModule irModule, Function<ParsedModule, IRGenerationContext> generationContextFactory) Process parameterized types in a module. -
Uses of ParsedModule in org.ek9lang.compiler.phase7.generation
Methods in org.ek9lang.compiler.phase7.generation that return ParsedModuleModifier and TypeMethodDescriptionIRContext.getParsedModule()Get the parsed module for symbol resolution.IRGenerationContext.getParsedModule()Get the parsed module from IRContext.Constructors in org.ek9lang.compiler.phase7.generation with parameters of type ParsedModuleModifierConstructorDescriptionIRContext(ParsedModule parsedModule, IRModule irModule, CompilerFlags compilerFlags) Create new IR generation context for an executable scope.IRContext(ParsedModule parsedModule, IRModule irModule, CompilerFlags compilerFlags, SharedThreadContext<CompilableProgram> compilableProgramAccess) Create new IR generation context with compilable program access for cross-module operations. -
Uses of ParsedModule in org.ek9lang.compiler.phase7.support
Constructors in org.ek9lang.compiler.phase7.support with parameters of type ParsedModuleModifierConstructorDescriptionOperationDetailContextOrError(ParsedModule parsedModule) ParameterizedOperationDetailContextOrError(ParsedModule genericParsedModule) Create a matcher that uses the generic type's ParsedModule for AST context lookups.TextBodyDetailContextOrError(ParsedModule parsedModule) -
Uses of ParsedModule in org.ek9lang.compiler.repair
Methods in org.ek9lang.compiler.repair with parameters of type ParsedModuleModifier and TypeMethodDescription(package private) static ISymbolStringConcatRewriter.resolveSymbolForTest(ParsedModule parsedModule, EK9Parser.ExpressionContext expr) Visible for tests. -
Uses of ParsedModule in org.ek9lang.compiler.support
Fields in org.ek9lang.compiler.support declared as ParsedModuleMethods in org.ek9lang.compiler.support with parameters of type ParsedModuleModifier and TypeMethodDescriptionRecordedSymbols.aliasesOf(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree within, ISymbol symbol) symboland every captured copy of it made by a dynamic function or class insidewithin(transitively: a capture of a capture), as an identity set.static List<RecordedSymbols.Reference> RecordedSymbols.declaredIn(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree fragment) The declarations infragment, in source order: variables (x <- 1,x as T: v, thes <- next()of a guard), variable-only declarations (parameters, returns,x as T?) and loop variables.static booleanSymbolWrites.isWrittenBetween(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree region, Set<ISymbol> symbols, int afterTokenIndex, int beforeTokenIndex) Is any ofsymbolswritten inregionstrictly between two token positions (token indexes in the compiled token stream: passfirst.getStop().getTokenIndex()andsecond.getStart().getTokenIndex()to ask "does anything change these between the two occurrences?").static booleanSymbolWrites.isWrittenIn(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree region, Set<ISymbol> symbols) Is any ofsymbolswritten anywhere inregion.static List<RecordedSymbols.Reference> RecordedSymbols.referencedIn(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree fragment) Every identifier infragmentthat the compiler bound to a symbol, in source order: variables, parameters, properties (bare and through.), functions and methods called, types named,thisandsuper.static List<RecordedSymbols.Reference> RecordedSymbols.usesOf(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree within, ISymbol symbol) The references inwithintosymbol- that INSTANCE, never another symbol with the same name - plus the references to the copies of it that dynamic functions and classes insidewithincaptured (a capture is a copy symbol; a+=on it mutates the same object).static List<SymbolWrites.Write> SymbolWrites.writesOf(ParsedModule parsedModule, org.antlr.v4.runtime.tree.ParseTree region, ISymbol symbol) Every write tosymbol(or to a captured copy of it) inregion, in source order.Constructors in org.ek9lang.compiler.support with parameters of type ParsedModuleModifierConstructorDescription(package private)AggregateFactory(ParsedModule parsedModule) (package private)BasicSymbolFactory(ParsedModule parsedModule) (package private)CommonFactory(ParsedModule parsedModule) (package private)DirectiveFactory(ParsedModule parsedModule) (package private)FunctionFactory(ParsedModule parsedModule) (package private)OperationFactory(ParsedModule parsedModule) (package private)ServiceFactory(ParsedModule parsedModule) (package private)StreamFactory(ParsedModule parsedModule) SymbolFactory(ParsedModule parsedModule) Create a new symbol factory for use with the parsedModule.(package private)TextFactory(ParsedModule parsedModule) -
Uses of ParsedModule in org.ek9lang.compiler.symbolic
Methods in org.ek9lang.compiler.symbolic with parameters of type ParsedModuleModifier and TypeMethodDescriptionGuardCouplingReader.read(org.antlr.v4.runtime.tree.ParseTree constructCtx, List<ISymbol> callParameters, ParsedModule module) Read every coupling expressed by a control condition inconstructCtx.RequirePredicateReader.read(org.antlr.v4.runtime.tree.ParseTree constructCtx, List<ISymbol> callParameters, ParsedModule module) Read every modellablerequireprecondition inconstructCtx.Constructors in org.ek9lang.compiler.symbolic with parameters of type ParsedModuleModifierConstructorDescriptionSymbolicEngine(ParsedModule parsedModule) Same-module engine: a callee whose declaration is not inparsedModuleis not summarised.SymbolicEngine(ParsedModule parsedModule, Function<String, List<ParsedModule>> moduleResolver) Whole-program engine:moduleResolvermaps a module name to its parsed modules so a cross-module callee'srequiresummary can be read (Example 2 across a module boundary).Constructor parameters in org.ek9lang.compiler.symbolic with type arguments of type ParsedModuleModifierConstructorDescriptionSymbolicEngine(ParsedModule parsedModule, Function<String, List<ParsedModule>> moduleResolver) Whole-program engine:moduleResolvermaps a module name to its parsed modules so a cross-module callee'srequiresummary can be read (Example 2 across a module boundary).