ddmd.dmodule - D Programming Language
Description: D Programming Language
Keywords: D programming language

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
  - 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;
  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 Mon Apr 10 10:54:47 2017