Class ModuleDuplicateSymbolChecks

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

public final class ModuleDuplicateSymbolChecks extends CompilerPhase
Goes through each module name and checks each of the parsedModules in that module name to check there is only a single copy of that symbol in the whole module name space. This is because we allow multithreaded loading of each source file. This is an additional 'paranoid' check to ensure no module has the same symbol name in use at the top level. Eventually it will be retired - but during development - it may enable early warning of threading issues. Or other issues. but it's best to catch as early as possible.