dmd.dmodule
Defines a package and module.
Specification: Modules
License
Source: dmodule.d
Documentation: https://dlang.org/phobos/dmd_dmodule.html
-
Declaration
void
removeHdrFilesAndFail
(ref Paramparams
, ref Modulesmodules
);Remove generated .di files on error and exit
-
Declaration
class
Package
: dmd.dsymbol.ScopeDsymbol;-
Declaration
static DsymbolTable
resolve
(Identifier[]packages
, Dsymbol*pparent
, Package*ppkg
);Input:
packages
[] the pkg1.pkg2 of pkg1.pkg2.modReturn Value
the symbol table that mod should be inserted into
Output: *
pparent
the rightmost package, i.e. pkg2, or NULL if nopackages
*ppkg
the leftmost package, i.e. pkg1, or NULL if nopackages
-
Declaration
final const bool
isAncestorPackageOf
(const Packagepkg
);Checks if
pkg
is a sub-package of thisDiscussion
For example, if this qualifies to 'a1.a2' and
pkg
- to 'a1.a2.a3', this function returns 'true
'. If it is other way around or qualified package paths conflict function returns 'false
'.Parameters
Package
pkg
possible subpackage
Return Value
see description
-
Declaration
final void
resolvePKGunknown
();Checks for the existence of a package.d to set isPkgMod appropriately if isPkgMod == PKG.unknown
-
-
Declaration
class
Module
: dmd.dmodule.Package;-
Declaration
static void
deinitialize
();Deinitializes the global state of the compiler.
Discussion
This can be used to restore the state set by
_init
to its original state. -
Declaration
Dsymbol[void*]
tagSymTab
;ImportC: tag symbols that conflict with other symbols used as the index
-
Declaration
bool
selfImports
();Return
true
if module imports itself. -
Declaration
bool
rootImports
();Return
true
if module imports root module. -
Declaration
Module
importedFrom
;A root module is one that will be compiled all the way to object code. This field holds the root module that caused this module to be loaded. If this module is a root module, then it will be set to
this
. This is used to determine ownership of template instantiation. -
Declaration
FileName
setOutfilename
(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 linename
given for the file, NULL if nonedir
Command line directory given for the file, NULL if nonearg
Name of the source fileext
Filename
extension to use if 'name
' is NULL global.params.preservePaths get output path fromarg
srcfile Input file - output filename
must not match input file -
Declaration
bool
loadSourceBuffer
(const ref Locloc
, ref File.ReadResultreadResult
);Loads the source buffer from the given read result into
this.srcBuffer
.Discussion
Will take ownership of the buffer located inside
.readResult
Parameters
Loc
loc
the location
File.ReadResult
readResult
the result of reading a file containing the source code
Return Value
true
if successful -
Declaration
bool
read
(const ref Locloc
);Reads the file from
srcfile
and loads the source buffer.Discussion
If makefile module dependency is requested, we add this module to the list of dependencies from here.
Parameters
Loc
loc
the location
Return Value
true
if successfulSee Also
loadSourceBuffer
-
Declaration
Module
parse
();
ModuleparseModule
(AST)();syntactic
parse
-
Declaration
int
needModuleInfo
();Determine if we need to generate an instance of ModuleInfo for this Module.
-
Declaration
void
checkImportDeprecation
(const ref Locloc
, Scope*sc
);Print deprecation warning if we're deprecated, when this module is imported from scope
sc
.Parameters
Scope*
sc
the scope into which we are imported
Loc
loc
the location of the import statement
-
Declaration
static void
addDeferredSemantic
(Dsymbols
);Can't run semantic on
s
now, try again later. -
Declaration
static void
runDeferredSemantic
();Run semantic() on deferred symbols.
-
Declaration
int
imports
(Modulem
);Recursively look at every module this module
imports
, returntrue
if itimports
m
. Can be used to detect circularimports
. -
Declaration
uint[uint]
ctfe_cov
;coverage information from ctfe execution_count[line]
-
Declaration
void
fullyQualifiedName
(ref OutBufferbuf
);Writes this module's fully-qualified name to
buf
Parameters
OutBuffer
buf
The buffer to write to
-
Declaration
Escape*
escapetable
();Lazily initializes and returns the escape table. Turns out it eats a lot of memory.
-
-
Declaration
struct
ModuleDeclaration
;-
Declaration
const const(char)[]
toString
();Provide a human readable representation
-