コード索引
rustc には重要なデータ構造が数多くあります。 これは、コンパイラの主要なデータ構造の一部について、 どこで詳しく学べるかを示すためのものです。
| 項目 | 種類 | 簡潔な説明 | 章 | 宣言 |
|---|---|---|---|---|
BodyId | 構造体 | HIR ノード識別子の 4 種類の型のうちの 1 つ | HIR における識別子 | compiler/rustc_hir/src/hir.rs |
Compiler | 構造体 | コンパイラセッションを表し、コンパイルを駆動するために使用できます。 | Rustc ドライバーとインターフェイス | compiler/rustc_interface/src/interface.rs |
ast::Crate | 構造体 | パースされたクレートの構文レベルの表現 | パーサー | compiler/rustc_ast/src/ast.rs |
hir::Crate | 構造体 | クレートの AST をより抽象化し、コンパイラにとって扱いやすくした形式 | HIR | compiler/rustc_middle/src/hir/mod.rs |
DefId | 構造体 | HIR ノード識別子の 4 種類の型のうちの 1 つ | HIR における識別子 | compiler/rustc_hir/src/def_id.rs |
Diag | 構造体 | エラーや lint など、コンパイラ診断のための構造体 | 診断の出力 | compiler/rustc_errors/src/diagnostic.rs |
DocContext | 構造体 | rustdoc がクレートを巡回してそのドキュメントを収集する際に使用する状態コンテナー | Rustdoc | src/librustdoc/core.rs |
HirId | 構造体 | HIR ノード識別子の 4 種類の型のうちの 1 つ | HIR における識別子 | compiler/rustc_hir_id/src/lib.rs |
Lexer | 構造体 | これはパース中に使用されるレキサーです。コンパイル対象の生のソースコードから文字を消費し、パーサーの残りの部分で使用する一連のトークンを生成します | パーサー | compiler/rustc_parse/src/lexer/mod.rs |
NodeId | 構造体 | HIR ノード識別子の 4 種類の型のうちの 1 つ。段階的に廃止されています | HIR における識別子 | compiler/rustc_ast/src/ast.rs |
ParamEnv | 構造体 | ジェネリックパラメーターまたは Self に関する情報で、関連項目やジェネリック項目を扱う際に有用です | パラメーター環境 | compiler/rustc_middle/src/ty/mod.rs |
ParseSess | 構造体 | この構造体はパースセッションに関する情報を含みます | パーサー | compiler/rustc_session/src/parse/parse.rs |
Rib | 構造体 | 名前の単一スコープを表します | 名前解決 | compiler/rustc_resolve/src/lib.rs |
Session | 構造体 | コンパイルセッションに関連付けられたデータ | パーサー, Rustc ドライバーとインターフェイス | compiler/rustc_session/src/session.rs |
SourceFile | 構造体 | SourceMap の一部です。単一のソースファイルについて、AST ノードをそのソースコードにマップします。以前は FileMap と呼ばれていました | パーサー | compiler/rustc_span/src/lib.rs |
SourceMap | 構造体 | AST ノードをそのソースコードにマップします。SourceFile 群で構成されます。以前は CodeMap と呼ばれていました | パーサー | compiler/rustc_span/src/source_map.rs |
Span | 構造体 | ユーザーのソースコード内の位置で、主にエラー報告に使用されます | 診断の出力 | compiler/rustc_span/src/span_encoding.rs |
rustc_ast::token_stream::TokenStream | 構造体 | TokenTree 群として構成された、トークンの抽象的な列 | パーサー, マクロ展開 | compiler/rustc_ast/src/tokenstream.rs |
TraitDef | 構造体 | この構造体は、型情報を含むトレイトの定義を含みます | ty モジュール | compiler/rustc_middle/src/ty/trait_def.rs |
TraitRef | 構造体 | トレイトとその入力型の組み合わせ(例: P0: Trait<P1...Pn>) | トレイト解決: ゴールと節 | compiler/rustc_middle/src/ty/sty.rs |
Ty<'tcx> | 構造体 | これは型チェックに使用される型の内部表現です | 型チェック | compiler/rustc_middle/src/ty/mod.rs |
TyCtxt<'tcx> | 構造体 | 「型付けコンテキスト」です。これはコンパイラの中心的なデータ構造です。あらゆる種類のクエリを実行するために使用するコンテキストです | ty モジュール | compiler/rustc_middle/src/ty/context.rs |