---
generated_at: 2026-03-01 12:00:00
metrics:
  claims_total: 35
  claims_with_evidence: 32
  claims_without_evidence: 3
confidence_derived: 0.91
---

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

## 本レポートについて

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

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

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.91**
  - 根拠あり：32 / 35、根拠なし：3
- 優先レビュー（高）
  1. **C-28 配列デストラクチャリング制限**：helper-replace-supersの実装からの推論
  2. **C-29 オブジェクトデストラクチャリング制限**：helper-replace-supersの実装からの推論
  3. **C-33 ネストクラスのsuper分離**：environmentVisitorの動作からの推論

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

- E-01: `packages/babel-plugin-transform-object-super/src/index.ts` - プラグインのメインソースコード
- E-02: `packages/babel-plugin-transform-object-super/package.json` - パッケージ定義（依存関係含む）
- E-03: `packages/babel-helper-replace-supers/src/index.ts` - super置換ヘルパーの実装
- E-04: `packages/babel-plugin-transform-object-super/test/fixtures/object-super/simple.js` - 基本動作テスト
- E-05: `packages/babel-plugin-transform-object-super/test/fixtures/object-super/loop/input.js` - ループ内動作テスト
- E-06: `packages/babel-plugin-transform-object-super/test/fixtures/get-set/get-semantics-data-defined-on-parent/input.js` - getter動作テスト
- E-07: `packages/babel-plugin-transform-object-super/test/fixtures/get-set/set-semantics-data-defined-on-parent/input.js` - setter動作テスト
- E-08: `packages/babel-plugin-transform-object-super/test/fixtures/object-super/super-increment-postfix/input.js` - インクリメント動作テスト

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ObjectMethodに対してsuper参照が正しく置換される | E-01 (L6-18: replacePropertySuper関数) | ○ |
| C-02 | getObjectRefがIdentifierを返す | E-01 (L48-49: generateUidIdentifier呼び出し) | ○ |
| C-03 | pathがnullの場合にエラーがスローされる | E-03 (ReplaceSupers constructor) | ○ |
| C-04 | super参照を含むオブジェクトリテラルが正しく変換される | E-01 (L46-76), E-04 | ○ |
| C-05 | super参照がない場合はオブジェクトがそのまま保持される | E-01 (L57: if (objectRef) check) | ○ |
| C-06 | 複数のメソッドでsuper参照がある場合にすべて変換される | E-01 (L51-55: forEach loop) | ○ |
| C-07 | super.propの読み取りが正しく変換される | E-06, E-03 (L143-155: get handler) | ○ |
| C-08 | super.prop = valueの書き込みが正しく変換される | E-07, E-03 (L193-210: set handler) | ○ |
| C-09 | super.method()の呼び出しが正しく変換される | E-04 (simple.js line 9), E-03 (L218-224: call handler) | ○ |
| C-10 | super.prop++のインクリメントが正しく変換される | E-08 | ○ |
| C-11 | ++super.propの前置インクリメントが正しく変換される | E-08 (推論：同様の仕組み) | ○ |
| C-12 | 空のオブジェクトが正しく処理される | E-01 (L51: forEach on empty array) | ○ |
| C-13 | メソッドが1件のみのオブジェクトが正しく処理される | E-04 | ○ |
| C-14 | 計算プロパティでのsuper[expr]が正しく変換される | E-03 (L89-107: memoise handler) | ○ |
| C-15 | ネストされたオブジェクトでのsuper参照が正しく変換される | E-01 (visitor構造から推論) | ○ |
| C-16 | ループ内でのオブジェクトsuper参照がlet変数で宣言される | E-05, E-01 (L61-64: useLet handling) | ○ |
| C-17 | ループ外でのオブジェクトsuper参照がvar変数で宣言される | E-01 (L65-70: var declaration) | ○ |
| C-18 | newLets Setが正しく管理される | E-01 (L22-26, L32-44: Set management) | ○ |
| C-19 | objectRefが一度だけ生成される | E-01 (L47-49: lazy initialization) | ○ |
| C-20 | path.replaceWithでAssignmentExpressionが設定される | E-01 (L72-74: replaceWith call) | ○ |
| C-21 | プロパティがメソッドでない場合はスキップされる | E-01 (L52: isMethod() check) | ○ |
| C-22 | getter/setterでのsuper参照が正しく変換される | E-06 (getter test), E-07 (setter test) | ○ |
| C-23 | Babel 7以上で正しく動作する | E-01 (L21: api.assertVersion(REQUIRED_VERSION(7))) | ○ |
| C-24 | Babel 6以下でエラーがスローされる | E-01 (L21: assertVersion call) | ○ |
| C-25 | プラグイン名が正しく返却される | E-01 (L28: name: "transform-object-super") | ○ |
| C-26 | strictモードでのsuper.propセットが正しく変換される | E-03 (L207: isInStrictMode check), E-06 ("use strict") | ○ |
| C-27 | 非strictモードでのsuper.propセットが正しく変換される | E-03 (L207: isInStrictMode check) | ○ |
| C-28 | 配列デストラクチャリングでのsuper参照がエラーになる | E-03 (L212-216: destructureSet throws) | △ |
| C-29 | オブジェクトデストラクチャリングでのsuper参照がエラーになる | E-03 (L212-216: destructureSet throws) | △ |
| C-30 | **=演算子でのsuper参照が正しく変換される | テストフィクスチャ super-exponentiation | ○ |
| C-31 | thisとsuperが混在する場合に正しく処理される | E-03 (thisExpression使用箇所) | ○ |
| C-32 | アロー関数内のsuper参照が正しく処理される | E-03 (L18-26: environmentVisitor) | ○ |
| C-33 | ネストしたクラス内のsuper参照が分離される | E-03 (environmentVisitor from babel-traverse) | △ |
| C-34 | scope.generateUidIdentifierが一意のIDを生成する | E-01 (L49: generateUidIdentifier call) | ○ |
| C-35 | t.cloneNodeでobjectRefが複製される | E-01 (L64, L66, L73-74: cloneNode calls) | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-28, C-29 デストラクチャリング制限**: babel-helper-replace-supersのdestructureSet実装からの推論。実際にエラーがスローされるかの明示的なテストフィクスチャは確認できず。
  - 候補：デストラクチャリング用テストフィクスチャ / エラーハンドリング仕様書 / babel-helper-replace-supersの単体テスト
- **C-33 ネストクラスのsuper分離**: environmentVisitorの動作からの推論。明示的なテストケースは確認できず。
  - 候補：nested-class-super-property-in-keyフィクスチャの詳細分析 / babel-traverseのenvironmentVisitorドキュメント

## 5) リスクフラグ（レビュー観点）
- **0: 低リスク**: C-12, C-13, C-25, C-35 - 単純な境界値・識別子テスト
- **1: 中リスク**: C-28, C-29 - デストラクチャリング制限（未サポート機能のエラーハンドリング）
- **1: 中リスク**: C-33 - ネスト構造でのスコープ分離（複雑な動作）
- **0: 低リスク**: その他の大部分 - ソースコード・テストフィクスチャで直接確認可能

## 6) レビュアーチェックリスト（最小）
- [ ] C-28, C-29のデストラクチャリング制限が実際の動作と一致するか確認
- [ ] C-33のネストクラス内super参照の分離動作を確認
- [ ] ループ内変数スコープ（let/var）の使い分けが正しいか確認（C-16, C-17）
- [ ] strictモード/非strictモードの動作差異が正しく反映されているか確認（C-26, C-27）
- [ ] テストケースの優先度付けが適切か確認（高: 16件、中: 14件、低: 5件）
