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

dmd.cond

static if versiondebug のようなコンパイル時の条件式を評価する。
Authors:

ソース cond.d

enum Include: ubyte;
notComputed
まだ計算されていない
yes
条件付きコードを含める
no
条件コードを含めない
class StaticForeach: dmd.rootobject.RootObject;
StaticForeachDeclarationとStaticForeachStatementの共通機能を実装する。 StaticForeachStatement の共通機能を実装する。 dmd.statementsem.makeTupleForeachを使用して、対応する宣言やステートメントを展開する前に、必要な下位化を行う。 対応するstatic foreach 宣言または文を展開するために使用される。
ForeachStatement aggrfe;
static foreach が集合体上の場合は、null しない。この場合 この場合、対応するForeachStatementが含まれる。対応する StaticForeachDeclaration の場合、ボディはnull である。
ForeachRangeStatement rangefe;
static foreach が範囲にわたる場合はnull ではない。正確には aggreferangefeフィールドのちょうど1つがNULLでない。詳細は aggrfe フィールドを参照のこと。
bool needExpansion;
タプルを複数の変数(lowerNonArrayAggregateを参照)に展開する必要がある場合はtrueを返す。 に展開する必要がある場合はtrueを指定する(lowerNonArrayAggregateを参照)。
void prepare(Scope* sc);
最終的にstatic foreach 。 を使って最終的にstatic foreachdmd.statementsem.makeTupleForeach.
bool ready();
Returns:
true dmd.statementsem.makeTupleForeach を呼び出す準備ができている場合。
abstract class DVCondition: dmd.cond.Condition;
class DebugCondition: dmd.cond.DVCondition;
deprecated static void addGlobalIdent(const(char)* ident);

static void addGlobalIdent(string ident);

static void addGlobalIdent(const(char)[] ident);
グローバル・デバッグ識別子のリストに、ユーザー提供の識別子を追加する。
ドライバまたはdebug = Ident; 文のどちらからでも呼び出すことができる。 バージョン識別子とは異なり、予約されたデバッグ識別子はない。 ないので、検証は行われない。
Parameters:
const(char)* ident 追加する識別子
@safe this(const ref Loc loc, Module mod, uint level, Identifier ident);
新しいDebugCondition
Parameters:
Module mod このノードが属するモジュール
uint level この条件が通過する必要がある最小のグローバルレベル。 以下の場合にのみ使用される。 identnull の場合のみ使用される。
Identifier ident この条件が通過するために必要な識別子。 null の場合、この条件は整数レベルを使用する。
Loc loc ソース・ファイル内の場所
class VersionCondition: dmd.cond.DVCondition;
バージョン条件を表すノード
バージョン条件は以下の形式である:
version (Identifier)
ユーザー・コードでは このクラスはまた、バージョン識別子 をグローバル(クロス・モジュール)識別子のリストに追加する手段も提供する。
static void checkReserved(const ref Loc loc, const(char)[] ident);
バージョン識別子が予約されている場合はエラーを発生させる。
バージョン識別子を設定するときに呼び出される。-version=identifier version = Foo パラメータを設定するときに呼び出される。
Parameters:
Loc loc 識別子を設定する場所
const(char)[] ident チェックされる識別子(ident[$]は'˶0'でなければならない)
deprecated static void addGlobalIdent(const(char)* ident);

static void addGlobalIdent(string ident);

static void addGlobalIdent(const(char)[] ident);
ユーザーが指定したグローバル識別子をリストに追加する
-version=Ident パラメータに対してのみドライバから呼び出される。 識別子が予約されている場合はエラーになる。
Parameters:
const(char)* ident 追加する識別子
deprecated static void addPredefinedGlobalIdent(const(char)* ident);

static void addPredefinedGlobalIdent(string ident);

static void addPredefinedGlobalIdent(const(char)[] ident);
任意のグローバル識別子をリストに追加する。 定義済みかどうかをチェックしない
プラットフォーム検出後にドライバからのみ呼び出される、 内部的には
Parameters:
const(char)* ident 追加する識別子(ident[$]は'˶0'でなければならない)
@safe this(const ref Loc loc, Module mod, uint level, Identifier ident);
新しいVersionCondition
Parameters:
Module mod このノードが属するモジュール
uint level この条件が通過する必要がある最小のグローバルレベル。 以下の場合にのみ使用される。 identnull の場合のみ使用される。
Identifier ident この条件が通過するために必要な識別子。 null の場合、この条件は整数レベルを使用する。
Loc loc ソース・ファイル内の場所
class StaticIfCondition: dmd.cond.Condition;
pure nothrow @safe bool findCondition(ref Identifiers ids, Identifier ident);
を見つける。 identを識別子の配列で検索する。
Parameters:
Identifiers ids 識別子の配列
Identifier ident 検索する識別子。
Returns:
見つかった場合は真