Module

extern (C++) final
class Module : Package {
Module rootModule;
DsymbolTable modules;
Modules amodules;
Dsymbols deferred;
Dsymbols deferred2;
Dsymbols deferred3;
uint dprogress;
AggregateDeclaration moduleinfo;
const(char)* arg;
ModuleDeclaration* md;
File* srcfile;
const(char)* srcfilePath;
File* objfile;
File* hdrfile;
File* docfile;
uint errors;
uint numlines;
int isDocFile;
bool isPackageFile;
int needmoduleinfo;
int selfimports;
int rootimports;
int insearch;
Identifier searchCacheIdent;
Dsymbol searchCacheSymbol;
int searchCacheFlags;
Module importedFrom;
Dsymbols* decldefs;
Modules aimports;
uint debuglevel;
Strings* debugids;
Strings* debugidsNot;
uint versionlevel;
Strings* versionids;
Strings* versionidsNot;
Macro* macrotable;
Escape* escapetable;
size_t nameoffset;
size_t namelen;
int doppelganger;
Symbol* cov;
uint* covb;
Symbol* sictor;
Symbol* sctor;
Symbol* sdtor;
Symbol* ssharedctor;
Symbol* sshareddtor;
Symbol* stest;
Symbol* sfilename;
Symbol* massert;
Symbol* munittest;
Symbol* marray;
}

Members

Functions

imports
int imports(Module m)

Recursively look at every module this module imports, return true if it imports m. Can be used to detect circular imports.

needModuleInfo
int needModuleInfo()

Determine if we need to generate an instance of ModuleInfo for this Module.

rootImports
bool rootImports()

Return true if module imports root module.

selfImports
bool selfImports()

Return true if module imports itself.

setOutfile
File* setOutfile(const(char)* name, const(char)* dir, const(char)* arg, const(char)* ext)

Combines things into output file name for .html and .di files. Input: name Command line name given for the file, NULL if none dir Command line directory given for the file, NULL if none arg Name of the source file ext File name extension to use if 'name' is NULL global.params.preservePaths get output path from arg srcfile Input file - output file name must not match input file

Static functions

addDeferredSemantic
void addDeferredSemantic(Dsymbol s)

Can't run semantic on s now, try again later.

runDeferredSemantic
void runDeferredSemantic()

Run semantic() on deferred symbols.

Inherited Members

From Package

resolve
DsymbolTable resolve(Identifiers* packages, Dsymbol* pparent, Package* ppkg)

Input: packages[] the pkg1.pkg2 of pkg1.pkg2.mod

isAncestorPackageOf
bool isAncestorPackageOf(const Package pkg)

Checks if pkg is a sub-package of this

Meta