Class IRAnalysis

java.lang.Object
org.ek9lang.compiler.CompilerPhase
org.ek9lang.compiler.phase9.IRAnalysis
All Implemented Interfaces:
BiFunction<Workspace,CompilerFlags,CompilationPhaseResult>

public class IRAnalysis extends CompilerPhase
SINGLE THREADED. At this point all sources have parsed, all symbols resolved and IR is built. During the creation of the IR some analysis will have already taken place; this is aimed at 'failing early'. This enables the developer to address issues in large code bases much earlier. However, there is some analysis that can only take place once we have the whole IR in place. That's what this phase is for, analysing the whole IR and doing any and all final checks before optimisation takes place.