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

dmd.dsymbolsem

記号の宣言は見るが、初期化子や関数本体は見ない。 や関数本体は見ない。
Authors:

ソース dsymbolsem.d

void dsymbolSemantic(Dsymbol dsym, Scope* sc);
宣言の表向きの意味解析を行う。
AlignDeclaration getAlignment(AlignDeclaration ad, Scope* sc);
AlignmentDeclarationの数値を決定する。
Parameters:
AlignDeclaration ad アラインメント宣言
Scope* sc コンテキスト
Returns:
アラインメント値が決定されたad
Expression resolveAliasThis(Scope* sc, Expression e, bool gag = false, bool findOnly = false);
eの型のalias this シンボルを見つける。
Parameters:
Scope* sc コンテキスト
Expression e 式を形成する。this
bool gag エラーを表示せず、代わりにnull を返す
bool findOnly プロパティの解決など、それ以上の処理を行わない、 すなわち、単にプレーンなdotExp()の結果を返す。
Returns:
式は次のようになる。 e.aliasthis
void addEnumMembersToSymtab(EnumDeclaration ed, Scope* sc, ScopeDsymbol sds);
EnumDeclarationのメンバーをシンボルテーブルに追加する。
Parameters:
EnumDeclaration ed EnumDeclaration
Scope* sc のコンテキストは ed
ScopeDsymbol sds シンボルテーブルの edに存在する
bool determineFields(AggregateDeclaration ad);
にあるすべてのインスタンス・フィールドを見つける。 adにあるすべてのインスタンス・フィールドを見つけ、それらをfields にプッシュする。
すべてのインスタンス・フィールド変数に対してsemantic()を実行する。 フィールド型は、まだ解決されていない前方参照を残すことができる、 を実行する。 処理後、sizeokはSizeok.fwdに設定される。
Parameters:
AggregateDeclaration ad に設定された後、AggregateDeclarationを検査する。
Returns:
エラーが発生したらfalseを返す。
Loc adjustLocForMixin(const(char)[] input, const ref Loc loc, ref Output mixinOut);
mixinをパースするためのlocを設定する。入力テキストをミックスインに追加する。
Parameters:
const(char)[] input ミックスインテキスト
Loc loc 調整する場所
Output mixinOut ミックスインテキストデータのシンク
Returns:
パーサーに適した位置に調整する
void checkPrintfScanfSignature(FuncDeclaration funcdecl, TypeFunction f, Scope* sc);
pragma(printf) 関数のシグネチャをチェックし、無効な場合はエラーを表示する。
printf/scanfライクな関数は以下の形式でなければならない: extern (C/C++) T printf([parameters...], const(char)* format, ...); または extern (C/C++) T vprintf([parameters...], const(char)* format, va_list);
Parameters:
FuncDeclaration funcdecl チェックする関数
TypeFunction f 関数型
Scope* sc スコープ
Dsymbol search(Dsymbol d, const ref Loc loc, Identifier ident, SearchOptFlags flags = SearchOpt.all);
dのメンバーとしてidentを検索する。
Parameters:
Dsymbol d identが検索されるdsymbol
Loc loc エラーメッセージを表示する場所
Identifier ident 検索する識別子
SearchOptFlags flags 検索オプション
Returns:
見つからない場合はnull
void setScope(Dsymbol d, Scope* sc);
将来の意味解析のためにスコープを設定する。 スコープを設定する。
Parameters:
Dsymbol d スコープを設定するdsymbol
Scope* sc 値を設定するために使用されるスコープ
bool load(Import imp, Scope* sc);
モジュールをロードする。
Returns:
エラーの場合はtrue、成功の場合はfalse