check コマンド設計ドキュメント
yaoxiang check は YaoXiang コンパイラの開発ツールで、型チェックとコード解析を行う静的チェックツールです。
設計原則
- ゼロ誤検出:報告されたすべてのエラーは 실제のエラーでなければならない
- ファイル間認識:モジュールをまたぐ型エラーと未定義参照を正しく検出する
- 增量優先:watch モードでは影響を受けたファイルのみを再チェックする
- 自己文書化:エラーコード、メッセージテンプレート、ヘルプテキストはすべて i18n で管理する
ドキュメントナビゲーション
- 診断システム — エラーコード体系、Diagnostic データ構造、Emitter 出力
- ファイル間分析 — 共有型環境、依存関係グラフ、トポロジカルソート
- 增量チェック — CheckSession、affected_modules、watch モード
他のシステムとの境界
| システム | 責務 | check との関係 |
|---|---|---|
コンパイラ (yaoxiang build) | 完全コンパイル(パース → 型チェック → コード生成) | check は前半の2段階のみ 수행 |
| LSP | エディタ統合(補完、ジャンプ、診断) | check の診断结果是再利用可 |
フォーマット (yaoxiang fmt) | コードスタイル | 独立しており、CI では並行使用 |
