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

dmd.location

ファイル/行/列の位置をカプセル化する。
Authors:

ソース location.d

enum MessageStyle: ubyte;
診断レポートのためのコード位置のフォーマット方法
digitalmars
filename.d(line): メッセージ
gnu
filename.d:line: メッセージ、https://www.gnu.org/prep/standards/html_node/Errors.htmlを参照のこと。
struct Loc;
ソースコードの場所
エラーメッセージ、__FILE____LINE__ トークン、__traits(getLocation, XXX) 、 デバッグ情報など。
static immutable Loc initial;
const ref Locのデフォルト初期化に使用する。
static nothrow void set(bool showColumns, MessageStyle messageStyle);
表示方法を設定する
Parameters:
bool showColumns いつカラムを表示するか
MessageStyle messageStyle digitalmarsまたはgnuスタイルのメッセージ
const nothrow @nogc @safe uint charnum();

nothrow @nogc @safe uint charnum(uint num);
utf8コードの行頭からの単位インデックス。
const nothrow @nogc @safe uint linnum();

nothrow @nogc @safe uint linnum(uint num);
1から始まる行番号
const nothrow @nogc const(char)* filename();
Returns:
この場所のファイル名、ない場合はNULL
nothrow @trusted void filename(const(char)* name);
この場所のファイル名を設定する
Parameters:
const(char)* name ロケーションのファイル名、ファイル名なしの場合はNULL
const nothrow bool equals(ref const(Loc) loc);
(ポインタではなく)ファイル名の内容と文字の位置を比較して、等価かどうかをチェックする。

注釈: ファイル名を指定する。

  • Windowsでは大文字と小文字を区別せずに比較する。
  • Columns が偽の場合、charnum を無視する。

const nothrow @nogc @trusted bool opEquals(ref const(Loc) loc);

const nothrow @trusted size_t toHash();
opEquals()/ toHash()AAキーを使用する。
ポインタではなく、ファイル名の内容を比較する(Windowsでも大文字と小文字を区別する)。 静的なforeachループが繰り返しミックスインされる。 を繰り返し混ぜる静的なforeachループは、複数の等価なファイル名(foo.d-mixin-<line>)を導く可能性がある、 例えば、test/runnable/test18880.dの場合。
const pure nothrow @safe bool isValid();
Returns:
Locがデフォルトの初期化以外に設定されている場合、trueを返す。