W3cubDocs

/D

dmd.dmodule

Compiler implementation of the D programming language.

Authors:
Walter Bright
License:
Boost License 1.0
Source
dmodule.d
Documentation
https://dlang.org/phobos/dmd_dmodule.html
Coverage
https://codecov.io/gh/dlang/dmd/src/master/src/dmd/dmodule.d
class Package: dmd.dsymbol.ScopeDsymbol;
static DsymbolTable resolve(Identifiers* packages, Dsymbol* pparent, Package* ppkg);
Input
packages[] the pkg1.pkg2 of pkg1.pkg2.mod
Returns:
the symbol table that mod should be inserted into
Output
*pparent the rightmost package, i.e. pkg2, or NULL if no packages *ppkg the leftmost package, i.e. pkg1, or NULL if no packages
final const bool isAncestorPackageOf(const Package pkg);

Checks if pkg is a sub-package of this

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
Returns:
see description
final void resolvePKGunknown();

Checks for the existence of a package.d to set isPkgMod appropriately if isPkgMod == PKG.unknown

class Module: dmd.dmodule.Package;
static void deinitialize();

Deinitializes the global state of the compiler.

This can be used to restore the state set by _init to its original state.

bool selfImports();

Return true if module imports itself.

bool rootImports();

Return true if module imports root module.

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.

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 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
bool loadSourceBuffer(ref const Loc loc, ref File.ReadResult readResult);

Loads the source buffer from the given read result into this.srcBuffer.

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
Returns:
true if successful
bool read(ref const Loc loc);

Reads the file from srcfile and loads the source buffer.

Parameters:
Loc loc the location
Returns:
true if successful
See Also:
loadSourceBuffer
Module parse();

Module parse(AST)(DiagnosticReporter diagnosticReporter);

syntactic parse

int needModuleInfo();

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

static void addDeferredSemantic(Dsymbol s);

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

static void runDeferredSemantic();

Run semantic() on deferred symbols.

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.

void fullyQualifiedName(ref OutBuffer buf);

Writes this module's fully-qualified name to buf

Parameters:
OutBuffer buf The buffer to write to
struct ModuleDeclaration;
const const(char)[] toString();

Provide a human readable representation

© 1999–2019 The D Language Foundation
Licensed under the Boost License 1.0.
https://dlang.org/phobos/dmd_dmodule.html