---
generated_at: 2026-02-17 10:30:00
metrics:
  claims_total: 115
  claims_with_evidence: 115
  claims_without_evidence: 0
confidence_derived: 1.00
---

# 根拠レポート：core-root モジュール単体テストケース一覧

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**1.00**
  - 根拠あり：115 / 115、根拠なし：0
- 優先レビュー（高）
  1. **特になし**：全テストケースがソースコードに基づいて生成

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

- E-01: `script/core/matchkey.lua` - 文字列マッチング機能（matchkey関数、isValidFirstChar、isAlmostSame）
- E-02: `script/core/type-formatting.lua` - タイプフォーマット機能（typeFormat関数）
- E-03: `script/core/fix-indent.lua` - インデント修正機能（removeSpacesAfterEnter、fixWrongIndent、applyEdits）
- E-04: `script/core/formatting.lua` - コードフォーマット機能（メイン関数）
- E-05: `script/core/rename.lua` - リネーム機能（m.rename、m.prepareRename、isValidName、isValidGlobal等）
- E-06: `script/core/folding.lua` - フォールディング機能（care テーブル、メイン関数）
- E-07: `script/core/type-definition.lua` - 型定義ジャンプ機能（sortResults、checkRequire、convertIndex）
- E-08: `script/core/substring.lua` - 部分文字列取得機能（メイン関数）
- E-09: `script/core/code-action.lua` - コードアクション機能（checkQuickFix、checkSwapParams、checkJsonToLua等）
- E-10: `script/core/highlight.lua` - ハイライト機能（find、findKeyWord、checkRegion）
- E-11: `script/core/reference.lua` - 参照検索機能（sortResults、メイン関数）
- E-12: `script/core/definition.lua` - 定義ジャンプ機能（sortResults、checkRequire、convertIndex、checkSee）
- E-13: `script/core/look-backward.lua` - 後方検索ユーティリティ（m.isSpace、m.skipSpace、m.findWord等）
- E-14: `script/core/code-lens.lua` - CodeLens機能（mt:init、mt:addResult、mt:resolve、codeLens、resolve）
- E-15: `script/core/hint.lua` - ヒント機能（typeHint、paramName、arrayIndex、awaitHint、semicolonHint）
- E-16: `script/core/rangeformatting.lua` - 範囲フォーマット機能（メイン関数）
- E-17: `script/core/color.lua` - カラー検出機能（colors、colorToText、isColor、textToColor、hexTextToColor）
- E-18: `script/core/find-source.lua` - ソース検索機能（isValidFunctionPos、メイン関数）
- E-19: `script/core/implementation.lua` - 実装ジャンプ機能（sortResults、convertIndex、メイン関数）
- E-20: `script/core/modifyRequirePath.lua` - requireパス更新機能（checkConvert、メイン関数）
- E-21: `script/core/jump-source.lua` - ソースジャンプ解決機能（parseUri、メイン関数）
- E-22: `script/core/semantic-tokens.lua` - セマンティックトークン機能（Care、buildTokens、solveMultilineAndOverlapping）
- E-23: `script/core/workspace-symbol.lua` - ワークスペースシンボル検索機能（buildSource、searchFile、searchGlobalAndClass等）
- E-24: `script/core/document-symbol.lua` - ドキュメントシンボル機能（buildName、buildValue、buildAnonymous、buildBlock等）
- E-25: `script/core/signature.lua` - シグネチャヘルプ機能（findNearCall、makeOneSignature、makeSignatures）

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | matchkey: 完全一致の場合にマッチすること | E-01 (L66-67) | ○ |
| C-02 | matchkey: 空文字列の場合にマッチすること | E-01 (L69-71) | ○ |
| C-03 | matchkey: 入力が対象より長い場合にマッチしないこと | E-01 (L72-74) | ○ |
| C-04 | matchkey: fastモードで先頭文字一致の場合 | E-01 (L75-77) | ○ |
| C-05 | matchkey: fastモードで先頭文字不一致の場合 | E-01 (L75-77) | ○ |
| C-06 | isValidFirstChar: 先頭文字検証 | E-01 (L10-36) | ○ |
| C-07 | isAlmostSame: アナグラム検証 | E-01 (L38-58) | ○ |
| C-08 | typeFormat: 改行文字での呼び出し | E-02 (L4-29) | ○ |
| C-09 | typeFormat: 改行以外の文字での呼び出し | E-02 (L5-7) | ○ |
| C-10 | typeFormat: state不在時 | E-02 (L32-34) | ○ |
| C-11 | typeFormat: TESTフラグ時 | E-02 (L37-39) | ○ |
| C-12 | removeSpacesAfterEnter: 空白除去 | E-03 (L11-60) | ○ |
| C-13 | fixWrongIndent: インデント修正 | E-03 (L85-125) | ○ |
| C-14 | fix-indent: fixIndentsオプション無効時 | E-03 (L172-174) | ○ |
| C-15 | formatting: 正常フォーマット | E-04 (L4-35) | ○ |
| C-16 | formatting: code_format不在時 | E-04 (L5-8) | ○ |
| C-17 | formatting: 変更不要時 | E-04 (L24-26) | ○ |
| C-18 | m.rename: ローカル変数リネーム | E-05 (L392-442) | ○ |
| C-19 | m.rename: フィールドリネーム | E-05 (L81-125) | ○ |
| C-20 | m.rename: グローバル変数リネーム | E-05 (L127-145) | ○ |
| C-21 | m.rename: newname=nil時 | E-05 (L393-395) | ○ |
| C-22 | m.rename: AST不在時 | E-05 (L396-399) | ○ |
| C-23 | m.prepareRename: リネーム可能時 | E-05 (L444-464) | ○ |
| C-24 | m.prepareRename: リネーム不可時 | E-05 (L327-362) | ○ |
| C-25 | isValidName: 有効識別子 | E-05 (L19-29) | ○ |
| C-26 | isValidName: 無効識別子 | E-05 (L19-29) | ○ |
| C-27 | isValidGlobal: ドット区切り名 | E-05 (L34-44) | ○ |
| C-28 | folding: 関数フォールディング | E-06 (L7-22) | ○ |
| C-29 | folding: if文フォールディング | E-06 (L31-41) | ○ |
| C-30 | folding: regionコメント | E-06 (L96-121) | ○ |
| C-31 | folding: テーブルフォールディング | E-06 (L80-87) | ○ |
| C-32 | folding: state不在時 | E-06 (L160-164) | ○ |
| C-33 | type-definition: 型定義ジャンプ | E-07 (L108-176) | ○ |
| C-34 | type-definition: require解決 | E-07 (L60-85) | ○ |
| C-35 | type-definition: AST不在時 | E-07 (L109-112) | ○ |
| C-36 | type-definition: ソース不在時 | E-07 (L114-117) | ○ |
| C-37 | substring: 部分文字列取得 | E-08 (L3-13) | ○ |
| C-38 | code-action: クイックフィックス | E-09 (L453-459) | ○ |
| C-39 | code-action: パラメータスワップ | E-09 (L462-556) | ○ |
| C-40 | code-action: JSON to Lua | E-09 (L630-680) | ○ |
| C-41 | code-action: AST不在時 | E-09 (L735-738) | ○ |
| C-42 | highlight: シンボルハイライト | E-10 (L244-346) | ○ |
| C-43 | highlight: キーワードハイライト | E-10 (L100-131) | ○ |
| C-44 | highlight: リージョンハイライト | E-10 (L149-213) | ○ |
| C-45 | highlight: 結果0件時 | E-10 (L364-367) | ○ |
| C-46 | reference: 参照検索 | E-11 (L61-160) | ○ |
| C-47 | reference: 宣言除外参照 | E-11 (L89-94) | ○ |
| C-48 | reference: AST不在時 | E-11 (L62-65) | ○ |
| C-49 | reference: 結果0件時 | E-11 (L152-155) | ○ |
| C-50 | definition: 定義位置取得 | E-12 (L130-238) | ○ |
| C-51 | definition: require定義 | E-12 (L62-87) | ○ |
| C-52 | definition: doc.see定義 | E-12 (L113-127) | ○ |
| C-53 | definition: AST不在時 | E-12 (L131-134) | ○ |
| C-54 | definition: 結果0件時 | E-12 (L230-233) | ○ |
| C-55 | m.isSpace: スペース判定 | E-13 (L7-22) | ○ |
| C-56 | m.isSpace: タブ判定 | E-13 (L7-22) | ○ |
| C-57 | m.isSpace: 改行判定(inline=false) | E-13 (L13-18) | ○ |
| C-58 | m.isSpace: 改行判定(inline=true) | E-13 (L8-12) | ○ |
| C-59 | m.skipSpace: 空白スキップ | E-13 (L28-36) | ○ |
| C-60 | m.findWord: 単語検索 | E-13 (L38-48) | ○ |
| C-61 | m.findSymbol: シンボル検索 | E-13 (L50-69) | ○ |
| C-62 | m.findTargetSymbol: ターゲットシンボル検索 | E-13 (L71-81) | ○ |
| C-63 | m.findAnyOffset: 任意オフセット検索 | E-13 (L86-100) | ○ |
| C-64 | mt:init: CodeLens初期化 | E-14 (L28-40) | ○ |
| C-65 | mt:init: state不在時 | E-14 (L30-32) | ○ |
| C-66 | mt:addResult: 結果追加 | E-14 (L44-51) | ○ |
| C-67 | mt:resolve: 参照解決 | E-14 (L56-64) | ○ |
| C-68 | mt:resolve: 無効ID解決 | E-14 (L57-59) | ○ |
| C-69 | codeLens: CodeLens収集 | E-14 (L126-145) | ○ |
| C-70 | resolve: CodeLens解決 | E-14 (L150-161) | ○ |
| C-71 | hint: 型ヒント生成 | E-15 (L11-69) | ○ |
| C-72 | hint: パラメータ名ヒント | E-15 (L101-160) | ○ |
| C-73 | hint: 配列インデックスヒント | E-15 (L163-231) | ○ |
| C-74 | hint: awaitヒント | E-15 (L234-260) | ○ |
| C-75 | hint: セミコロンヒント | E-15 (L277-329) | ○ |
| C-76 | rangeformatting: 範囲フォーマット | E-16 (L5-33) | ○ |
| C-77 | rangeformatting: state不在時 | E-16 (L6-9) | ○ |
| C-78 | rangeformatting: code_format不在時 | E-16 (L10-13) | ○ |
| C-79 | colors: 8文字カラー検出 | E-17 (L68-92) | ○ |
| C-80 | colors: #RRGGBBカラー検出 | E-17 (L36-43) | ○ |
| C-81 | colorToText: カラー文字列変換 | E-17 (L47-54) | ○ |
| C-82 | isColor: 無効カラー判定 | E-17 (L8-20) | ○ |
| C-83 | find-source: ソース検索 | E-18 (L14-33) | ○ |
| C-84 | find-source: 関数キーワード位置 | E-18 (L3-12) | ○ |
| C-85 | find-source: タイプフィルタ | E-18 (L27) | ○ |
| C-86 | implementation: 実装位置取得 | E-19 (L80-170) | ○ |
| C-87 | implementation: AST不在時 | E-19 (L81-84) | ○ |
| C-88 | implementation: 結果0件時 | E-19 (L162-165) | ○ |
| C-89 | modifyRequirePath: requireパス更新 | E-20 (L54-74) | ○ |
| C-90 | modifyRequirePath: 空リネーム | E-20 (L55-57) | ○ |
| C-91 | checkConvert: パス変換 | E-20 (L15-49) | ○ |
| C-92 | jump-source: ソースジャンプ解決 | E-21 (L26-62) | ○ |
| C-93 | parseUri: 相対パスURI変換 | E-21 (L7-23) | ○ |
| C-94 | parseUri: URI直接使用 | E-21 (L9-11) | ○ |
| C-95 | semantic-tokens: トークン生成 | E-22 (L873-951) | ○ |
| C-96 | semantic-tokens: グローバルトークン | E-22 (L13-54) | ○ |
| C-97 | semantic-tokens: ローカルトークン | E-22 (L117-255) | ○ |
| C-98 | semantic-tokens: コメントトークン | E-22 (L906-938) | ○ |
| C-99 | semantic-tokens: 設定無効時 | E-22 (L875-877) | ○ |
| C-100 | workspace-symbol: シンボル検索 | E-23 (L151-161) | ○ |
| C-101 | workspace-symbol: グローバル/クラス検索 | E-23 (L60-91) | ○ |
| C-102 | workspace-symbol: フィールド検索 | E-23 (L96-134) | ○ |
| C-103 | workspace-symbol: マッチなし | E-23 (L151-161) | ○ |
| C-104 | document-symbol: シンボル生成 | E-24 (L337-357) | ○ |
| C-105 | document-symbol: 関数シンボル | E-24 (L100-110) | ○ |
| C-106 | document-symbol: ネストシンボル | E-24 (L359-386) | ○ |
| C-107 | document-symbol: テーブルシンボル | E-24 (L167-185) | ○ |
| C-108 | document-symbol: state不在時 | E-24 (L338-341) | ○ |
| C-109 | signature: シグネチャ取得 | E-25 (L207-227) | ○ |
| C-110 | signature: パラメータインデックス | E-25 (L139-173) | ○ |
| C-111 | signature: 可変長引数 | E-25 (L77-84) | ○ |
| C-112 | signature: state不在時 | E-25 (L208-212) | ○ |
| C-113 | signature: 呼び出し外 | E-25 (L215-218) | ○ |
| C-114 | findNearCall: 近接呼び出し検出 | E-25 (L8-42) | ○ |
| C-115 | makeOneSignature: シグネチャ生成 | E-25 (L45-94) | ○ |

## 4) 不足情報（Unknown / Missing）
- 該当なし
  - 全テストケースがソースコードの実装に基づいて生成されている

## 5) リスクフラグ（レビュー観点）
- 0: 低リスク
  - 全テストケースがソースコードを直接参照して生成
  - LSP機能のコア実装部分であり、既存のテストパターンに基づいている

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの入力値と期待結果がソースコードの実装と一致しているか確認
- [ ] 正常系・異常系・境界値のカバレッジが十分か確認
- [ ] 外部依存（code_format、vm、files等）を持つ関数のモック戦略が適切か確認
- [ ] 非同期関数（@async）のテスト方針が適切か確認
- [ ] config設定に依存するテストケースの前提条件が明確か確認
