---
generated_at: 2026-02-27 12:00:00
metrics:
  claims_total: 260
  claims_with_evidence: 252
  claims_without_evidence: 8
confidence_derived: 0.97
---

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

## 本レポートについて

### 目的
本レポートは、生成された設計書・ドキュメントの信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.97**
  - 根拠あり：252 / 260、根拠なし：8
- 優先レビュー（高）
  1. **C-256, C-257（compatConfig / transformFilter）**：互換モジュールの内部動作はcompat設定に依存し、条件付きコンパイル（`__COMPAT__`フラグ）のため完全な検証が困難
  2. **C-258（transformVBindShorthand）**：same-nameショートハンドの詳細仕様がソースコード内のコメントのみで確認
  3. **C-259, C-260（vSlot）**：スロット構築の複雑なロジックは別ファイル（vSlot.ts）に詳細があり、読み込み行数制限のため一部未確認

## 2) 参照した情報（Evidence一覧）

- E-01: `packages/compiler-core/src/compile.ts` - baseCompile関数、getBaseTransformPreset関数
- E-02: `packages/compiler-core/src/parser.ts` - baseParse関数、parseForExpression関数、tokenizerコールバック群
- E-03: `packages/compiler-core/src/transform.ts` - createTransformContext、transform、traverseNode、traverseChildren、createStructuralDirectiveTransform
- E-04: `packages/compiler-core/src/codegen.ts` - generate関数、createCodegenContext、genNode群
- E-05: `packages/compiler-core/src/ast.ts` - 全ASTファクトリ関数（createRoot, createVNodeCall, createSimpleExpression等）
- E-06: `packages/compiler-core/src/utils.ts` - ユーティリティ関数群（isSimpleIdentifier, isCoreComponent, findDir, findProp, advancePositionWithMutation, injectProp, hasScopeRef等）
- E-07: `packages/compiler-core/src/errors.ts` - defaultOnError, createCompilerError, ErrorCodes enum, errorMessages
- E-08: `packages/compiler-core/src/runtimeHelpers.ts` - helperNameMap, registerRuntimeHelpers
- E-09: `packages/compiler-core/src/validateExpression.ts` - validateBrowserExpression
- E-10: `packages/compiler-core/src/babelUtils.ts` - walkIdentifiers, extractIdentifiers, isReferencedIdentifier, unwrapTSNode等
- E-11: `packages/compiler-core/src/transforms/vBind.ts` - transformBind
- E-12: `packages/compiler-core/src/transforms/vOn.ts` - transformOn
- E-13: `packages/compiler-core/src/transforms/vModel.ts` - transformModel
- E-14: `packages/compiler-core/src/transforms/vIf.ts` - transformIf (processIf)
- E-15: `packages/compiler-core/src/transforms/vFor.ts` - transformFor (processFor)
- E-16: `packages/compiler-core/src/transforms/transformElement.ts` - transformElement
- E-17: `packages/compiler-core/src/transforms/transformText.ts` - transformText
- E-18: `packages/compiler-core/src/transforms/vOnce.ts` - transformOnce
- E-19: `packages/compiler-core/src/transforms/vMemo.ts` - transformMemo
- E-20: `packages/compiler-core/src/transforms/transformSlotOutlet.ts` - transformSlotOutlet, processSlotOutlet
- E-21: `packages/compiler-core/src/transforms/cacheStatic.ts` - cacheStatic, getSingleElementRoot
- E-22: `packages/compiler-core/src/transforms/transformExpression.ts` - transformExpression, processExpression
- E-23: `packages/compiler-core/src/options.ts` - CompilerOptions, ParserOptions, TransformOptions, CodegenOptions型定義
- E-24: `packages/compiler-core/src/tokenizer.ts` - Tokenizer, ParseMode, CharCodes, State enums
- E-25: `packages/compiler-core/src/compat/compatConfig.ts` - checkCompatEnabled, isCompatEnabled
- E-26: `packages/compiler-core/src/compat/transformFilter.ts` - transformFilter
- E-27: `packages/compiler-core/src/transforms/transformVBindShorthand.ts` - transformVBindShorthand
- E-28: `packages/compiler-core/src/transforms/vSlot.ts` - trackSlotScopes, buildSlots

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-001 | baseCompile: 文字列テンプレートをコンパイル | E-01 | ○ |
| C-002 | baseCompile: RootNode ASTの直接入力 | E-01 (L95) | ○ |
| C-003 | baseCompile: moduleモードでのコンパイル | E-01 (L72) | ○ |
| C-004 | baseCompile: cacheHandlers検証 | E-01 (L85-87) | ○ |
| C-005 | baseCompile: scopeId検証 | E-01 (L88-90) | ○ |
| C-006 | baseCompile: isTS時のtypescriptプラグイン追加 | E-01 (L99-104) | ○ |
| C-007 | baseCompile: カスタムnodeTransformsマージ | E-01 (L109-111) | ○ |
| C-008 | baseCompile: カスタムdirectiveTransformsマージ | E-01 (L113-117) | ○ |
| C-009 | baseCompile: onErrorコールバック | E-01 (L71) | ○ |
| C-010 | getBaseTransformPreset: prefixIdentifiers=false | E-01 (L34-63) | ○ |
| C-011 | getBaseTransformPreset: prefixIdentifiers=true | E-01 (L43-51) | ○ |
| C-012 | baseParse: 単純HTML要素パース | E-02 | ○ |
| C-013 | baseParse: テキスト補間パース | E-02 | ○ |
| C-014 | baseParse: ネスト要素パース | E-02 | ○ |
| C-015 | baseParse: 属性パース | E-02 | ○ |
| C-016 | baseParse: v-ifパース | E-02 | ○ |
| C-017 | baseParse: v-forパース | E-02 | ○ |
| C-018 | baseParse: :ショートハンドパース | E-02 (L203-204) | ○ |
| C-019 | baseParse: @ショートハンドパース | E-02 (L207) | ○ |
| C-020 | baseParse: #ショートハンドパース | E-02 (L209) | ○ |
| C-021 | baseParse: 自己閉じタグ | E-02 | ○ |
| C-022 | baseParse: コメント | E-02 | ○ |
| C-023 | baseParse: カスタムデリミタ | E-02 (L1067-1071) | ○ |
| C-024 | baseParse: condenseモード空白圧縮 | E-02 | ○ |
| C-025 | baseParse: preserveモード空白保持 | E-02 (L838) | ○ |
| C-026 | baseParse: コンポーネント検出 | E-02 | ○ |
| C-027 | baseParse: slotタグ | E-02 (L641) | ○ |
| C-028 | baseParse: template+v-if | E-02 | ○ |
| C-029 | baseParse: X_MISSING_END_TAG | E-02 | ○ |
| C-030 | baseParse: X_INVALID_END_TAG | E-02 (L176) | ○ |
| C-031 | baseParse: DUPLICATE_ATTRIBUTE | E-02 (L303-309) | ○ |
| C-032 | baseParse: X_MISSING_INTERPOLATION_END | E-02 (L431-436) | ○ |
| C-033 | baseParse: X_MISSING_DIRECTIVE_NAME | E-02 (L212-213) | ○ |
| C-034 | baseParse: 空文字列入力 | E-02 (L1073) | ○ |
| C-035 | baseParse: テキストのみ入力 | E-02 | ○ |
| C-036 | baseParse: v-pre | E-02 (L234-244) | ○ |
| C-037 | baseParse: 動的引数 | E-02 (L255) | ○ |
| C-038 | baseParse: 修飾子 | E-02 | ○ |
| C-039 | baseParse: SFCモード | E-02 (L1056-1061) | ○ |
| C-040 | baseParse: vue:プレフィックス is属性 | E-02 (L802) | ○ |
| C-041 | parseForExpression: 基本式 | E-02 (L496-567) | ○ |
| C-042 | parseForExpression: key付き | E-02 | ○ |
| C-043 | parseForExpression: オブジェクト | E-02 | ○ |
| C-044 | parseForExpression: 不正式 | E-02 (L502) | ○ |
| C-045 | parseForExpression: ofキーワード | E-06 | ○ |
| C-046 | cloneLoc | E-02 (L927) | ○ |
| C-047 | createTransformContext: デフォルト | E-03 (L127-330) | ○ |
| C-048 | createTransformContext: selfName | E-03 (L154-158) | ○ |
| C-049 | TransformContext.helper: 登録 | E-03 (L205-208) | ○ |
| C-050 | TransformContext.helper: カウント増加 | E-03 (L206) | ○ |
| C-051 | TransformContext.removeHelper: カウント減少 | E-03 (L210-219) | ○ |
| C-052 | TransformContext.removeHelper: カウント>1 | E-03 (L215-216) | ○ |
| C-053 | TransformContext.helperString | E-03 (L221-223) | ○ |
| C-054 | TransformContext.replaceNode | E-03 (L224-236) | ○ |
| C-055 | TransformContext.removeNode: 指定ノード | E-03 (L237-264) | ○ |
| C-056 | TransformContext.removeNode: 引数なし | E-03 (L252-256) | ○ |
| C-057 | TransformContext.hoist | E-03 (L289-300) | ○ |
| C-058 | TransformContext.hoist: 文字列変換 | E-03 (L290) | ○ |
| C-059 | TransformContext.cache | E-03 (L301-310) | ○ |
| C-060 | TransformContext.cache: isVNode | E-03, E-05 | ○ |
| C-061 | TransformContext.addIdentifiers | E-03 (L266-277) | ○ |
| C-062 | TransformContext.removeIdentifiers | E-03 (L278-288) | ○ |
| C-063 | transform: transformed=true | E-03 (L349) | ○ |
| C-064 | transform: hoistStatic | E-03 (L335-337) | ○ |
| C-065 | transform: SSR | E-03 (L338-340) | ○ |
| C-066 | transform: helpers Set | E-03 (L342) | ○ |
| C-067 | traverseNode: transforms順序 | E-03 (L423-447) | ○ |
| C-068 | traverseNode: exitFns逆順 | E-03 (L480-483) | ○ |
| C-069 | traverseNode: ノード削除時中止 | E-03 (L440-442) | ○ |
| C-070 | traverseNode: COMMENT | E-03 (L450-456) | ○ |
| C-071 | traverseNode: INTERPOLATION | E-03 (L457-462) | ○ |
| C-072 | traverseChildren: 子ノード順序 | E-03 (L404-421) | ○ |
| C-073 | traverseChildren: インデックス調整 | E-03 (L409-411) | ○ |
| C-074 | createStructuralDirectiveTransform: 文字列 | E-03 (L486-518) | ○ |
| C-075 | createStructuralDirectiveTransform: 正規表現 | E-03 (L490-492) | ○ |
| C-076 | createStructuralDirectiveTransform: template+v-slot | E-03 (L498-501) | ○ |
| C-077 | createStructuralDirectiveTransform: props削除 | E-03 (L509) | ○ |
| C-078 | generate: functionモード | E-04 (L283-406) | ○ |
| C-079 | generate: moduleモード | E-04 (L314-315) | ○ |
| C-080 | generate: sourceMap | E-04 (L272-278) | ○ |
| C-081 | generate: SSR | E-04 (L320) | ○ |
| C-082 | generate: with block | E-04 (L338-350) | ○ |
| C-083 | generate: null返却 | E-04 (L388-390) | ○ |
| C-084 | generate: helper import | E-04 (L493-512) | ○ |
| C-085 | generate: コンポーネント解決 | E-04 (L353-358) | ○ |
| C-086 | generate: ディレクティブ解決 | E-04 (L359-363) | ○ |
| C-087 | generate: hoist変数 | E-04 (L567-585) | ○ |
| C-088 | generate: 一時変数 | E-04 (L371-376) | ○ |
| C-089 | generate: inline preamble | E-04 (L311-313, L403) | ○ |
| C-090 | generate: isTS型注釈 | E-04 (L327-329) | ○ |
| C-091 | generate: onContextCreated | E-04 (L290) | ○ |
| C-092 | generate: optimizeImports | E-04 (L487-504) | ○ |
| C-093 | createRoot | E-05 (L591-609) | ○ |
| C-094 | createRoot: 子ノードとソース | E-05 (L593-594) | ○ |
| C-095 | createVNodeCall | E-05 (L611-649) | ○ |
| C-096 | createVNodeCall: isBlock | E-05 (L625-628) | ○ |
| C-097 | createVNodeCall: directives | E-05 (L631-633) | ○ |
| C-098 | createVNodeCall: context=null | E-05 (L624) | ○ |
| C-099 | createSimpleExpression: static | E-05 (L685-698) | ○ |
| C-100 | createSimpleExpression: dynamic | E-05 (L696) | ○ |
| C-101 | createObjectExpression | E-05 (L662-671) | ○ |
| C-102 | createObjectProperty: stringキー | E-05 (L673-683) | ○ |
| C-103 | createObjectProperty: ExpressionNodeキー | E-05 (L680) | ○ |
| C-104 | createArrayExpression | E-05 (L651-660) | ○ |
| C-105 | createCallExpression | E-05 (L728-739) | ○ |
| C-106 | createFunctionExpression | E-05 (L741-756) | ○ |
| C-107 | createConditionalExpression | E-05 (L758-772) | ○ |
| C-108 | createCacheExpression | E-05 (L774-789) | ○ |
| C-109 | createInterpolation: 文字列 | E-05 (L700-711) | ○ |
| C-110 | createInterpolation: ExpressionNode | E-05 (L707-709) | ○ |
| C-111 | createCompoundExpression | E-05 (L713-722) | ○ |
| C-112 | createBlockStatement | E-05 (L791-799) | ○ |
| C-113 | createTemplateLiteral | E-05 (L801-809) | ○ |
| C-114 | createIfStatement | E-05 (L811-823) | ○ |
| C-115 | createAssignmentExpression | E-05 (L825-835) | ○ |
| C-116 | createSequenceExpression | E-05 (L837-845) | ○ |
| C-117 | createReturnStatement | E-05 (L847-855) | ○ |
| C-118 | getVNodeHelper: element | E-05 (L857-862) | ○ |
| C-119 | getVNodeHelper: SSR | E-05 (L861) | ○ |
| C-120 | getVNodeHelper: component | E-05 (L861) | ○ |
| C-121 | getVNodeBlockHelper: element | E-05 (L864-869) | ○ |
| C-122 | getVNodeBlockHelper: SSR | E-05 (L868) | ○ |
| C-123 | convertToBlock | E-05 (L871-881) | ○ |
| C-124 | convertToBlock: 既にblock | E-05 (L875) | ○ |
| C-125 | isSimpleIdentifier: 単純 | E-06 (L68-69) | ○ |
| C-126 | isSimpleIdentifier: ドット付き | E-06 | ○ |
| C-127 | isSimpleIdentifier: 数字始まり | E-06 | ○ |
| C-128 | isSimpleIdentifier: 空文字列 | E-06 | ○ |
| C-129 | isSimpleIdentifier: $プレフィックス | E-06 | ○ |
| C-130 | isCoreComponent: Teleport | E-06 (L51-54) | ○ |
| C-131 | isCoreComponent: Suspense | E-06 (L55-57) | ○ |
| C-132 | isCoreComponent: KeepAlive | E-06 (L58-60) | ○ |
| C-133 | isCoreComponent: BaseTransition | E-06 (L61-63) | ○ |
| C-134 | isCoreComponent: ケバブケース | E-06 (L59) | ○ |
| C-135 | isCoreComponent: 未知タグ | E-06 | ○ |
| C-136 | isMemberExpressionBrowser: プロパティアクセス | E-06 (L91-160) | ○ |
| C-137 | isMemberExpressionBrowser: ブラケット | E-06 (L107-110) | ○ |
| C-138 | isMemberExpressionBrowser: 関数呼出し | E-06 (L143-145) | ○ |
| C-139 | isMemberExpressionBrowser: オプショナル | E-06 | ○ |
| C-140 | isFnExpressionBrowser: アロー | E-06 | ○ |
| C-141 | isFnExpressionBrowser: function | E-06 | ○ |
| C-142 | isFnExpressionBrowser: async | E-06 | ○ |
| C-143 | isFnExpressionBrowser: 識別子 | E-06 | ○ |
| C-144 | advancePositionWithMutation: 改行なし | E-06 (L252-274) | ○ |
| C-145 | advancePositionWithMutation: 改行あり | E-06 (L260) | ○ |
| C-146 | advancePositionWithMutation: 複数改行 | E-06 (L257) | ○ |
| C-147 | advancePositionWithMutation: 空文字列 | E-06 | ○ |
| C-148 | advancePositionWithClone | E-06 (L234-248) | ○ |
| C-149 | assert: true | E-06 (L276-281) | ○ |
| C-150 | assert: false | E-06 (L278) | ○ |
| C-151 | findDir: 名前マッチ | E-06 (L283-298) | ○ |
| C-152 | findDir: 正規表現 | E-06 (L293) | ○ |
| C-153 | findDir: 未存在 | E-06 | ○ |
| C-154 | findDir: allowEmpty | E-06 (L292) | ○ |
| C-155 | findProp: 静的属性 | E-06 (L300-321) | ○ |
| C-156 | findProp: v-bind動的 | E-06 (L313-318) | ○ |
| C-157 | findProp: dynamicOnly | E-06 (L309) | ○ |
| C-158 | findProp: 未存在 | E-06 | ○ |
| C-159 | isStaticArgOf: マッチ | E-06 (L323-328) | ○ |
| C-160 | isStaticArgOf: undefined | E-06 (L327) | ○ |
| C-161 | hasDynamicKeyVBind: v-bind obj | E-06 (L330-339) | ○ |
| C-162 | hasDynamicKeyVBind: 動的キー | E-06 (L337) | ○ |
| C-163 | hasDynamicKeyVBind: 静的 | E-06 | ○ |
| C-164 | isText: TextNode | E-06 (L341-345) | ○ |
| C-165 | isText: InterpolationNode | E-06 (L344) | ○ |
| C-166 | isText: ElementNode | E-06 | ○ |
| C-167 | toValidAssetId: 基本 | E-06 (L490-498) | ○ |
| C-168 | toValidAssetId: ハイフン | E-06 (L496) | ○ |
| C-169 | toValidAssetId: 特殊文字 | E-06 (L496) | ○ |
| C-170 | injectProp: null props | E-06 (L419-420) | ○ |
| C-171 | injectProp: ObjectExpression先頭 | E-06 (L443-447) | ○ |
| C-172 | injectProp: mergeProps | E-06 (L421-442) | ○ |
| C-173 | injectProp: 同名キースキップ | E-06 (L428, L444) | ○ |
| C-174 | hasScopeRef: スコープ変数参照 | E-06 (L537-542) | ○ |
| C-175 | hasScopeRef: 静的式 | E-06 (L538) | ○ |
| C-176 | hasScopeRef: undefined | E-06 (L510) | ○ |
| C-177 | hasScopeRef: 空ids | E-06 (L510) | ○ |
| C-178 | getMemoedVNodeCall: withMemo | E-06 (L561-569) | ○ |
| C-179 | getMemoedVNodeCall: 非withMemo | E-06 (L567) | ○ |
| C-180 | isAllWhitespace: 空白のみ | E-06 (L573-580) | ○ |
| C-181 | isAllWhitespace: 非空白含む | E-06 (L575-577) | ○ |
| C-182 | isVSlot | E-06 (L351-353) | ○ |
| C-183 | isTemplateNode | E-06 (L355-361) | ○ |
| C-184 | isSlotOutlet | E-06 (L363-367) | ○ |
| C-185 | isStaticExp | E-06 (L47-48) | ○ |
| C-186 | defaultOnError | E-07 (L12-14) | ○ |
| C-187 | createCompilerError | E-07 (L24-38) | ○ |
| C-188 | createCompilerError: 追加メッセージ | E-07 (L31) | ○ |
| C-189 | createCompilerError: カスタムメッセージ | E-07 (L31) | ○ |
| C-190 | registerRuntimeHelpers | E-08 (L128-132) | ○ |
| C-191 | validateBrowserExpression: 有効式 | E-09 (L33-65) | ○ |
| C-192 | validateBrowserExpression: 不正式 | E-09 (L48-63) | ○ |
| C-193 | validateBrowserExpression: 禁止キーワード | E-09 (L50-55) | ○ |
| C-194 | validateBrowserExpression: 空白 | E-09 (L38-40) | ○ |
| C-195 | validateBrowserExpression: asParams | E-09 (L46) | ○ |
| C-196 | transformBind: 基本変換 | E-11 (L15-73) | ○ |
| C-197 | transformBind: 空式エラー | E-11 (L22-38) | ○ |
| C-198 | transformBind: .camel | E-11 (L48-59) | ○ |
| C-199 | transformBind: .prop | E-11 (L62-64) | ○ |
| C-200 | transformBind: .attr | E-11 (L65-67) | ○ |
| C-201 | transformBind: 動的引数 | E-11 (L40-45) | ○ |
| C-202 | transformOn: 静的イベント | E-12 (L40-59) | ○ |
| C-203 | transformOn: vue:プレフィックス | E-12 (L46-48) | ○ |
| C-204 | transformOn: 式なしエラー | E-12 (L36-38) | ○ |
| C-205 | transformOn: 動的イベント | E-12 (L60-73) | ○ |
| C-206 | transformModel: 基本変換 | E-13 | ○ |
| C-207 | transformModel: 式なしエラー | E-13 (L25-30) | ○ |
| C-208 | transformModel: malformed式 | E-13 (L67-72) | ○ |
| C-209 | transformModel: propsエラー | E-13 (L43-49) | ○ |
| C-210 | transformModel: constエラー | E-13 (L52-58) | ○ |
| C-211 | transformIf: v-if | E-14 (L44-47) | ○ |
| C-212 | transformIf: v-else-if | E-14 | ○ |
| C-213 | transformIf: v-else | E-14 | ○ |
| C-214 | transformIf: 式なしエラー | E-14 | ○ |
| C-215 | transformIf: v-else隣接なし | E-14 | ○ |
| C-216 | transformFor: v-for | E-15 (L52-56) | ○ |
| C-217 | transformFor: 式なしエラー | E-15 | ○ |
| C-218 | transformElement: プレーン要素 | E-16 (L73-76) | ○ |
| C-219 | transformElement: コンポーネント | E-16 | ○ |
| C-220 | transformText: テキストマージ | E-17 (L18-119) | ○ |
| C-221 | transformText: 単一テキスト | E-17 (L57-83) | ○ |
| C-222 | transformOnce: キャッシュ | E-18 (L8-28) | ○ |
| C-223 | transformOnce: SSR skip | E-18 (L10) | ○ |
| C-224 | transformOnce: inVOnce skip | E-18 (L10) | ○ |
| C-225 | transformMemo: withMemo | E-19 (L16-43) | ○ |
| C-226 | transformMemo: ブロック変換 | E-19 (L29-30) | ○ |
| C-227 | transformMemo: SSR skip | E-19 (L19) | ○ |
| C-228 | transformSlotOutlet: RENDER_SLOT | E-20 (L18-53) | ○ |
| C-229 | processSlotOutlet: name属性 | E-20 (L72-73) | ○ |
| C-230 | processSlotOutlet: デフォルト | E-20 (L64) | ○ |
| C-231 | processSlotOutlet: ディレクティブエラー | E-20 (L109-116) | ○ |
| C-232 | cacheStatic | E-21 (L40-49) | ○ |
| C-233 | getSingleElementRoot: 単一要素 | E-21 (L51-60) | ○ |
| C-234 | getSingleElementRoot: 複数子 | E-21 (L55) | ○ |
| C-235 | getSingleElementRoot: slotOutlet | E-21 (L57) | ○ |
| C-236 | transformExpression: INTERPOLATION | E-22 (L49-54) | ○ |
| C-237 | transformExpression: ディレクティブexp | E-22 (L55-80) | ○ |
| C-238 | walkIdentifiers | E-10 (L21-124) | ○ |
| C-239 | extractIdentifiers: Identifier | E-10 (L286-329) | ○ |
| C-240 | extractIdentifiers: ObjectPattern | E-10 (L303-311) | ○ |
| C-241 | extractIdentifiers: ArrayPattern | E-10 (L313-317) | ○ |
| C-242 | extractIdentifiers: RestElement | E-10 (L319-320) | ○ |
| C-243 | extractIdentifiers: AssignmentPattern | E-10 (L322-323) | ○ |
| C-244 | isReferencedIdentifier: null parent | E-10 (L135-137) | ○ |
| C-245 | isReferencedIdentifier: arguments | E-10 (L140-142) | ○ |
| C-246 | isInDestructureAssignment | E-10 (L163-182) | ○ |
| C-247 | isInNewExpression | E-10 (L184-195) | ○ |
| C-248 | isFunctionType: FunctionExpression | E-10 (L352-354) | ○ |
| C-249 | isFunctionType: ArrowFunction | E-10 (L353) | ○ |
| C-250 | unwrapTSNode: TSAsExpression | E-10 (L551-557) | ○ |
| C-251 | unwrapTSNode: 非TSノード | E-10 (L555-556) | ○ |
| C-252 | unwrapTSNode: ネスト | E-10 (L553) | ○ |
| C-253 | walkBlockDeclarations: Variable | E-10 (L208-233) | ○ |
| C-254 | walkBlockDeclarations: Function | E-10 (L221-225) | ○ |
| C-255 | walkFunctionParams | E-10 (L197-206) | ○ |
| C-256 | checkCompatEnabled | E-25 | △ |
| C-257 | transformFilter | E-26 | △ |
| C-258 | transformVBindShorthand | E-27 | △ |
| C-259 | trackSlotScopes | E-28 | △ |
| C-260 | buildSlots | E-28 | △ |

## 4) 不足情報（Unknown / Missing）
- **compat関連（C-256, C-257）**：`__COMPAT__` コンパイルフラグによる条件付きコードのため、実際の動作パスが環境依存。互換モードの完全な仕様確認にはVue 2からの移行ガイドの参照が必要。
  - 候補：Vue 2 Migration Guide / `packages/vue-compat` テストケース / Vue RFCドキュメント
- **transformVBindShorthand（C-258）**：同名ショートハンド（`:prop`）の仕様がRFC-ベースで、ファイルの読み込みが一部のみ。
  - 候補：`transformVBindShorthand.ts` の完全読み込み / Vue 3.4+ リリースノート
- **vSlot詳細（C-259, C-260）**：`vSlot.ts` のbuildSlots関数は複雑で、行数制限のため先頭部分のみ確認。
  - 候補：`packages/compiler-core/src/transforms/vSlot.ts` の完全読み込み / 既存テストケース
- **tokenizer詳細**：tokenizer.tsは非常に大きなファイル（1000行以上）で先頭100行のみ読み込み。Tokenizer自体は内部実装であり個別テストケースはパーサ経由でカバー。
  - 候補：`packages/compiler-core/src/tokenizer.ts` の完全読み込み
- **noopDirectiveTransform**：空のディレクティブ変換（no-op）で実質テスト不要と判断。
- **index.ts**：re-exportのみのファイルでテスト対象外。

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: AST生成関数群（C-093〜C-117）、ユーティリティ関数群（C-125〜C-185）- 純関数で入出力が明確
- **0（低リスク）**: コード生成（C-078〜C-092）- 文字列生成のため出力検証が容易
- **1（中リスク）**: Transform系（C-063〜C-077, C-211〜C-237）- 状態を持つコンテキストとの相互作用があり、テスト設計の前提条件が複雑
- **1（中リスク）**: パーサ（C-012〜C-046）- tokenizer状態マシンとの連携があり、エッジケースが多い
- **2（高リスク）**: compat関連（C-256, C-257）- 環境フラグ依存で検証が困難
- **1（中リスク）**: vSlot/buildSlots（C-259, C-260）- 動的/静的スロットの複雑な分岐ロジック

## 6) レビュアーチェックリスト（最小）
- [ ] 全テストケースのテストIDが一意であること（UT-CMP-001〜UT-CMP-260）
- [ ] 正常系・異常系・境界値の各観点が主要機能に対して網羅されていること
- [ ] エラーコード（ErrorCodes）が正しく対応するテストケースに記載されていること
- [ ] Transform系テストの前提条件が現実的であること（適切なTransformContext設定）
- [ ] パーサのエラーケースがHTML仕様に基づいた代表的なケースをカバーしていること
- [ ] compat関連テストケース（C-256, C-257）の妥当性を`__COMPAT__`フラグの観点から確認
- [ ] vSlot（C-259, C-260）のテストケースが不足していないか、buildSlotsの完全な読み込みにより確認
- [ ] 優先度の付与基準（高/中/低）がプロジェクトのリスク評価と一致していること
