Uses of Class
org.ek9lang.compiler.CompilableProgram
Package
Description
B - For the EK9 compiler itself.
C - For the Suppliers of the 'compilation phases' as mentioned in the
org.ek9lang.compiler
package.E - Initial Symbol definition by traversing the 'ANTLR' - 'AST'.
F - Resolution of Explicitly Defined Type Symbols at this point phase1 processing should have defined
most of the explicitly defined symbols, so they should be resolvable.
G - Full Symbol Resolution can now take place.
This is the main source of EK9 Symbols used within the compiler.
-
Uses of CompilableProgram in org.ek9lang.compiler
Modifier and TypeFieldDescriptionprotected final SharedThreadContext
<CompilableProgram> CompilerPhase.compilableProgramAccess
Modifier and TypeMethodDescriptionDeSerializer.apply
(byte[] bytes) Ek9LanguageBootStrap.get()
Provide the access to a compilable program, this is preconfigured with all the ek9 built in symbols, in the appropriate modules.Modifier and TypeMethodDescriptionbyte[]
Serializer.apply
(SharedThreadContext<CompilableProgram> program) ModifierConstructorDescriptionprotected
CompilerPhase
(CompilationPhase phase, SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) ParsedModule
(CompilableSource source, SharedThreadContext<CompilableProgram> compilableProgram) We may hold Nodes in here - but not sure yet. -
Uses of CompilableProgram in org.ek9lang.compiler.config
Modifier and TypeFieldDescriptionprotected final SharedThreadContext
<CompilableProgram> PhaseSupplier.compilableProgramAccess
ModifierConstructorDescriptionBackEndSupplier
(SharedThreadContext<CompilableProgram> compilableProgramAccess, CompilationPhaseListener listener, CompilerReporter reporter) Create a new supplier of back-end compiler phases.FrontEndSupplier
(SharedThreadContext<CompilableProgram> compilableProgramAccess, CompilationPhaseListener listener, CompilerReporter reporter, boolean notBootStrapping) Create a new supplier of front end only compiler phases.FullPhaseSupplier
(SharedThreadContext<CompilableProgram> compilableProgramAccess, CompilationPhaseListener listener, CompilerReporter reporter) Create a new supplier of a full set of compiler phases.MiddleEndSupplier
(SharedThreadContext<CompilableProgram> compilableProgramAccess, CompilationPhaseListener listener, CompilerReporter reporter) Create a new supplier of a middle-end set of compiler phases.protected
PhaseSupplier
(SharedThreadContext<CompilableProgram> compilableProgramAccess, CompilationPhaseListener listener, CompilerReporter reporter) Create a new supplier of a full set of compiler phases. -
Uses of CompilableProgram in org.ek9lang.compiler.phase1
ModifierConstructorDescription(package private)
ReferencesPhase1Listener
(CompilableProgram compilableProgram, ParsedModule parsedModule) Next phase after symbol definition, now check for explicit references.ModifierConstructorDescriptionModuleDuplicateSymbolChecks
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create a new duplicate checker for modules contained in the compilable program.ReferenceChecks
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create a new reference checker for modules contained in the compilable program.SymbolDefinition
(boolean notBootStrapping, SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create symbol definition instance with optional multi-threading.SymbolDefinition
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create a new phase 1 symbol definition instance, defaults to multithreading enabled. -
Uses of CompilableProgram in org.ek9lang.compiler.phase10
ModifierConstructorDescriptionCodeGenerationAggregates
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) CodeGenerationConstants
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) CodeGenerationFunctions
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) CodeGenerationPreparation
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase11
ModifierConstructorDescriptionCodeOptimisation
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase12
ModifierConstructorDescriptionPackaging
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) PackagingPostProcessing
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) PluginLinkage
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase2
ModifierConstructorDescriptionNonInferredTypeDefinition
(boolean multiThread, SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create a new phase 1 second pass template type symbol resolution definition instance.TypeHierarchyChecks
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create a new instance for checking of type hierarchies. -
Uses of CompilableProgram in org.ek9lang.compiler.phase3
ModifierConstructorDescriptionSymbolResolution
(boolean multiThread, SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create new instance to finally resolve all symbols, even inferred ones. -
Uses of CompilableProgram in org.ek9lang.compiler.phase4
ModifierConstructorDescriptionPostSymbolResolutionChecks
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create new instance to check everything is logical and cohesive. -
Uses of CompilableProgram in org.ek9lang.compiler.phase5
ModifierConstructorDescriptionPreIntermediateRepresentationChecks
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase6
ModifierConstructorDescriptionPluginResolution
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) Create new instance to resolve plugins for extern packages. -
Uses of CompilableProgram in org.ek9lang.compiler.phase7
ModifierConstructorDescriptionIRGeneration
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) ProgramWithIR
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase8
ModifierConstructorDescriptionTemplateGeneration
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.phase9
ModifierConstructorDescriptionIRAnalysis
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) IROptimisation
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Uses of CompilableProgram in org.ek9lang.compiler.symbols
Modifier and TypeMethodDescriptionModuleScope.clone
(SharedThreadContext<CompilableProgram> newContext) Create a clone of this ModuleScope.ModifierConstructorDescriptionModuleScope
(String scopeName, SharedThreadContext<CompilableProgram> program) Create a new ModuleScope with a specific name and reference to the compilable program it is part of.