Expand description
Rust コード生成モジュール
型推論結果から Rust コードを生成する。
Structs§
- Bindings
Info - bindings.rs から抽出した codegen 用情報
- Codegen
Config - コード生成の設定
- Codegen
Driver - コード生成全体を管理する構造体
- Codegen
Stats - コード生成統計
- Generated
Code - 一つの関数の生成結果
- Known
Symbols - コード生成時に解決可能なシンボルの集合
- Rust
Codegen - 単一関数を生成するためのコード生成器(使い捨て)
Enums§
- Generate
Status - 生成ステータス
Functions§
- collect_
must_ mut_ from_ expr - collect_
must_ mut_ from_ stmt - collect_
must_ mut_ pointer_ params - マクロ本体を走査し、
&mut paramや代入先として使用されるパラメータを検出する ポインタパラメータが *mut である必要があるかを判定する。 callee_const_params: 呼び出し先マクロで *const に確定したパラメータ情報 key = マクロ名(InternedStr), value = const パラメータの引数位置集合 - is_
boolean_ expr - 式が bool として扱える形式かどうかを判定
- is_
boolean_ expr_ with_ context - コンテキスト付き bool 式判定: 呼び出し先マクロ/外部関数の戻り値型も考慮
- mark_
lvalue_ mut - 代入先の式に含まれるパラメータを must-mut としてマークする
- pointer_
const_ differs - 両方ポインタで、inner は compatible だが const/mut が違う場合に true。
- pointer_
inner_ compatible - 2 つのポインタ型の inner が Rust として「同じ型」か判定する (const/mut は無視)。