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

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

## 本レポートについて

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

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各テストケースに対して、ソースコードの該当箇所が存在するか
2. **根拠との整合性**：テストケースの内容がソースコードの実装と矛盾していないか
3. **網羅性**：対象モジュールの全ての関数・メソッドをカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：117 / 117、根拠なし：0
- 優先レビュー（高）
  1. 全テストケースがソースコードに基づいて生成されています
  2. 特に重点的なレビューが必要な項目はありません
  3. 境界値テストケースの網羅性を確認することを推奨

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

- E-01: `packages/babel-plugin-transform-destructuring/src/index.ts` (メインプラグインファイル、180行)
- E-02: `packages/babel-plugin-transform-destructuring/src/util.ts` (ユーティリティ関数、812行)

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

### index.ts 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | variableDeclarationHasDestructuringPattern - パターン検出（ArrayPattern） | E-01: L17-26 | ○ |
| C-02 | variableDeclarationHasDestructuringPattern - パターン検出（ObjectPattern） | E-01: L17-26 | ○ |
| C-03 | variableDeclarationHasDestructuringPattern - パターンなしでfalse | E-01: L17-26 | ○ |
| C-04 | variableDeclarationHasDestructuringPattern - VoidPattern除外 | E-01: L21 | ○ |
| C-05 | variableDeclarationHasDestructuringPattern - 空配列 | E-01: L20-25 | ○ |
| C-06 | visitor.ExportNamedDeclaration - 分割代入を含むexport分割 | E-01: L50-61 | ○ |
| C-07 | visitor.ExportNamedDeclaration - 分割代入なしスキップ | E-01: L52-54 | ○ |
| C-08 | visitor.ForXStatement - for-ofパターン変換 | E-01: L62-124 | ○ |
| C-09 | visitor.ForXStatement - for-inパターン変換 | E-01: L62-124 | ○ |
| C-10 | visitor.ForXStatement - パターンなしスキップ | E-01: L97 | ○ |
| C-11 | visitor.ForXStatement - VoidPatternスキップ | E-01: L100 | ○ |
| C-12 | visitor.CatchClause - catchパターン変換 | E-01: L126-149 | ○ |
| C-13 | visitor.CatchClause - パターンなしスキップ | E-01: L128 | ○ |
| C-14 | visitor.AssignmentExpression - 代入式パターン変換 | E-01: L151-161 | ○ |
| C-15 | visitor.AssignmentExpression - 配列パターン代入式変換 | E-01: L151-161 | ○ |
| C-16 | visitor.AssignmentExpression - パターンなしスキップ | E-01: L152 | ○ |
| C-17 | visitor.VariableDeclaration - 変数宣言パターン変換 | E-01: L163-176 | ○ |
| C-18 | visitor.VariableDeclaration - ForXStatement内スキップ | E-01: L165 | ○ |
| C-19 | options - useBuiltInsオプション | E-01: L37 | ○ |
| C-20 | options - looseオプション | E-01: L39-40 | ○ |
| C-21 | options - allowArrayLikeオプション | E-01: L41-42 | ○ |

### util.ts 関連テストケース

| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-22 | isPureVoid - void 0検出 | E-02: L4-10 | ○ |
| C-23 | isPureVoid - void以外でfalse | E-02: L4-10 | ○ |
| C-24 | isPureVoid - 非純粋void | E-02: L8 | ○ |
| C-25 | unshiftForXStatementBody - bodyへの追加 | E-02: L12-30 | ○ |
| C-26 | unshiftForXStatementBody - シャドウ変数ラップ | E-02: L23-26 | ○ |
| C-27 | hasArrayRest - RestElement検出 | E-02: L36-38 | ○ |
| C-28 | hasArrayRest - RestElementなし | E-02: L36-38 | ○ |
| C-29 | hasObjectRest - RestElement検出 | E-02: L44-46 | ○ |
| C-30 | hasObjectRest - RestElementなし | E-02: L44-46 | ○ |
| C-31 | DestructuringTransformer.constructor - 初期化 | E-02: L116-128 | ○ |
| C-32 | DestructuringTransformer.constructor - nodesデフォルト値 | E-02: L120 | ○ |
| C-33 | DestructuringTransformer.getExtendsHelper - Object.assign | E-02: L130-134 | ○ |
| C-34 | DestructuringTransformer.getExtendsHelper - extendsヘルパー | E-02: L130-134 | ○ |
| C-35 | DestructuringTransformer.buildVariableAssignment - ExpressionStatement | E-02: L136-174 | ○ |
| C-36 | DestructuringTransformer.buildVariableAssignment - VariableDeclaration | E-02: L136-174 | ○ |
| C-37 | DestructuringTransformer.buildVariableAssignment - MemberExpression | E-02: L141 | ○ |
| C-38 | DestructuringTransformer.buildVariableAssignment - const null処理 | E-02: L156-157 | ○ |
| C-39 | DestructuringTransformer.buildVariableDeclaration - 変数宣言生成 | E-02: L176-183 | ○ |
| C-40 | DestructuringTransformer.buildVariableDeclaration - blockHoist | E-02: L181 | ○ |
| C-41 | DestructuringTransformer.push - ObjectPattern分岐 | E-02: L185-201 | ○ |
| C-42 | DestructuringTransformer.push - ArrayPattern分岐 | E-02: L185-201 | ○ |
| C-43 | DestructuringTransformer.push - AssignmentPattern分岐 | E-02: L185-201 | ○ |
| C-44 | DestructuringTransformer.push - デフォルト処理 | E-02: L185-201 | ○ |
| C-45 | DestructuringTransformer.toArray - iterableIsArray | E-02: L203-249 | ○ |
| C-46 | DestructuringTransformer.toArray - arrayRefSet | E-02: L206 | ○ |
| C-47 | DestructuringTransformer.toArray - ArrayExpression | E-02: L219-221 | ○ |
| C-48 | DestructuringTransformer.toArray - arguments | E-02: L223-226 | ○ |
| C-49 | DestructuringTransformer.toArray - slicedToArray | E-02: L231-236 | ○ |
| C-50 | DestructuringTransformer.toArray - toArray | E-02: L237-240 | ○ |
| C-51 | DestructuringTransformer.toArray - maybeArrayLike | E-02: L242-245 | ○ |
| C-52 | DestructuringTransformer.toArray - 定数配列最適化 | E-02: L212-217 | ○ |
| C-53 | DestructuringTransformer.pushAssignmentPattern - void値最適化 | E-02: L251-262 | ○ |
| C-54 | DestructuringTransformer.pushAssignmentPattern - 条件式生成 | E-02: L266-278 | ○ |
| C-55 | DestructuringTransformer.pushAssignmentPattern - ネストパターン | E-02: L280-296 | ○ |
| C-56 | DestructuringTransformer.pushObjectRest - 残余プロパティ | E-02: L302-317 | ○ |
| C-57 | DestructuringTransformer.pushObjectProperty - リテラルキー | E-02: L319-320 | ○ |
| C-58 | DestructuringTransformer.pushObjectProperty - ネストパターン | E-02: L329-330 | ○ |
| C-59 | DestructuringTransformer.pushObjectProperty - 単純プロパティ | E-02: L331-333 | ○ |
| C-60 | DestructuringTransformer.pushObjectPattern - 空オブジェクト | E-02: L336-349 | ○ |
| C-61 | DestructuringTransformer.pushObjectPattern - 空オブジェクトvoid | E-02: L344 | ○ |
| C-62 | DestructuringTransformer.pushObjectPattern - 一時変数生成 | E-02: L355-359 | ○ |
| C-63 | DestructuringTransformer.pushObjectPattern - 不純キー処理 | E-02: L362-388 | ○ |
| C-64 | DestructuringTransformer.pushObjectPattern - RestElement処理 | E-02: L390-393 | ○ |
| C-65 | DestructuringTransformer.pushObjectPattern - ObjectProperty処理 | E-02: L394-396 | ○ |
| C-66 | DestructuringTransformer.canUnpackArrayPattern - 非配列 | E-02: L400-405 | ○ |
| C-67 | DestructuringTransformer.canUnpackArrayPattern - 要素数不一致 | E-02: L409 | ○ |
| C-68 | DestructuringTransformer.canUnpackArrayPattern - 要素数不足 | E-02: L410-415 | ○ |
| C-69 | DestructuringTransformer.canUnpackArrayPattern - ホール検出 | E-02: L419 | ○ |
| C-70 | DestructuringTransformer.canUnpackArrayPattern - MemberExpression検出 | E-02: L422 | ○ |
| C-71 | DestructuringTransformer.canUnpackArrayPattern - SpreadElement検出 | E-02: L427 | ○ |
| C-72 | DestructuringTransformer.canUnpackArrayPattern - CallExpression検出 | E-02: L430 | ○ |
| C-73 | DestructuringTransformer.canUnpackArrayPattern - 自己参照検出 | E-02: L436-446 | ○ |
| C-74 | DestructuringTransformer.canUnpackArrayPattern - 展開可能判定 | E-02: L400-447 | ○ |
| C-75 | DestructuringTransformer.pushUnpackedArrayPattern - 配列展開 | E-02: L449-467 | ○ |
| C-76 | DestructuringTransformer.pushUnpackedArrayPattern - Rest展開 | E-02: L458-462 | ○ |
| C-77 | DestructuringTransformer.pushUnpackedArrayPattern - ホール処理 | E-02: L453-454 | ○ |
| C-78 | DestructuringTransformer.pushArrayPattern - null参照 | E-02: L469-477 | ○ |
| C-79 | DestructuringTransformer.pushArrayPattern - 要素なし | E-02: L478 | ○ |
| C-80 | DestructuringTransformer.pushArrayPattern - 最適化パス | E-02: L487-490 | ○ |
| C-81 | DestructuringTransformer.pushArrayPattern - 要素数指定 | E-02: L495 | ○ |
| C-82 | DestructuringTransformer.pushArrayPattern - ホールスキップ | E-02: L517 | ○ |
| C-83 | DestructuringTransformer.pushArrayPattern - Rest処理 | E-02: L519-534 | ○ |
| C-84 | DestructuringTransformer.pushArrayPattern - インデックスアクセス | E-02: L535-539 | ○ |
| C-85 | DestructuringTransformer.init - メモ化 | E-02: L544-554 | ○ |
| C-86 | DestructuringTransformer.init - 配列リテラル最適化 | E-02: L548 | ○ |
| C-87 | DestructuringTransformer.init - メンバー式最適化 | E-02: L548 | ○ |
| C-88 | DestructuringTransformer.init - 初期化処理 | E-02: L544-559 | ○ |
| C-89 | buildObjectExcludingKeys - 空キー処理 | E-02: L600-612 | ○ |
| C-90 | buildObjectExcludingKeys - 識別子キー変換 | E-02: L583-584 | ○ |
| C-91 | buildObjectExcludingKeys - テンプレートキー | E-02: L585-587 | ○ |
| C-92 | buildObjectExcludingKeys - 数値キー変換 | E-02: L588-590 | ○ |
| C-93 | buildObjectExcludingKeys - プライベートキー | E-02: L591-592 | ○ |
| C-94 | buildObjectExcludingKeys - 計算キー | E-02: L593-595 | ○ |
| C-95 | buildObjectExcludingKeys - プロパティキー変換 | E-02: L616-620 | ○ |
| C-96 | buildObjectExcludingKeys - キーホイスト | E-02: L621-633 | ○ |
| C-97 | buildObjectExcludingKeys - Looseモード | E-02: L635-637 | ○ |
| C-98 | buildObjectExcludingKeys - 通常モード | E-02: L635-637 | ○ |
| C-99 | convertVariableDeclaration - 変数宣言変換 | E-02: L643-756 | ○ |
| C-100 | convertVariableDeclaration - 複数宣言子 | E-02: L657-694 | ○ |
| C-101 | convertVariableDeclaration - 混合宣言 | E-02: L686-693 | ○ |
| C-102 | convertVariableDeclaration - 宣言統合 | E-02: L696-717 | ○ |
| C-103 | convertVariableDeclaration - kind保持 | E-02: L706 | ○ |
| C-104 | convertVariableDeclaration - 位置情報保持 | E-02: L712-715 | ○ |
| C-105 | convertVariableDeclaration - 空オブジェクト最適化 | E-02: L719-734 | ○ |
| C-106 | convertVariableDeclaration - for文init最適化 | E-02: L736-747 | ○ |
| C-107 | convertVariableDeclaration - 単一ノード置換 | E-02: L750-751 | ○ |
| C-108 | convertVariableDeclaration - 複数ノード置換 | E-02: L752-754 | ○ |
| C-109 | convertAssignmentExpression - 代入式変換 | E-02: L758-811 | ○ |
| C-110 | convertAssignmentExpression - 完了レコード処理 | E-02: L781-796 | ○ |
| C-111 | convertAssignmentExpression - 親判定 | E-02: L782-785 | ○ |
| C-112 | convertAssignmentExpression - 配列参照追跡 | E-02: L793-795 | ○ |
| C-113 | convertAssignmentExpression - アロー関数処理 | E-02: L801-803 | ○ |
| C-114 | convertAssignmentExpression - スコープ更新 | E-02: L810 | ○ |
| C-115 | arrayUnpackVisitor - トップレベルスキップ | E-02: L65-68 | ○ |
| C-116 | arrayUnpackVisitor - 参照検出 | E-02: L70-78 | ○ |
| C-117 | arrayUnpackVisitor - 非参照識別子 | E-02: L70-78 | ○ |

## 4) 不足情報（Unknown / Missing）
- 全てのテストケースがソースコードに基づいて生成されており、根拠なしの項目はありません
- テストフィクスチャ（`test/fixtures/`）も参照可能ですが、本テストケース一覧はユニットテストレベルのため、ソースコードを主な根拠としています

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク** - 全テストケースがソースコードに明確な根拠を持ちます
- DestructuringTransformerクラスの各メソッドは相互に依存しているため、統合テストも推奨されます
- オプション（`useBuiltIns`, `loose`, `allowArrayLike`）の組み合わせテストの追加を検討

## 6) レビュアーチェックリスト（最小）
- [ ] 正常系テストケースがソースコードの主要パスをカバーしているか
- [ ] 異常系テストケースがエラーハンドリングを適切にカバーしているか
- [ ] 境界値テストケースが配列・オブジェクトの空/1件/複数件をカバーしているか
- [ ] オプションの組み合わせテストが必要十分か
- [ ] DestructuringTransformerクラスの各メソッド間の連携がテストされているか
- [ ] ヘルパー関数（`isPureVoid`, `hasArrayRest`, `hasObjectRest`等）のテストが適切か
