Package org.ek9lang.compiler.phase2


package org.ek9lang.compiler.phase2
F - Resolution of Explicitly Defined Type Symbols - at this point phase1 processing should have defined most of the explicitly defined symbols, so they should be resolvable.

While there is focus on explicitly defined type usage, there is some simple inferred typing that is done for declared variables. This is very simple but useful in terms of properties and return variables.

NonInferredTypeDefinition is the main entry point here and it delegates through to ResolveDefineExplicitTypeListener. Again the SymbolsAndScopes class is used to manage the scopes.

The Symbols and scopes that were defined in phase1 are now looked up up using the SymbolsAndScopes and in some cases augmented or in other cases checked.

Following the pass described above and second pass of the 'AST' is done using TypeHierarchyChecks. This is focussed on checking for loops in type hierarchies.

See org.ek9lang.compiler.phase3 for the next stage of compilation.