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

dmd.declaration

型定義、エイリアス、暗黙的なthis宣言を含む変数宣言、型タプル、ClassInfo、ModuleInfo、およびさまざまなTypeInfoを含む、その他の宣言。
Authors:

ソースdeclaration.d

カバレッジ https://codecov.io/gh/dlang/dmd/src/master/src/dmd/declaration.d

bool checkFrameAccess(Loc loc, Scope* sc, AggregateDeclaration ad, size_t iStart = 0);
集約型がネストされており、そのコンテキストポインタが 現在のスコープからアクセス可能であることを確認する。 エラーが発生した場合は true を返す。
bool modifyFieldVar(Loc loc, Scope* sc, VarDeclaration var, Expression e1);
コンストラクタの内部で、そのコンストラクタがフィールドである場合、変数vを変更済みとしてマークする。 また、不変のグローバル変数を静的コンストラクタの内部で初期化できるようにするためにも使用される。
Returns:
v の初期化である場合は true を返す
void ObjectNotFound(Loc loc, Identifier id);
abstract class Declaration: dmd.dsymbol.Dsymbol;
final bool checkDisabled(Loc loc, Scope* sc, bool isAliasedDeclaration = false);
無効化されたメソッドの呼び出しが試みられた場合はエラーを発行する
宣言が無効になっているが、無効化された関数内部にある場合、true を返すが、エラーメッセージは発行しない。
Parameters:
Loc loc 呼び出しの場所情報
Scope* sc 呼び出しが発生するスコープ
bool isAliasedDeclaration true がオーバーロードセットを検索する場合
Returns:
true この が dの場合、 の場合。Declaration @disable false
final Modifiable checkModify(Loc loc, Scope* sc, Expression e1, ModifyFlags flag);
このコンテキスト(sc)で宣言を修正できるかどうかを確認する。 修正できない場合はエラーを発行する。
Parameters:
Loc loc エラーメッセージの場所
Expression e1 null または 式。この宣言がフィールドのコンテキストである場合this
Scope* sc コンテキスト
ModifyFlags flag 最初のビットが設定されている場合、無効な修正に対してエラーメッセージを発行しないことを意味する。 2番目のビットが設定されている場合、 この宣言がフィールドであり、そのサブフィールドが修正されたことを意味する。
Returns:
変更可能。はいまたは変更可能。初期化
final const LINK resolvedLinkage();
リンクを返し、ターゲット固有のSystem を特定する。
final const pure nothrow @nogc @safe bool isReference();
Returns:
変数が参照であるかどうか、out またはCで注釈されているかどうかをref
class TupleDeclaration: dmd.declaration.Declaration;
void foreachVar(scope void delegate(Dsymbol) dg);
各Dsymbolについてdg(Dsymbol)を呼び出す。DsymbolはVarExp(isexp == true)内のVarDeclarationでなければならない。
Parameters:
void delegate(Dsymbol) dg 各 Dsymbol に対してコールする
int foreachVar(scope int delegate(Dsymbol) dg);
各 Dsymbol に対して dg(Dsymbol) を呼び出す。これは、VarExp 内の VarDeclaration である必要がある (isexp == true)。 dg が 0 以外を返した場合は停止し、その値を返す。それ以外は 0 を返す。
Parameters:
int delegate(Dsymbol) dg 各 Dsymbol に対して呼び出す。
Returns:
dg()が最後に返した値
class AliasDeclaration: dmd.declaration.Declaration;
const bool isAliasedTemplateParameter();
Returns: このインスタンスがテンプレート本体のスコープ内でテンプレートパラメータを可視化するために作成された場合、xml-ph-0000@deepl.internal。それ以外の場合。
true このインスタンスがテンプレート本体のスコープ内でテンプレートパラメータを可視化するために作成された場合、 。それ以外の場合false
class OverDeclaration: dmd.declaration.Declaration;
class VarDeclaration: dmd.declaration.Declaration;
final bool isDataseg();
シンボルはデータセグメントに入るか? 外部変数を含む。
final bool isThreadlocal();
シンボルはスレッドローカルストレージに入るか?
final bool isCTFE();
変数はCTFEによって読み書き可能か?
final @safe bool canTakeAddressOf();
この変数のアドレスを取得できる場合は「真」を返す。
final @safe bool needsScopeDtor();
変数でデストラクタを呼び出す必要がある場合は、trueを返す。
final Expression callScopeDtor(Scope* sc);
変数にスコープデストラクタ呼び出しがある場合は、それを返す。 それ以外はNULLを返す。
final Expression getConstInitializer(bool needFullType = true);
変数に定数式の初期化子がある場合はそれを取得する。 それ以外は NULL を返す。
final Expression expandInitializer(Loc loc);
マニフェスト定数の展開用のヘルパー関数。
final bool checkNestedReference(Scope* sc, Loc loc);
この変数が現在の関数ではなく、より上位の関数に実際に存在するかどうかを確認する。 nestedrefs[]、closureVars[]、outerVars[]を更新する。
Returns:
エラーが発生した場合に true を返す。
class BitFieldDeclaration: dmd.declaration.VarDeclaration;
C11 6.7.2.1-4 ビットフィールド
final ulong getMinMax(Identifier id);
.minまたは.maxの値を取得する。 意味解析後にのみ有効。
Parameters:
Identifier id Id.minまたはId.max
Returns: 最小値または最大値
最小値または最大値
class SymbolDeclaration: dmd.declaration.Declaration;
これはバックエンドシンボルのシェルである
class TypeInfoStructDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoClassDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoInterfaceDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoPointerDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoArrayDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoStaticArrayDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoAssociativeArrayDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoEnumDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoFunctionDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoDelegateDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoTupleDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoConstDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoInvariantDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoSharedDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoWildDeclaration: dmd.declaration.TypeInfoDeclaration;
class TypeInfoVectorDeclaration: dmd.declaration.TypeInfoDeclaration;
class ThisDeclaration: dmd.declaration.VarDeclaration;
メンバ関数への「this」パラメータ