Menu

- Learn
- Documentation
  - Language Reference
  - Library Reference
  - Command-line Reference
  - Feature Overview
  - Articles
- Packages
- Community
  - Blog
  - Orgs using D
  - Twitter
  - Forums
  - IRC
  - Wiki
  - GitHub
  - Issues
  - Get involved
  - Foundation
  - Donate
- Resources
  - Books
  - Tutorials
  - Tools
  - Editors
  - IDEs
  - Visual D
  - Acknowledgments
  - D Style
  - Glossary
  - Sitemap

Search
Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

# ddmd.dmodule

Compiler implementation of the D programming language.
Authors:
Walter Bright
License:
Boost License 1.0

Source: dmodule.d

const(char)* `lookForSourceFile`(const(char)** `path`, const(char)* `filename`);
  Look for the source file if it's different from `filename`. Look for .di, .d, directory, and along global.`path`. Does not open the file.

  Output: `path` the `path` where the file was found if it was not the current directory

  Input: `filename` as supplied by the user global.`path`

  Returns:
  NULL if it's not different from `filename`.
class `Package`: ddmd.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
class `Module`: ddmd.dmodule.Package;
  uint `unitTestCounter`;
    How many unit tests have been seen so far in this module. Makes it so the unit test name is reproducible regardless of whether it's compiled separately or all at once.
  bool `selfImports`();
    Return `true` if module imports itself.
  bool `rootImports`();
    Return `true` if module imports root module.
  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

  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`.
struct `ModuleDeclaration`;

Copyright © 1999-2017 by the D Language Foundation | Page generated by Ddoc on Wed Nov 29 21:28:59 2017