英語版
このページの英語版を見る

dmd.dmodule

パッケージとモジュールを定義する。
Authors:

ソース dmodule.d

nothrow void removeHdrFilesAndFail(ref Param params, ref Modules modules);
エラー時に生成された .di ファイルを削除して終了する
class Package: dmd.dsymbol.ScopeDsymbol;
static DsymbolTable resolve(Identifier[] packages, Dsymbol* pparent, Package* ppkg);

入力 packages[] pkg1.pkg2.mod の pkg1.pkg2

Returns:
modが挿入されるべきシンボルテーブル

出力 *pparent...一番右のパッケージ、つまりpkg2、パッケージがなければNULL。 *ppkg 一番左のパッケージ、つまり pkg1、またはパッケージがない場合は NULL

final const bool isAncestorPackageOf(const Package pkg);
pkg がこのパッケージのサブパッケージかどうかを調べる。
例: this が 'a1.a2' で pkg - が 'a1.a2.a3' の場合、 この関数は "true"を返す。もしその逆であったり、修飾されていたりすれば、この関数は'false'を返す。 パッケージパスの衝突関数は'false'を返す。
Parameters:
Package pkg 可能なサブパッケージ
Returns:
説明を見る
final void resolvePKGunknown();
isPkgModを適切に設定するために、package.dの存在をチェックする。 if isPkgMod == PKG.unknown
class Module: dmd.dmodule.Package;
static void deinitialize();
コンパイラのグローバル状態を初期化する。
これは、_init によって設定された状態を元の状態に戻すために使用できる。 状態に戻すことができる。
const(ubyte)[] src;
ファイルの生の内容
Dsymbol[void*] tagSymTab;

ImportC インデックスとして使われる他のシンボルと衝突するタグシンボル

bool selfImports();
モジュールが自分自身をインポートする場合、trueを返す。
bool rootImports();
モジュールがルート・モジュールをインポートする場合、true を返す。
Module importedFrom;
ルート・モジュールというのは、コンパイルされてオブジェクト・コードになるモジュールのことである。 オブジェクトコードまでコンパイルされるものである。 このフィールドは このフィールドは、このモジュールがロードされる原因となったルート・モジュールを保持する。 このモジュールがルート・モジュールである場合、このフィールドは に設定される、 このモジュールがルート・モジュールであれば、this に設定される。 テンプレートのインスタンス化の所有権を決定するために使用される。
FileName setOutfilename(const(char)[] name, const(char)[] dir, const(char)[] arg, const(char)[] ext);
.htmlと.diファイルの出力ファイル名にまとめる。

入力 name ファイルに与えられたコマンドライン名。 dir ファイルに指定されたコマンドライン・ディレクトリ。 arg ソースファイル名 ext 'name'がNULLの場合に使用するファイル名の拡張子 global.params.preservePaths argから出力パスを取得する srcfile 入力ファイル - 出力ファイル名は入力ファイルと一致してはならない

bool read(const ref Loc loc);
srcfile からファイルを読み込み、ソースバッファをロードする。
makefileモジュールの依存性が要求された場合、ここからこのモジュールを依存性リストに追加する。 を依存リストに追加する。
Parameters:
Loc loc 場所
Returns:
true 成功した場合
Module parse();

Module parseModule(AST)();
構文解析
int needModuleInfo();
のインスタンスを生成する必要があるかどうかを判断する。 のインスタンスを生成する必要があるかどうかを判断する。
void checkImportDeprecation(const ref Loc loc, Scope* sc);
非推奨であれば、非推奨の警告を表示する。 このモジュールがスコープ sc からインポートされたとき。
Parameters:
Scope* sc インポートされるスコープ
Loc loc import文の位置
static void addDeferredSemantic(Dsymbol s);
今はsに対してsemanticを実行できない。
static void runDeferredSemantic();
遅延シンボルに対してsemantic()を実行する。
nothrow int imports(Module m);
このモジュールがインポートするすべてのモジュールを再帰的に調べる、 mをインポートしていれば真を返す。 循環インポートの検出に使用できる。
nothrow bool isCoreModule(Identifier ident);
Returns:
このモジュールがcore パッケージにあり、かつ名前を持っているかどうか。 ident
uint[uint] ctfe_cov;
カバレッジ情報をctfeから得る。
nothrow void fullyQualifiedName(ref OutBuffer buf);
このモジュールの完全修飾名をbufに書き込む
Parameters:
OutBuffer buf 書き込むバッファ
nothrow Escape* escapetable();
エスケープテーブルをのんびり初期化して返す。 メモリをたくさん食うことがわかった。
static Module loadCoreStdcConfig();
core.stdc.configをロードするシングルトン
Returns:
core.stdc.configのモジュール、見つからなければnull。
static Module loadCoreAtomic();
core.atomicをロードするシングルトン
Returns:
core.atomicのモジュール、見つからなければnull
static Module loadStdMath();
std.mathをロードするシングルトン
Returns:
std.mathのモジュール、見つからなかった場合はnull
struct ModuleDeclaration;
const const(char)[] toString();
人間が読める表現を提供する
void getLocalClasses(Module mod, ref ClassDeclarations aclasses);
モジュール内のローカルクラスの配列を作成する。 ModuleInfoに含めるのに適している
Parameters:
Module mod モジュール
ClassDeclarations aclasses を埋める
Returns:
ローカルクラスの配列
int _foreach(Scope* sc, Dsymbols* members, scope ForeachDg dg, size_t* pn = null);
メンバの属性宣言を深さ優先で展開する の順に拡張する。各メンバーに対してdg(size_t symidx, Dsymbol *sym)を呼び出す。 を呼び出す。 dgが!=0を返した場合、その値を返す。 この関数を使うことで、O(N + N^2/2)の複雑さを避けることができる。 dimを計算し、N回getNthを呼び出す複雑さを避けるために、この関数を使用する。
Returns:
dg()が最後に返した値。
FuncDeclaration findGetMembers(ScopeDsymbol dsym);
フォームのメンバを探す: const(MemberInfo)[] getMembers(string); 見つからない場合はNULLを返す