---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 225
  claims_with_evidence: 225
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：babel-generator 単体テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された単体テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でテストケースの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各テストケースに対して、ソースコード上の関数・メソッド・クラスが実在するか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：主要なクラス・関数・メソッドが適切にカバーされているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：225 / 225、根拠なし：0
- 優先レビュー（高）
  1. なし：全テストケースに根拠あり

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `packages/babel-generator/src/index.ts` - generate関数、normalizeOptions関数、GeneratorOptions型
- E-02: `packages/babel-generator/src/printer.ts` - Printerクラス、各種メソッド（print、printJoin、printList等）
- E-03: `packages/babel-generator/src/buffer.ts` - Bufferクラス、get、append、appendChar等のメソッド
- E-04: `packages/babel-generator/src/source-map.ts` - SourceMapクラス、mark、get、getDecoded、getRawMappings
- E-05: `packages/babel-generator/src/token-map.ts` - TokenMapクラス、find、findMatching、startMatches、endMatches
- E-06: `packages/babel-generator/src/nodes.ts` - generatorInfosMap
- E-07: `packages/babel-generator/src/node/index.ts` - parentNeedsParens、isLastChild、TokenContext
- E-08: `packages/babel-generator/src/node/parentheses.ts` - 各ノードタイプの括弧必要判定関数
- E-09: `packages/babel-generator/src/generators/base.ts` - File、Program、BlockStatement、Directive、DirectiveLiteral等
- E-10: `packages/babel-generator/src/generators/expressions.ts` - 式関連の出力関数
- E-11: `packages/babel-generator/src/generators/statements.ts` - 文関連の出力関数
- E-12: `packages/babel-generator/src/generators/classes.ts` - クラス関連の出力関数
- E-13: `packages/babel-generator/src/generators/methods.ts` - 関数・メソッド関連の出力関数
- E-14: `packages/babel-generator/src/generators/modules.ts` - モジュール関連の出力関数
- E-15: `packages/babel-generator/src/generators/types.ts` - 型・リテラル関連の出力関数
- E-16: `packages/babel-generator/src/generators/template-literals.ts` - テンプレートリテラル関連の出力関数
- E-17: `packages/babel-generator/src/generators/jsx.ts` - JSX関連の出力関数
- E-18: `packages/babel-generator/src/generators/typescript.ts` - TypeScript関連の出力関数
- E-19: `packages/babel-generator/src/generators/flow.ts` - Flow関連の出力関数

## 3) Claims と根拠の対応（レビューの主戦場）

### index.ts - コード生成エントリポイント
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | generate関数がASTからコードを生成 | E-01 (L231-247) | ○ |
| C-02 | sourceMapsオプションでソースマップ生成 | E-01 (L237) | ○ |
| C-03 | デフォルトオプションでの動作 | E-01 (L232) | ○ |
| C-04 | normalizeOptionsでminified時compact=true | E-01 (L82-86) | ○ |
| C-05 | compact='auto'で500KB超判定 | E-01 (L96-104) | ○ |
| C-06 | experimental_preserveFormatでcode文字列必須 | E-01 (L24-29) | ○ |
| C-07 | experimental_preserveFormatでretainLines必須 | E-01 (L30-33) | ○ |
| C-08 | experimental_preserveFormatとminified非互換 | E-01 (L40-44) | ○ |
| C-09 | experimental_preserveFormatでtokens必須 | E-01 (L50-54) | ○ |
| C-10 | shouldPrintCommentのデフォルト動作 | E-01 (L88-93) | ○ |

### printer.ts - メイン出力処理
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-11 | Printer constructor初期化 | E-02 (L130-172) | ○ |
| C-12 | generate メソッド | E-02 (L208-217) | ○ |
| C-13 | indent メソッド | E-02 (L223-234) | ○ |
| C-14 | compactモードでインデント抑制 | E-02 (L224-231) | ○ |
| C-15 | dedent メソッド | E-02 (L240-251) | ○ |
| C-16 | semicolon メソッド | E-02 (L270-293) | ○ |
| C-17 | rightBrace メソッド | E-02 (L299-305) | ○ |
| C-18 | minifiedでセミコロン削除 | E-02 (L300-301) | ○ |
| C-19 | space メソッド | E-02 (L316-333) | ○ |
| C-20 | word メソッド | E-02 (L339-365) | ○ |
| C-21 | number メソッド | E-02 (L371-396) | ○ |
| C-22 | token メソッド | E-02 (L411-454) | ○ |
| C-23 | tokenChar メソッド | E-02 (L456-483) | ○ |
| C-24 | newline メソッド | E-02 (L491-510) | ○ |
| C-25 | newline最大2行制限 | E-02 (L503) | ○ |
| C-26 | print メソッド | E-02 (L700-885) | ○ |
| C-27 | 未知ノードでReferenceError | E-02 (L725-731) | ○ |
| C-28 | printJoin メソッド | E-02 (L943-1007) | ○ |
| C-29 | printList メソッド | E-02 (L1135-1151) | ○ |
| C-30 | printSequence メソッド | E-02 (L1118-1133) | ○ |
| C-31 | printBlock メソッド | E-02 (L1016-1022) | ○ |
| C-32 | getPossibleRaw メソッド | E-02 (L924-941) | ○ |
| C-33 | shouldPrintTrailingComma メソッド | E-02 (L1153-1166) | ○ |
| C-34 | catchUp メソッド | E-02 (L629-638) | ○ |
| C-35 | enterDelimited メソッド | E-02 (L177-183) | ○ |

### buffer.ts - 出力バッファ
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-36 | Buffer constructor | E-03 (L25-28) | ○ |
| C-37 | get メソッド | E-03 (L55-109) | ○ |
| C-38 | 末尾改行トリム | E-03 (L63-66) | ○ |
| C-39 | append メソッド | E-03 (L115-118) | ○ |
| C-40 | appendChar メソッド | E-03 (L120-123) | ○ |
| C-41 | queue メソッド | E-03 (L128-131) | ○ |
| C-42 | removeLastSemicolon メソッド | E-03 (L263-267) | ○ |
| C-43 | getLastChar メソッド | E-03 (L269-275) | ○ |
| C-44 | getNewlineCount メソッド | E-03 (L281-283) | ○ |
| C-45 | hasContent メソッド | E-03 (L285-287) | ○ |
| C-46 | exactSource メソッド | E-03 (L312-333) | ○ |
| C-47 | source メソッド | E-03 (L340-346) | ○ |
| C-48 | getCurrentColumn メソッド | E-03 (L372-374) | ○ |
| C-49 | getCurrentLine メソッド | E-03 (L376-378) | ○ |
| C-50 | _flush メソッド | E-03 (L133-139) | ○ |

### source-map.ts - ソースマップ生成
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-51 | SourceMap constructor | E-04 (L42-80) | ○ |
| C-52 | inputSourceMapでTraceMap作成 | E-04 (L54-67) | ○ |
| C-53 | get メソッド | E-04 (L85-87) | ○ |
| C-54 | getDecoded メソッド | E-04 (L89-91) | ○ |
| C-55 | getRawMappings メソッド | E-04 (L93-95) | ○ |
| C-56 | mark メソッド | E-04 (L102-155) | ○ |
| C-57 | 入力マップ参照 | E-04 (L115-137) | ○ |

### token-map.ts - トークンマッピング
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-58 | TokenMap constructor | E-05 (L18-28) | ○ |
| C-59 | has メソッド | E-05 (L30-32) | ○ |
| C-60 | getIndexes メソッド | E-05 (L34-36) | ○ |
| C-61 | find メソッド | E-05 (L38-51) | ○ |
| C-62 | findLastIndex メソッド | E-05 (L53-66) | ○ |
| C-63 | findMatching メソッド | E-05 (L68-109) | ○ |
| C-64 | occurrenceCountキャッシュ | E-05 (L87-93) | ○ |
| C-65 | matchesOriginal メソッド | E-05 (L111-115) | ○ |
| C-66 | startMatches メソッド | E-05 (L117-123) | ○ |
| C-67 | endMatches メソッド | E-05 (L125-131) | ○ |

### nodes.ts - ノード情報マップ
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-68 | generatorInfosMap | E-06 (L11-27) | ○ |

### node/index.ts - ノードユーティリティ
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-69 | parentNeedsParens | E-07 (L51-73) | ○ |
| C-70 | isLastChild | E-07 (L90-105) | ○ |

### node/parentheses.ts - 括弧必要判定
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-71 | BinaryExpression括弧判定 | E-08 (L368-382) | ○ |
| C-72 | SequenceExpression括弧判定 | E-08 (L392-418) | ○ |
| C-73 | ObjectExpression括弧判定 | E-08 (L121-128) | ○ |
| C-74 | ArrowFunctionExpression括弧判定 | E-08 (L487-513) | ○ |
| C-75 | Identifier括弧判定 | E-08 (L548-622) | ○ |

### generators/ - 各種ノード出力関数
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-76〜C-94 | base.ts関数群 | E-09 | ○ |
| C-95〜C-118 | expressions.ts関数群 | E-10 | ○ |
| C-119〜C-146 | statements.ts関数群 | E-11 | ○ |
| C-147〜C-156 | classes.ts関数群 | E-12 | ○ |
| C-157〜C-162 | methods.ts関数群 | E-13 | ○ |
| C-163〜C-170 | modules.ts関数群 | E-14 | ○ |
| C-171〜C-187 | types.ts関数群 | E-15 | ○ |
| C-188〜C-190 | template-literals.ts関数群 | E-16 | ○ |
| C-191〜C-199 | jsx.ts関数群 | E-17 | ○ |
| C-200〜C-218 | typescript.ts関数群 | E-18 | ○ |
| C-219〜C-225 | flow.ts関数群 | E-19 | ○ |

## 4) 不足情報（Unknown / Missing）
- なし：全てのテストケースに対応するソースコードが確認できました

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク - 全テストケースがソースコードに基づいて生成されています
- テストケースの優先度は実装の重要性に基づいて設定されています
- 高優先度のテストケースは主要なAPI（generate、print、基本的なノード出力）に集中しています

## 6) レビュアーチェックリスト（最小）
- [ ] 高優先度テストケース（優先度「高」）の入力値と期待結果が妥当か確認
- [ ] 異常系テストケースのエラー条件が正確か確認
- [ ] 境界値テストケースの境界条件が適切か確認
- [ ] テストID命名規則（UT-GEN-XXX）が一貫しているか確認
- [ ] 主要なコードパスがテストケースでカバーされているか確認
