---
generated_at: 2026-03-01 06:30:00
metrics:
  claims_total: 52
  claims_with_evidence: 48
  claims_without_evidence: 4
confidence_derived: 0.92
---

# 根拠レポート：babel-plugin-transform-reserved-words.csv

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.92**
  - 根拠あり：48 / 52、根拠なし：4
- 優先レビュー（高）
  1. **C-30**: ES5/ES6のキーワードの扱いについて、実装から明確な判断が難しい
  2. **C-32**: 分割代入の詳細な出力形式について、実装からの推測
  3. **C-44**: export宣言の出力形式について、実装からの推測
  4. **C-46**: Babel 6でのエラー挙動について、明示的なテストなし

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

- E-01: `packages/babel-plugin-transform-reserved-words/src/index.ts`（メインソースコード）
- E-02: `packages/babel-plugin-transform-reserved-words/package.json`（パッケージ定義）
- E-03: `packages/babel-plugin-transform-reserved-words/test/fixtures/issue-6477/issue-6477/input.js`（テストフィクスチャ入力）
- E-04: `packages/babel-plugin-transform-reserved-words/test/fixtures/issue-6477/issue-6477/output.js`（テストフィクスチャ出力）
- E-05: `packages/babel-types/src/validators/isValidES3Identifier.ts`（ES3予約語定義）
- E-06: `packages/babel-plugin-transform-reserved-words/README.md`（ドキュメント）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | ES3予約語「byte」を使用した変数宣言がリネームされること | E-01, E-03, E-04, E-05 | ○ |
| C-02 | ES3予約語「char」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-03 | ES3予約語「double」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-04 | ES3予約語「float」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-05 | ES3予約語「goto」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-06 | ES3予約語「int」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-07 | ES3予約語「long」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-08 | ES3予約語「native」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-09 | ES3予約語「short」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-10 | ES3予約語「synchronized」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-11 | ES3予約語「throws」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-12 | ES3予約語「transient」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-13 | ES3予約語「volatile」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-14 | ES3予約語「abstract」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-15 | ES3予約語「boolean」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-16 | ES3予約語「enum」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-17 | ES3予約語「final」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-18 | ES3予約語「implements」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-19 | ES3予約語「interface」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-20 | ES3予約語「package」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-21 | ES3予約語「private」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-22 | ES3予約語「protected」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-23 | ES3予約語「public」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-24 | ES3予約語「static」を使用した変数宣言がリネームされること | E-01, E-05 | ○ |
| C-25 | 関数パラメータにES3予約語を使用した場合にリネームされること | E-01, E-03, E-04 | ○ |
| C-26 | ES3予約語の参照がリネームされること | E-01, E-03, E-04 | ○ |
| C-27 | 複数のES3予約語が同時に使用された場合にすべてリネームされること | E-01 | ○ |
| C-28 | ネストしたスコープ内のES3予約語がリネームされること | E-01 | ○ |
| C-29 | 有効なES3識別子はリネームされないこと | E-01, E-05 | ○ |
| C-30 | ES5/ES6のキーワードはリネームされないこと | **根拠なし** | △ |
| C-31 | アロー関数のパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-32 | 分割代入でES3予約語を使用した場合にリネームされること | **根拠なし** | △ |
| C-33 | for文のループ変数にES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-34 | catch節のパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-35 | クラスメソッドのパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-36 | 空のコードに対してエラーが発生しないこと | E-01 | ○ |
| C-37 | 識別子がない場合にエラーが発生しないこと | E-01 | ○ |
| C-38 | let宣言でES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-39 | const宣言でES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-40 | 関数宣言名にES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-41 | 関数式名にES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-42 | クラス宣言名にES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-43 | import宣言のローカル名にES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-44 | export宣言の識別子がリネームされること | **根拠なし** | △ |
| C-45 | Babel 7以上のバージョンでプラグインが正常に動作すること | E-01, E-02 | ○ |
| C-46 | Babel 6以下のバージョンでエラーが発生すること | **根拠なし** | △ |
| C-47 | デフォルトパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-48 | レストパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-49 | オブジェクトメソッドのショートハンド内でES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-50 | ジェネレーター関数のパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-51 | async関数のパラメータにES3予約語を使用した場合にリネームされること | E-01 | ○ |
| C-52 | プラグイン名が「transform-reserved-words」として設定されること | E-01 | ○ |

## 4) 不足情報（Unknown / Missing）
- **C-30**: ES5/ES6キーワードの扱いは、isValidES3Identifierの実装から推測可能だが、明示的なテストケースは存在しない
  - 候補：`@babel/types`のisValidIdentifier実装を確認 / 追加のfixtureテストを確認
- **C-32**: 分割代入の出力形式は、Babelの内部スコープリネーム機能に依存するため、正確な出力形式の確認が必要
  - 候補：分割代入のfixtureテストを追加 / scope.rename()の実装を確認
- **C-44**: export宣言の出力形式はBabelの内部処理に依存
  - 候補：exportのfixtureテストを追加
- **C-46**: Babel 6でのエラー挙動は実装からの推測であり、明示的なテストが存在しない
  - 候補：Babel 6環境でのテスト / @babel/helper-plugin-utilsのassertVersion実装を確認

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 基本的なES3予約語の変換テスト（C-01〜C-24）はソースコードとisValidES3Identifier.tsから明確に裏付けられる
- **0（低リスク）**: issue-6477のテストケース（C-25, C-26）は既存のfixtureで確認済み
- **1（中リスク）**: モジュールシステム関連（import/export）のテストケースは、内部実装への依存度が高い
- **1（中リスク）**: Babel バージョン互換性テストは、実際のBabel 6環境での検証が推奨される

## 6) レビュアーチェックリスト（最小）
- [ ] ES3予約語リスト（E-05）に記載の全28語がテストケースに含まれているか確認
- [ ] issue-6477のテストケースが実際のfixtureと一致しているか確認
- [ ] 分割代入、export宣言の出力形式が正確か確認
- [ ] Babel 7バージョン要件が適切に反映されているか確認
- [ ] BindingIdentifierとReferencedIdentifierの両方がカバーされているか確認
