Package org.ek9lang.compiler.phase10
This is the phase that actually generates output code (in some form) ready to be optimised and packaged.
Depending on the target Architecture specified, this phase produces its output through a
ConstructOutputSink - either class files, or bytes held in memory. The CLI batch build
takes the latter and builds the jar from them without writing class files at all; the exploded
form is what the -t runner, the REPL and the IDE read.
If the target is a JVM, then this phase will produce byte code that can be packaged into a 'Jar'.
On the other hand if the target was LLVM (and a specific binary target) then the output would just be llvm source files that can be consumed by the llvm compiler.
CodeGenerationPreparation,
CodeGenerationConstants and
CodeGenerationAggregates
-
ClassesClassDescriptionGenerate all type of aggregates, typically classes, components, records, etc.SINGLE THREADED.MULTI THREADED Generate all constants that have been defined.SINGLE THREADED Preparation to generate code.