Class TypeHierarchyChecks

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

public final class TypeHierarchyChecks extends CompilerPhase
SINGLE THREADED - Run across sources to check for types, functions and traits for 'super loops'. This is a bit nasty, basically there is a need to follow supers all the way back. For aggregates this is just 'getSuperAggregateSymbol' for functions 'getSuperFunctionSymbol'. But for traits - you need to get all its traits. But note that it is important to flip between an aggregate hierarchy and a trait one. TODO consider checking property loops, not when type typed but when loops in constructor calls.