Class PostSymbolResolutionChecks

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

public class PostSymbolResolutionChecks extends CompilerPhase
SINGLE THREADED Once full resolution has completed, additional checks need to be made. These relate to Generic Types, are assumed operators present on the type arguments. Are the types used when subtyping constrained generic types appropriate. But there could be several other post resolution checks if required. Ideally most checks will have been done as early as possible, but as EK9 is quite dynamic and has inference it means that not all checks can be completed until now. It's a bit of brain fuzzer - because it relates to generics and type of types. This class just deals with traversing the compilable program and all the modules, then it calls the ParameterisedTypeOrError to check each in turn.