Constructs a ModuleManager object.
Inserts the given module into the tables.
Reports an error.
Reports an error.
Reports the error that the module was not found.
Searches for a module in the file system looking in importPaths.
Returns the package given a f.q. package name. Returns the root package for an empty string.
Insert a module into the ordered list.
Loads a module given an FQN path. Searches import paths.
Loads and parses a module given a file path.
Looks up a module by its f.q.n. path. E.g.: "dil/ModuleManager"
Looks up a module by its file path. E.g.: "src/dil/ModuleManager.d" Relative paths are made absolute.
Sorts the the subpackages and submodules of pckg.
Calls sortPackageTree() with this.rootPackage.
Splits e.g. 'dil.ast.xyz' into 'dil.ast' and 'xyz'.
Returns a normalized, absolute path.
Compares the number of imports of two modules.
A predicate for sorting symbols in ascending order. Compares symbol names ignoring case.
Searches for a module in the file system looking in importPaths.
Returns e.g. 'dil.ast' for 'dil/ast/Node'.
Maps absolute file paths to modules. E.g.: /home/user/dil/src/main.d
Provides tables and compiler variables.
Loaded modules in sequential order.
Maps FQN paths to modules. E.g.: dil/ast/Node
Loaded modules which are ordered according to the number of import statements in each module (ascending order.)
Maps full package names to packages. E.g.: dil.ast
The root package. Contains all other modules and packages.
Manages loaded modules in various tables.