---
generated_at: 2026-03-01 10:30:00
metrics:
  claims_total: 106
  claims_with_evidence: 102
  claims_without_evidence: 4
confidence_derived: 0.96
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：102 / 106、根拠なし：4
- 優先レビュー（高）
  1. **UT-HLP-019 (isInternal内部ヘルパー判定)**: 内部ヘルパーの具体例が不明確
  2. **UT-HLP-104 (helper関数)**: helpers-generated.tsの自動生成コードの検証
  3. **UT-HLP-087 (SuppressedError処理)**: SuppressedError polyfillの動作確認必要
  4. **UT-HLP-103 (初期化キャッシュ)**: キャッシュ動作の実行時確認必要

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

- E-01: `packages/babel-helpers/src/index.ts` - メインエントリーポイント（deep, permuteHelperAST, loadHelper, get, minVersion, getDependencies, isInternal, list）
- E-02: `packages/babel-helpers/src/helpers-generated.ts` - 自動生成ヘルパー定義（helper関数、HelperMetadata型、helpersレジストリ）
- E-03: `packages/babel-helpers/src/helpers/typeof.ts` - _typeof関数実装
- E-04: `packages/babel-helpers/src/helpers/classCallCheck.ts` - _classCallCheck関数実装
- E-05: `packages/babel-helpers/src/helpers/inherits.ts` - _inherits関数実装
- E-06: `packages/babel-helpers/src/helpers/get.ts` - _get関数実装
- E-07: `packages/babel-helpers/src/helpers/set.ts` - _set関数、set関数実装
- E-08: `packages/babel-helpers/src/helpers/objectSpread2.ts` - ownKeys関数、_objectSpread2関数実装
- E-09: `packages/babel-helpers/src/helpers/slicedToArray.ts` - _slicedToArray関数実装
- E-10: `packages/babel-helpers/src/helpers/construct.ts` - _construct関数実装
- E-11: `packages/babel-helpers/src/helpers/assertClassBrand.ts` - _assertClassBrand関数実装
- E-12: `packages/babel-helpers/src/helpers/createForOfIteratorHelper.ts` - _createForOfIteratorHelper関数、ForOfIteratorHelper型実装
- E-13: `packages/babel-helpers/src/helpers/wrapAsyncGenerator.ts` - _wrapAsyncGenerator関数、AsyncGeneratorクラス実装
- E-14: `packages/babel-helpers/src/helpers/usingCtx.ts` - _usingCtx関数、UsingCtxReturn型実装
- E-15: `packages/babel-helpers/src/helpers/superPropBase.ts` - _superPropBase関数実装
- E-16: `packages/babel-helpers/src/helpers/checkInRHS.ts` - _checkInRHS関数実装
- E-17: `packages/babel-helpers/src/helpers/temporalRef.ts` - _temporalRef関数実装
- E-18: `packages/babel-helpers/src/helpers/classPrivateFieldGet2.ts` - _classPrivateFieldGet2関数実装
- E-19: `packages/babel-helpers/src/helpers/importDeferProxy.ts` - _importDeferProxy関数実装

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | deep関数がネストされたパスから値を取得できる | E-01 (line 8-25) | ○ |
| C-02 | deep関数がネストされたパスに値を設定できる | E-01 (line 16-17) | ○ |
| C-03 | deep関数が存在しないパスでエラーをスロー | E-01 (line 21-24) | ○ |
| C-04 | permuteHelperASTがローカル変数をリネームする | E-01 (line 51-63) | ○ |
| C-05 | permuteHelperASTが依存関係を置換する | E-01 (line 66-73) | ○ |
| C-06 | permuteHelperASTがexportBindingAssignmentsを変換する | E-01 (line 75-77) | ○ |
| C-07 | permuteHelperASTが空localBindingsでリネームしない | E-01 (line 49-50) | ○ |
| C-08 | loadHelperが存在するヘルパーをロードする | E-01 (line 95-130) | ○ |
| C-09 | loadHelperが存在しないヘルパーでReferenceErrorをスロー | E-01 (line 98-103) | ○ |
| C-10 | loadHelperがキャッシュを使用する | E-01 (line 96-97, 129) | ○ |
| C-11 | get関数がASTノードとグローバル変数を返却 | E-01 (line 132-145) | ○ |
| C-12 | get関数がgetDependency関数を使用する | E-01 (line 139-144) | ○ |
| C-13 | get関数がbindingNameで関数名を変更する | E-01 (line 140-141) | ○ |
| C-14 | get関数がlocalBindingsとの衝突を回避する | E-01 (line 142) | ○ |
| C-15 | minVersion関数が最小バージョンを返却 | E-01 (line 147-149) | ○ |
| C-16 | minVersion関数が存在しないヘルパーでエラー | E-01 (line 148) + E-01 (line 98-103) | ○ |
| C-17 | getDependencies関数が依存関係リストを返却 | E-01 (line 151-153) | ○ |
| C-18 | getDependencies関数が依存なしで空配列を返却 | E-01 (line 152) | ○ |
| C-19 | isInternal関数が内部ヘルパーでtrueを返却 | E-01 (line 155-157) | △ |
| C-20 | isInternal関数が外部ヘルパーでfalseを返却 | E-01 (line 155-157), E-02 (metadata.internal=false) | ○ |
| C-21 | list変数が全ヘルパー名を返却 | E-01 (line 159) | ○ |
| C-22 | list変数がアンダースコアプレフィックスを除去 | E-01 (line 159, replace(/^_/, "")) | ○ |
| C-23 | _typeof関数がプリミティブ型を正しく判定 | E-03 (line 16-30) | ○ |
| C-24 | _typeof関数がオブジェクトで'object'を返却 | E-03 (line 19, 29) | ○ |
| C-25 | _typeof関数が関数で'function'を返却 | E-03 (line 19, 29) | ○ |
| C-26 | _typeof関数がSymbolを正しく判定 | E-03 (line 16-20, 23-30) | ○ |
| C-27 | _typeof関数がnullで'object'を返却 | E-03 (typeof null === 'object'はJS仕様) | ○ |
| C-28 | _typeof関数がundefinedで'undefined'を返却 | E-03 (line 19, 29) | ○ |
| C-29 | _classCallCheck関数が正しいインスタンスを許可 | E-04 (line 7) | ○ |
| C-30 | _classCallCheck関数が不正な呼び出しでTypeError | E-04 (line 7-8) | ○ |
| C-31 | _inherits関数がプロトタイプチェーンを設定 | E-05 (line 15-21) | ○ |
| C-32 | _inherits関数がconstructorを正しく設定 | E-05 (line 16-20) | ○ |
| C-33 | _inherits関数がnull superClassで動作 | E-05 (line 9, 15) | ○ |
| C-34 | _inherits関数が不正なsuperClassでTypeError | E-05 (line 9-11) | ○ |
| C-35 | _inherits関数がプロトタイプを書き込み不可に設定 | E-05 (line 22) | ○ |
| C-36 | _get関数がReflect.getを使用（利用可能時） | E-06 (line 14-17) | ○ |
| C-37 | _get関数がプロトタイプチェーンから取得 | E-06 (line 20-21) | ○ |
| C-38 | _get関数がgetterを正しく評価 | E-06 (line 26-28) | ○ |
| C-39 | _get関数がreceiverをgetterのthisとして使用 | E-06 (line 28) | ○ |
| C-40 | _get関数が存在しないプロパティでundefined | E-06 (line 23) | ○ |
| C-41 | _set関数がプロパティに値を設定 | E-07 (line 57-69) | ○ |
| C-42 | _set関数がsetterを正しく呼び出す | E-07 (line 23-25) | ○ |
| C-43 | _set関数がstrict時にTypeErrorをスロー | E-07 (line 65-67) | ○ |
| C-44 | _set関数が非strict時に値を返却 | E-07 (line 69) | ○ |
| C-45 | set関数がReflect.setを使用（利用可能時） | E-07 (line 12-14) | ○ |
| C-46 | ownKeys関数が文字列キーを取得 | E-08 (line 13) | ○ |
| C-47 | ownKeys関数がシンボルキーを含めて取得 | E-08 (line 14-22) | ○ |
| C-48 | ownKeys関数がenumerableOnlyでフィルタ | E-08 (line 16-21) | ○ |
| C-49 | _objectSpread2関数が単一ソースをスプレッド | E-08 (line 35-56) | ○ |
| C-50 | _objectSpread2関数が複数ソースをスプレッド | E-08 (line 36-54) | ○ |
| C-51 | _objectSpread2関数がプロパティを上書き | E-08 (line 39-40) | ○ |
| C-52 | _objectSpread2関数がnullソースをスキップ | E-08 (line 37) | ○ |
| C-53 | _objectSpread2関数がundefinedソースをスキップ | E-08 (line 37) | ○ |
| C-54 | _slicedToArray関数が配列から要素を取得 | E-09 (line 10-15) | ○ |
| C-55 | _slicedToArray関数がイテラブルから取得 | E-09 (line 12) | ○ |
| C-56 | _slicedToArray関数が非イテラブルでエラー | E-09 (line 14) | ○ |
| C-57 | _slicedToArray関数が要素数超過で利用可能分を返却 | E-09 (line 12) | ○ |
| C-58 | _construct関数がコンストラクタを呼び出す | E-10 (line 6-23) | ○ |
| C-59 | _construct関数がClassのプロトタイプを設定 | E-10 (line 21) | ○ |
| C-60 | _construct関数がReflect.constructを使用 | E-10 (line 11-14) | ○ |
| C-61 | _assertClassBrand関数が関数brandで検証 | E-11 (line 8) | ○ |
| C-62 | _assertClassBrand関数がWeakMapで検証 | E-11 (line 8) | ○ |
| C-63 | _assertClassBrand関数が不在時にTypeError | E-11 (line 11) | ○ |
| C-64 | _assertClassBrand関数がreturnValue省略時にreceiver返却 | E-11 (line 9) | ○ |
| C-65 | _createForOfIteratorHelper関数が配列をイテレート | E-12 (line 29-53) | ○ |
| C-66 | _createForOfIteratorHelper関数がイテラブルをイテレート | E-12 (line 22-24, 66-89) | ○ |
| C-67 | _createForOfIteratorHelper関数がArrayLikeをイテレート | E-12 (line 32) | ○ |
| C-68 | _createForOfIteratorHelper関数が非イテラブルでTypeError | E-12 (line 55-57) | ○ |
| C-69 | ForOfIteratorHelper.sがイテレータを初期化 | E-12 (line 67-68) | ○ |
| C-70 | ForOfIteratorHelper.nが次の要素を返却 | E-12 (line 70-73) | ○ |
| C-71 | ForOfIteratorHelper.eがエラーを記録 | E-12 (line 75-78) | ○ |
| C-72 | ForOfIteratorHelper.fがイテレータのreturnを呼び出す | E-12 (line 79-83) | ○ |
| C-73 | ForOfIteratorHelper.fが記録されたエラーをスロー | E-12 (line 86) | ○ |
| C-74 | _wrapAsyncGenerator関数がAsyncGeneratorを返す | E-13 (line 5-10) | ○ |
| C-75 | AsyncGeneratorコンストラクタがジェネレータから構築 | E-13 (line 45-150) | ○ |
| C-76 | AsyncGenerator.nextがPromiseを返却 | E-13 (line 159-161) | ○ |
| C-77 | AsyncGenerator.throwがPromiseを返却 | E-13 (line 162-164) | ○ |
| C-78 | AsyncGenerator.returnがPromiseを返却 | E-13 (line 165-167) | ○ |
| C-79 | AsyncGenerator[Symbol.asyncIterator]がthisを返却 | E-13 (line 152-157) | ○ |
| C-80 | _usingCtx関数がUsingCtxReturnを返却 | E-14 (line 31-159) | ○ |
| C-81 | UsingCtx.uがDisposableをスタックに追加 | E-14 (line 44-98) | ○ |
| C-82 | UsingCtx.aがAsyncDisposableをスタックに追加 | E-14 (line 106-111) | ○ |
| C-83 | UsingCtx.dがリソースを逆順にdispose | E-14 (line 113-158) | ○ |
| C-84 | UsingCtx.uが非オブジェクトでTypeError | E-14 (line 57-61) | ○ |
| C-85 | UsingCtx.uがdisposeメソッドなしでTypeError | E-14 (line 78-80) | ○ |
| C-86 | UsingCtx.uがnullでnullを返却 | E-14 (line 56, 97) | ○ |
| C-87 | UsingCtx.dがSuppressedErrorを使用 | E-14 (line 32-41, 152) | △ |
| C-88 | _superPropBase関数がプロトタイプオブジェクトを返却 | E-15 (line 5-12) | ○ |
| C-89 | _superPropBase関数が自身を返却 | E-15 (line 7) | ○ |
| C-90 | _superPropBase関数が存在しないプロパティでnull | E-15 (line 9-10) | ○ |
| C-91 | _checkInRHS関数がオブジェクトをそのまま返却 | E-16 (line 3-10) | ○ |
| C-92 | _checkInRHS関数がプリミティブでTypeError | E-16 (line 4-8) | ○ |
| C-93 | _checkInRHS関数がnullでTypeError | E-16 (line 7) | ○ |
| C-94 | _temporalRef関数が通常値をそのまま返却 | E-17 (line 6-8) | ○ |
| C-95 | _temporalRef関数がtemporalUndefinedでエラー | E-17 (line 7) | ○ |
| C-96 | _classPrivateFieldGet2関数がプライベートフィールドを取得 | E-18 (line 5-10) | ○ |
| C-97 | _classPrivateFieldGet2関数が未定義でTypeError | E-18 (line 9) + E-11 | ○ |
| C-98 | _importDeferProxy関数がProxyを返却 | E-19 (line 3-37) | ○ |
| C-99 | _importDeferProxy関数がgetで初期化を実行 | E-19 (line 14-18, 26) | ○ |
| C-100 | _importDeferProxy関数がdefinePropertyでfalse | E-19 (line 24) | ○ |
| C-101 | _importDeferProxy関数がdeletePropertyでfalse | E-19 (line 25) | ○ |
| C-102 | _importDeferProxy関数がsetでfalse | E-19 (line 33) | ○ |
| C-103 | _importDeferProxy関数が初期化を一度だけ実行 | E-19 (line 6, 16) | △ |
| C-104 | helper関数がHelperオブジェクトを作成 | E-02 (line 24-34) | △ |
| C-105 | Helper.astがt.Programを返却 | E-02 (line 31) | ○ |
| C-106 | helpersレジストリが全ヘルパーを登録 | E-02 (line 37-) | ○ |

## 4) 不足情報（Unknown / Missing）
- **内部ヘルパーの具体例**: helpers-generated.tsを全体確認し、metadata.internal=trueのヘルパーを特定する必要がある
  - 候補：コード内検索 / metadata.internal確認 / 既存テストケース確認
- **SuppressedError polyfillの動作検証**: ブラウザ/Node.js環境での実行時確認が必要
  - 候補：実行テスト / 環境別テスト / polyfill確認
- **初期化キャッシュ動作**: 実行時の状態遷移確認が必要
  - 候補：デバッグ実行 / モック使用テスト / 状態確認
- **helper関数の自動生成コード検証**: 生成スクリプトとの整合性確認
  - 候補：scripts/generate-helpers.js確認 / 生成結果比較

## 5) リスクフラグ（レビュー観点）
- **1（中リスク）**: isInternal関数 - 内部ヘルパーの定義が不明確で、テストケースの正確性に影響する可能性
- **0（低リスク）**: helper関数 - 自動生成コードのため、手動変更のリスクは低い
- **1（中リスク）**: SuppressedError polyfill - 環境依存の動作があり、全環境での動作保証が難しい
- **0（低リスク）**: その他のヘルパー関数 - ソースコードから直接導出可能

## 6) レビュアーチェックリスト（最小）
- [ ] UT-HLP-019: internal=trueのヘルパーが実際に存在するか確認
- [ ] UT-HLP-087: SuppressedError polyfillがすべてのターゲット環境で動作するか確認
- [ ] UT-HLP-103: importDeferProxyの初期化キャッシュが正しく動作するか実行テストで確認
- [ ] 境界値テスト: 空配列、null、undefinedのエッジケースが網羅されているか確認
- [ ] 依存関係: ヘルパー間の依存関係（inherits -> setPrototypeOf等）が正しくテストされているか確認
- [ ] ES環境: Symbol、Reflect、Proxy等のES6+機能の有無による分岐が正しくテストされているか確認
