class compiler::ResolveImports
sys::Obj compiler::CompilerSupport compiler::CompilerStep compiler::ResolveImports
ResolveImports maps every Using node in each CompilationUnit to a pod and ensures that it exists and that no imports are duplicated. Then we create a map for all the types which are imported into the CompilationUnit so that the Parser can quickly distinguish between a type identifier and other identifiers. The results of this step populate Using.resolvedXXX and CompilationUnit.importedTypes.
- make
-
new make(Compiler compiler)
Constructor takes the associated Compiler
- resolvePod
-
static CPod? resolvePod(CompilerSupport cs, Str podName, Loc loc)
Resolve a pod name into its CPod representation. If pod cannot be resolved then log an error and return null.
- resolveQualified
-
static CType? resolveQualified(CompilerSupport cs, Str podName, Str typeName, Loc loc)
Resolve a fully qualified type name into its CType representation. This may be a TypeDef within the compilation units or could be an imported type. If the type name cannot be resolved then we log an error and return null.
- resolved
- run
-
virtual override Void run()
Run the step