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

dmd.backend.dt

静的データの暫定的表現
プログラミング言語 D のコンパイラ実装。
Authors:

カバー範囲 https://codecov.io/gh/dlang/dmd/src/master/src/dmd/backend/dt.d

nothrow @nogc @trusted void dt_free(dt_t* dt);
データ定義構造体を解放する。
nothrow @nogc @safe void dt_term();
フリーリストを解放する。
nothrow @nogc @safe void dtpatchoffset(dt_t* dt, uint offset);
nothrow @nogc @safe void init_common(Symbol* s);
s用の共通ブロックを作成する。
nothrow @nogc @safe uint dt_size(const(dt_t)* dtstart);
dtのサイズを計算する
nothrow @nogc @safe bool dtallzeros(const(dt_t)* dt);
dt がすべてゼロの場合に true を返す。
nothrow @nogc @safe bool dtpointers(const(dt_t)* dtstart);
dtがポインタを含む場合は真を返す(再配置が必要)。
nothrow @nogc @safe void dt2common(dt_t** pdt);
DT_azeros を DTcommon に変換する
struct DtBuilder;
nothrow @safe void checkInitialized();
DtBuilderが初期化されたかどうかを確認するのに便利。
nothrow @safe void print();
デバッグ用にDtBuilderの状態を表示する。
nothrow @safe dt_t* finish();
終了し、完了したデータ構造を返す。
nothrow @trusted void nbytes(uint size, const(char)* ptr);
ptr[0..size]で表されるデータを追加する
nothrow @trusted void abytes(tym_t ty, uint offset, uint size, const(char)* ptr, uint nzeros, ubyte _align);
データへの参照を書き込む ptr[0..size+nzeros]
Parameters:
tym_t ty ポインタ型
uint offset 生成されたデータのオフセットに追加する
uint size ptrが指すバイト数分の
const(char)* ptr データバイトを指す
uint nzeros 末尾に追加するゼロバイトの数
ubyte _align log2() バイト整列の指し示されたデータの
nothrow @trusted void dword(int value);
4バイトの値を書き込む。
nothrow @trusted void size(ulong value);
size_t値を書き込む。
nothrow @safe void nzeros(uint size);
ゼロの集合を書き込む
nothrow @trusted void xoff(Symbol* s, uint offset, tym_t ty);
s+offsetへの参照を書き込む
nothrow @safe void xoff(Symbol* s, uint offset);
s+offsetへの参照を作成する
nothrow @trusted dt_t* xoffpatch(Symbol* s, uint offset, tym_t ty);
xoff() と同様だが、'offset' 値をパッチするハンドルを返す。
nothrow @safe Symbol* dtoff(dt_t* dt, uint offset);
別のdtへの参照を作成する。
Returns:
他の dt で使用される内部シンボル
nothrow @trusted void coff(uint offset);
コードセグメントにオフセットへの参照を書き込む。
nothrow @safe void cat(dt_t* dt);
dt をデータに追加する。
nothrow @safe void cat(ref DtBuilder dtb);
dtb をデータに追加する。
nothrow @trusted void repeat(dt_t* dt, size_t count);
dt_tのリストをcount回繰り返す。
nothrow @safe uint length();
データのサイズを返す。
nothrow @safe bool isZeroLength();
データのサイズが0の場合、trueを返す。
nothrow @nogc @safe dt_t* dt_get_nzeros(uint n);
C用のdt_t*を初期化するための一時的なハック。