Package org.ek9lang.compiler.phase7
Class IRGeneration
java.lang.Object
org.ek9lang.compiler.CompilerPhase
org.ek9lang.compiler.phase7.IRGeneration
- All Implemented Interfaces:
BiFunction<Workspace,
CompilerFlags, CompilationPhaseResult>
MULTI THREADED
All symbols resolve and so should be able to create an intermediate representation.
But this phase will be for non-generic types ONLY - see later how the IR is created for
Template/generic types.
NOTE: when processing and generating nodes - YOU must visit down the tree - don't be tempted
to use just the symbols from the previous phases. That was mainly to ensure semantics,
this is 'the generate an IR' yes you can use information from the previous stages but the
types of nodes generated are really important and it is the context of where they are defined
that adds real value.
-
Field Summary
Fields inherited from class org.ek9lang.compiler.CompilerPhase
compilableProgramAccess, listener, reporter
-
Constructor Summary
ConstructorDescriptionIRGeneration
(SharedThreadContext<CompilableProgram> compilableProgramAccess, Consumer<CompilationEvent> listener, CompilerReporter reporter) -
Method Summary
Modifier and TypeMethodDescriptionboolean
doApply
(Workspace workspace, CompilerFlags compilerFlags) Do the compilation phase.Methods inherited from class org.ek9lang.compiler.CompilerPhase
apply
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.BiFunction
andThen
-
Constructor Details
-
Method Details
-
doApply
Description copied from class:CompilerPhase
Do the compilation phase.- Specified by:
doApply
in classCompilerPhase
-