---
generated_at: 2026-02-19 10:30:00
metrics:
  claims_total: 200
  claims_with_evidence: 192
  claims_without_evidence: 8
confidence_derived: 0.96
---

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

## 本レポートについて

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

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

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

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

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

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.96**
  - 根拠あり：192 / 200、根拠なし：8
- 優先レビュー（高）
  1. **FSharpType.Prettify**：複数のオーバーロードがあり、各オーバーロードのテストが必要
  2. **Type Provider関連**：条件付きコンパイル(#if !NO_TYPEPROVIDERS)で存在が変わるメンバー
  3. **ILフィールド関連**：IL関連のテストケースは実装詳細への依存が高い

## 2) 参照した情報（Evidence一覧）
> 実在するソースコードファイルを根拠として列挙。

- E-01: `src/Compiler/Symbols/Symbols.fs` - 主要なシンボル型（FSharpSymbol, FSharpEntity, FSharpUnionCase, FSharpField等）の実装
- E-02: `src/Compiler/Symbols/Symbols.fsi` - シンボル型の公開インターフェース定義
- E-03: `src/Compiler/Symbols/SymbolHelpers.fs` - シンボルヘルパー関数の実装
- E-04: `src/Compiler/Symbols/SymbolHelpers.fsi` - シンボルヘルパー関数の公開インターフェース
- E-05: `src/Compiler/Symbols/Exprs.fs` - 式（FSharpExpr）関連の実装
- E-06: `src/Compiler/Symbols/Exprs.fsi` - 式関連の公開インターフェース
- E-07: `src/Compiler/Symbols/FSharpDiagnostic.fs` - 診断（FSharpDiagnostic）の実装
- E-08: `src/Compiler/Symbols/FSharpDiagnostic.fsi` - 診断の公開インターフェース
- E-09: `src/Compiler/Symbols/SymbolPatterns.fs` - シンボルパターン（アクティブパターン）の実装
- E-10: `src/Compiler/Symbols/SymbolPatterns.fsi` - シンボルパターンの公開インターフェース

## 3) Claims と根拠の対応（レビューの主戦場）

### FSharpAccessibility (UT-SYM-001 〜 UT-SYM-005)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | IsPublic プロパティが公開アクセス時にtrueを返す | E-01 (line 45) | ○ |
| C-02 | IsPublic がprotectedの場合にfalseを返す | E-01 (line 45) | ○ |
| C-03 | IsPrivate プロパティがprivate時にtrueを返す | E-01 (line 47) | ○ |
| C-04 | IsInternal プロパティがinternal時にtrueを返す | E-01 (line 49) | ○ |
| C-05 | IsProtected プロパティがprotected時にtrueを返す | E-01 (line 51) | ○ |

### SymbolEnv (UT-SYM-006 〜 UT-SYM-009)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-06 | 4引数コンストラクタで初期化される | E-01 (line 64-67) | ○ |
| C-07 | 6引数コンストラクタで初期化される | E-01 (line 60-62) | ○ |
| C-08 | g プロパティでTcGlobalsが取得できる | E-01 (line 69) | ○ |
| C-09 | amap プロパティでImportMapが取得できる | E-01 (line 70) | ○ |

### FSharpDisplayContext (UT-SYM-010 〜 UT-SYM-013)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-10 | Empty 静的プロパティで空のコンテキストが取得できる | E-01, E-02 (line 65) | ○ |
| C-11 | WithShortTypeNames で短い型名設定が適用される | E-01 (line 210-211), E-02 (line 67) | ○ |
| C-12 | WithPrefixGenericParameters でPrefixスタイルが適用される | E-01 (line 213-214), E-02 (line 71) | ○ |
| C-13 | WithSuffixGenericParameters でSuffixスタイルが適用される | E-01 (line 216-217), E-02 (line 75) | ○ |

### FSharpSymbol (UT-SYM-014 〜 UT-SYM-030)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-14 | Assembly プロパティでアセンブリ情報が取得できる | E-01 (line 225-227), E-02 (line 102) | ○ |
| C-15 | IsAccessible でアクセス可能性が判定できる | E-01 (line 229), E-02 (line 96) | ○ |
| C-16 | IsAccessible がアクセス不可の場合falseを返す | E-01 (line 229) | ○ |
| C-17 | FullName で完全修飾名が取得できる | E-01 (line 233), E-02 (line 106) | ○ |
| C-18 | DeclarationLocation で宣言位置が取得できる | E-01 (line 235), E-02 (line 109) | ○ |
| C-19 | DeclarationLocation がない場合Noneが返る | E-01 (line 235) | ○ |
| C-20 | IsEffectivelySameAs で同一性判定ができる | E-01 (line 241-242), E-02 (line 132) | ○ |
| C-21 | IsEffectivelySameAs が異なる場合falseを返す | E-01 (line 241-242) | ○ |
| C-22 | GetEffectivelySameAsHash でハッシュが取得できる | E-01 (line 244), E-02 (line 135) | ○ |
| C-23 | DisplayName で表示名が取得できる | E-01 (line 252), E-02 (line 117) | ○ |
| C-24 | DisplayNameCore でコア表示名が取得できる | E-01 (line 250), E-02 (line 113) | ○ |
| C-25 | Create でItem.Valueから正しいシンボルが生成される | E-01 (line 274-277) | ○ |
| C-26 | Create でItem.UnionCaseから正しいシンボルが生成される | E-01 (line 278) | ○ |
| C-27 | Create でItem.ExnCaseから正しいシンボルが生成される | E-01 (line 279) | ○ |
| C-28 | HasAttribute で属性存在時にtrueが返る | E-01 (line 356-357), E-02 (line 149) | ○ |
| C-29 | HasAttribute で属性不在時にfalseが返る | E-01 (line 356-357) | ○ |
| C-30 | TryGetAttribute で属性が取得できる | E-01 (line 359-360), E-02 (line 146) | ○ |

### FSharpEntity (UT-SYM-031 〜 UT-SYM-077)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-31 | LogicalName で論理名が取得できる | E-01 (line 397-399), E-02 (line 210) | ○ |
| C-32 | LogicalName が未解決時に例外をスローする | E-01 (line 398) | ○ |
| C-33 | CompiledName でコンパイル名が取得できる | E-01 (line 401-403), E-02 (line 214) | ○ |
| C-34 | DisplayName で表示名が取得できる | E-01 (line 409-411), E-02 (line 217) | ○ |
| C-35 | AccessPath でアクセスパスが取得できる | E-01 (line 413-418), E-02 (line 221) | ○ |
| C-36 | AccessPath がグローバル時に"global"が返る | E-01 (line 416-417) | ○ |
| C-37 | Namespace で名前空間が取得できる | E-01 (line 435-442), E-02 (line 224) | ○ |
| C-38 | Namespace がない場合Noneが返る | E-01 (line 438-439) | ○ |
| C-39 | FullName で完全修飾名が取得できる | E-01 (line 462-466), E-02 (line 233) | ○ |
| C-40 | FullName がない場合に例外をスローする | E-01 (line 465) | ○ |
| C-41 | TryFullName でオプションが取得できる | E-01 (line 468-479), E-02 (line 236) | ○ |
| C-42 | TryFullName がない場合Noneが返る | E-01 (line 469-471) | ○ |
| C-43 | IsFSharpRecord でレコード判定ができる | E-01 (line 585-586), E-02 (line 245) | ○ |
| C-44 | IsFSharpRecord がfalseを返す | E-01 (line 585-586) | ○ |
| C-45 | IsFSharpUnion で判別共用体判定ができる | E-01 (line 588-589), E-02 (line 248) | ○ |
| C-46 | IsFSharpUnion がfalseを返す | E-01 (line 588-589) | ○ |
| C-47 | IsFSharpModule でモジュール判定ができる | E-01 (line 499-500), E-02 (line 272) | ○ |
| C-48 | IsClass でクラス判定ができる | E-01 (line 539-546), E-02 (line 303) | ○ |
| C-49 | IsInterface でインターフェース判定ができる | E-01 (line 556-558), E-02 (line 318) | ○ |
| C-50 | IsEnum で列挙型判定ができる | E-01 (line 569-571), E-02 (line 313) | ○ |
| C-51 | IsValueType で値型判定ができる | E-01 (line 507-509), E-02 (line 251) | ○ |
| C-52 | IsDelegate でデリゲート判定ができる | E-01 (line 560-567), E-02 (line 315) | ○ |
| C-53 | IsAbstractClass で抽象クラス判定ができる | E-01 (line 496-497), E-02 (line 291) | ○ |
| C-54 | IsMeasure で計量単位判定ができる | E-01 (line 493-494), E-02 (line 288) | ○ |
| C-55 | IsFSharpAbbreviation で型省略形判定ができる | E-01 (line 582-583), E-02 (line 242) | ○ |
| C-56 | IsFSharpExceptionDeclaration で例外型判定ができる | E-01 (line 573-574), E-02 (line 294) | ○ |
| C-57 | IsArrayType で配列型判定ができる | E-01 (line 511-513), E-02 (line 254) | ○ |
| C-58 | ArrayRank で配列ランクが取得できる | E-01 (line 515-520), E-02 (line 257) | ○ |
| C-59 | ArrayRank が配列でない場合0を返す | E-01 (line 519-520) | ○ |
| C-60 | GenericParameters でジェネリックパラメータが取得できる | E-01 (line 485-487), E-02 (line 275) | ○ |
| C-61 | GenericParameters が空の場合空リストを返す | E-01 (line 485-487) | ○ |
| C-62 | BaseType で基底型が取得できる | E-01 (line 639-643), E-02 (line 349) | ○ |
| C-63 | BaseType がない場合Noneを返す | E-01 (line 642-643) | ○ |
| C-64 | DeclaredInterfaces で実装インターフェースが取得できる | E-01 (line 611-617), E-02 (line 340) | ○ |
| C-65 | AllInterfaces で全インターフェースが取得できる | E-01 (line 619-625), E-02 (line 343) | ○ |
| C-66 | MembersFunctionsAndValues でメンバー一覧が取得できる | E-01 (line 651-700), E-02 (line 352) | ○ |
| C-67 | NestedEntities で入れ子型が取得できる | E-01 (line 727-732), E-02 (line 355) | ○ |
| C-68 | UnionCases でユニオンケースが取得できる | E-01 (line 734-738), E-02 (line 369) | ○ |
| C-69 | FSharpFields でフィールドが取得できる | E-01 (line 740-758), E-02 (line 360) | ○ |
| C-70 | AbbreviatedType で省略された型が取得できる | E-01 (line 760-765), E-02 (line 363) | ○ |
| C-71 | AbbreviatedType が型省略形でない場合に例外をスローする | E-01 (line 763-764) | ○ |
| C-72 | Attributes で属性が取得できる | E-01 (line 771-775), E-02 (line 337) | ○ |
| C-73 | XmlDoc でXMLドキュメントが取得できる | E-01 (line 706-708), E-02 (line 324) | ○ |
| C-74 | IsAttributeType で属性型判定ができる | E-01 (line 627-631), E-02 (line 346) | ○ |
| C-75 | IsUnresolved で未解決判定ができる | E-01 (line 382, 576-577), E-02 (line 301) | ○ |
| C-76 | Equals で等値性判定ができる | E-01 (line 958-962) | ○ |
| C-77 | Equals が異なる場合falseを返す | E-01 (line 958-962) | ○ |

### FSharpUnionCase (UT-SYM-078 〜 UT-SYM-084)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-78 | Name でケース名が取得できる | E-01 (line 992-994), E-02 (line 465) | ○ |
| C-79 | DeclaringEntity で宣言エンティティが取得できる | E-01 (line 1000-1002), E-02 (line 471) | ○ |
| C-80 | HasFields でフィールド有無が判定できる | E-01 (line 1004-1006), E-02 (line 474) | ○ |
| C-81 | HasFields がフィールドなしの場合falseを返す | E-01 (line 1005-1006) | ○ |
| C-82 | Fields でフィールド一覧が取得できる | E-01 (line 1008-1010), E-02 (line 477) | ○ |
| C-83 | ReturnType で戻り値型が取得できる | E-01 (line 1012-1014), E-02 (line 480) | ○ |
| C-84 | CompiledName でコンパイル名が取得できる | E-01 (line 1016-1018), E-02 (line 483) | ○ |

### FSharpField (UT-SYM-085 〜 UT-SYM-096)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-85 | Name でフィールド名が取得できる | E-01 (line 1241-1246), E-02 (line 580) | ○ |
| C-86 | FieldType でフィールド型が取得できる | E-01 (line 1225-1232), E-02 (line 568) | ○ |
| C-87 | IsMutable でミュータブル判定ができる | E-01 (line 1137-1142), E-02 (line 540) | ○ |
| C-88 | IsMutable がイミュータブル時falseを返す | E-01 (line 1137-1142) | ○ |
| C-89 | IsLiteral でリテラル判定ができる | E-01 (line 1144-1149), E-02 (line 543) | ○ |
| C-90 | LiteralValue でリテラル値が取得できる | E-01 (line 1151-1156), E-02 (line 583) | ○ |
| C-91 | LiteralValue が非リテラル時Noneを返す | E-01 (line 1151-1156) | ○ |
| C-92 | IsStatic で静的判定ができる | E-01 (line 1234-1239), E-02 (line 551) | ○ |
| C-93 | IsUnionCaseField でユニオンケースフィールド判定ができる | E-01 (line 1182-1185), E-02 (line 534) | ○ |
| C-94 | IsAnonRecordField で匿名レコードフィールド判定ができる | E-01 (line 1172-1175), E-02 (line 528) | ○ |
| C-95 | AnonRecordFieldDetails で匿名レコード詳細が取得できる | E-01 (line 1177-1180), E-02 (line 531) | ○ |
| C-96 | AnonRecordFieldDetails が匿名レコードでない場合に例外をスローする | E-01 (line 1179-1180) | ○ |

### FSharpGenericParameter (UT-SYM-097 〜 UT-SYM-100)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-97 | Name でパラメータ名が取得できる | E-01 (line 1371), E-02 (line 605) | ○ |
| C-98 | IsMeasure で計量単位パラメータ判定ができる | E-01 (line 1377), E-02 (line 611) | ○ |
| C-99 | IsSolveAtCompileTime で静的解決判定ができる | E-01 (line 1383), E-02 (line 617) | ○ |
| C-100 | Constraints で制約が取得できる | E-01 (line 1390), E-02 (line 626) | ○ |

### FSharpType (UT-SYM-101 〜 UT-SYM-115)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-101 | HasTypeDefinition で型定義有無が判定できる | E-02 (line 1103) | ○ |
| C-102 | TypeDefinition で型定義が取得できる | E-02 (line 1106) | ○ |
| C-103 | GenericArguments でジェネリック引数が取得できる | E-02 (line 1115) | ○ |
| C-104 | IsTupleType でタプル型判定ができる | E-02 (line 1121) | ○ |
| C-105 | IsFunctionType で関数型判定ができる | E-02 (line 1127) | ○ |
| C-106 | IsAnonRecordType で匿名レコード型判定ができる | E-02 (line 1130) | ○ |
| C-107 | IsGenericParameter でジェネリックパラメータ判定ができる | E-02 (line 1136) | ○ |
| C-108 | GenericParameter でジェネリックパラメータが取得できる | E-02 (line 1139) | ○ |
| C-109 | Format で型がフォーマットされる | E-02 (line 1142) | ○ |
| C-110 | FormatWithConstraints で制約付きフォーマットができる | E-02 (line 1145) | ○ |
| C-111 | Instantiate で型がインスタンス化される | E-02 (line 1154) | ○ |
| C-112 | AllInterfaces で全インターフェースが取得できる | E-02 (line 1158) | ○ |
| C-113 | BaseType で基底型が取得できる | E-02 (line 1162) | ○ |
| C-114 | StripAbbreviations で型省略が除去される | E-02 (line 1197) | ○ |
| C-115 | Prettify で型が整形される | E-02 (line 1172-1194) | △ |

### FSharpAttribute (UT-SYM-116 〜 UT-SYM-120)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-116 | AttributeType で属性型が取得できる | E-02 (line 1206) | ○ |
| C-117 | ConstructorArguments でコンストラクタ引数が取得できる | E-02 (line 1209) | ○ |
| C-118 | NamedArguments で名前付き引数が取得できる | E-02 (line 1212) | ○ |
| C-119 | Format で属性がフォーマットされる | E-02 (line 1218) | ○ |
| C-120 | IsAttribute で属性型判定ができる | E-02 (line 1224) | ○ |

### SymbolHelpers (UT-SYM-121 〜 UT-SYM-130)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-121 | rangeOfItem でアイテムの範囲が取得できる | E-03 (line 92-122), E-04 (line 47) | ○ |
| C-122 | rangeOfItem で範囲がない場合Noneを返す | E-03 (line 102, 109, 119, 122) | ○ |
| C-123 | FullNameOfItem で完全名が取得できる | E-03 (line 554-594), E-04 (line 51) | ○ |
| C-124 | ccuOfItem でCCUが取得できる | E-03 (line 141-218), E-04 (line 53) | ○ |
| C-125 | GetXmlCommentForItem でXMLコメントが取得できる | E-03 (line 597-722), E-04 (line 39) | ○ |
| C-126 | RemoveDuplicateItems で重複が除去される | E-03 (line 517-519), E-04 (line 41) | ○ |
| C-127 | RemoveDuplicateItems で空リストの場合空リストを返す | E-03 (line 518) | ○ |
| C-128 | IsExplicitlySuppressed で抑制判定ができる | E-03 (line 521-540), E-04 (line 57) | ○ |
| C-129 | GetF1Keyword でF1キーワードが取得できる | E-03 (line 797-948), E-04 (line 45) | ○ |
| C-130 | IsAttribute で属性判定ができる | E-03 (line 724-734), E-04 (line 55) | ○ |

### FSharpExpr (UT-SYM-131 〜 UT-SYM-140)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-131 | Range で式の範囲が取得できる | E-05 (line 150), E-06 (line 68) | ○ |
| C-132 | Type で式の型が取得できる | E-05 (line 151), E-06 (line 71) | ○ |
| C-133 | ImmediateSubExpressions で直接の部分式が取得できる | E-05 (line 156-210), E-06 (line 74) | ○ |
| C-134 | ImmediateSubExpressions で値式の場合空リストを返す | E-05 (line 158) | ○ |
| C-135 | FSharpObjectExprOverride.Signature でシグネチャが取得できる | E-05 (line 141), E-06 (line 80) | ○ |
| C-136 | FSharpObjectExprOverride.GenericParameters でジェネリックパラメータが取得できる | E-05 (line 142), E-06 (line 83) | ○ |
| C-137 | FSharpObjectExprOverride.Body で本体が取得できる | E-05 (line 144), E-06 (line 89) | ○ |
| C-138 | FSharpAssemblyContents.ImplementationFiles で実装ファイルが取得できる | E-06 (line 23) | ○ |
| C-139 | FSharpImplementationFileContents.QualifiedName で修飾名が取得できる | E-06 (line 30) | ○ |
| C-140 | FSharpImplementationFileContents.Declarations で宣言が取得できる | E-06 (line 36) | ○ |

### FSharpDiagnostic (UT-SYM-141 〜 UT-SYM-157)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-141 | Range で診断の範囲が取得できる | E-07 (line 134), E-08 (line 194) | ○ |
| C-142 | Severity で重大度が取得できる | E-07 (line 135), E-08 (line 197) | ○ |
| C-143 | Message でメッセージが取得できる | E-07 (line 137), E-08 (line 203) | ○ |
| C-144 | ErrorNumber でエラー番号が取得できる | E-07 (line 139), E-08 (line 209) | ○ |
| C-145 | ErrorNumberText でエラー番号テキストが取得できる | E-07 (line 141), E-08 (line 215) | ○ |
| C-146 | FileName でファイル名が取得できる | E-07 (line 148), E-08 (line 173) | ○ |
| C-147 | StartLine で開始行が取得できる | E-07 (line 144), E-08 (line 191) | ○ |
| C-148 | EndLine で終了行が取得できる | E-07 (line 145), E-08 (line 188) | ○ |
| C-149 | CreateFromException で例外から診断が生成される | E-07 (line 173-235), E-08 (line 231-233) | ○ |
| C-150 | Create 静的メソッドで診断が生成される | E-07 (line 241-244), E-08 (line 222-229) | ○ |
| C-151 | NewlineifyErrorString で改行が正規化される | E-07 (line 237), E-08 (line 237) | ○ |
| C-152 | NormalizeErrorString でエラー文字列が正規化される | E-07 (line 239), E-08 (line 241) | ○ |
| C-153 | WithStart で開始位置が変更される | E-07 (line 152-154) | ○ |
| C-154 | WithEnd で終了位置が変更される | E-07 (line 156-158) | ○ |
| C-155 | DiagnosticsScope.Diagnostics で診断一覧が取得できる | E-07 (line 263), E-08 (line 254) | ○ |
| C-156 | DiagnosticsScope.Protect で例外がキャッチされる | E-07 (line 284-301), E-08 (line 256) | ○ |
| C-157 | DiagnosticsScope.Protect で成功時は関数結果が返される | E-07 (line 286-297) | ○ |

### SymbolPatterns (UT-SYM-158 〜 UT-SYM-177)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-158 | AbbreviatedType で型省略形の場合Someを返す | E-09 (line 30-32), E-10 (line 9) | ○ |
| C-159 | AbbreviatedType で型省略形でない場合Noneを返す | E-09 (line 31-32) | ○ |
| C-160 | TypeWithDefinition で型定義がある場合Someを返す | E-09 (line 34-36), E-10 (line 11) | ○ |
| C-161 | Record でレコード型の場合Someを返す | E-09 (line 78), E-10 (line 19) | ○ |
| C-162 | UnionType で判別共用体の場合Someを返す | E-09 (line 80), E-10 (line 21) | ○ |
| C-163 | Delegate でデリゲートの場合Someを返す | E-09 (line 82), E-10 (line 23) | ○ |
| C-164 | Interface でインターフェースの場合Someを返す | E-09 (line 86), E-10 (line 27) | ○ |
| C-165 | FSharpModule でモジュールの場合Someを返す | E-09 (line 108), E-10 (line 41) | ○ |
| C-166 | Namespace で名前空間の場合Someを返す | E-09 (line 110), E-10 (line 43) | ○ |
| C-167 | Enum で列挙型の場合Someを返す | E-09 (line 116), E-10 (line 49) | ○ |
| C-168 | Tuple でタプル型の場合Someを返す | E-09 (line 118-119), E-10 (line 51) | ○ |
| C-169 | FunctionType で関数型の場合Someを返す | E-09 (line 127-129), E-10 (line 55) | ○ |
| C-170 | MutableVar でミュータブル変数の場合Someを返す | E-09 (line 142-148), E-10 (line 61) | ○ |
| C-171 | Field でフィールドの場合情報を返す | E-09 (line 137-140), E-10 (line 59) | ○ |
| C-172 | FSharpEntity でエンティティの場合情報を返す | E-09 (line 151-156), E-10 (line 64) | ○ |
| C-173 | UnionCase でユニオンケースの場合Someを返す | E-09 (line 163-166), E-10 (line 68) | ○ |
| C-174 | Constructor でコンストラクタの場合Someを返す | E-09 (line 188-191), E-10 (line 76) | ○ |
| C-175 | Function で関数の場合Someを返す | E-09 (line 193-201), E-10 (line 78) | ○ |
| C-176 | ExtensionMember で拡張メンバーの場合Someを返す | E-09 (line 203-204), E-10 (line 80) | ○ |
| C-177 | Event でイベントの場合Someを返す | E-09 (line 206-207), E-10 (line 82) | ○ |

### FSharpAssembly & FSharpAssemblySignature (UT-SYM-178 〜 UT-SYM-184)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-178 | FSharpAssembly.QualifiedName で修飾名が取得できる | E-02 (line 157) | ○ |
| C-179 | FSharpAssembly.Contents で内容が取得できる | E-02 (line 160) | ○ |
| C-180 | FSharpAssembly.FileName でファイル名が取得できる | E-02 (line 163) | ○ |
| C-181 | FSharpAssembly.SimpleName で単純名が取得できる | E-02 (line 166) | ○ |
| C-182 | FSharpAssemblySignature.Entities でエンティティが取得できる | E-02 (line 188) | ○ |
| C-183 | FSharpAssemblySignature.FindEntityByPath でエンティティが検索できる | E-02 (line 195) | ○ |
| C-184 | FSharpAssemblySignature.FindEntityByPath で見つからない場合Noneを返す | E-02 (line 195) | △ |

### FSharpMemberOrFunctionOrValue (UT-SYM-185 〜 UT-SYM-195)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-185 | DeclaringEntity で宣言エンティティが取得できる | E-02 (line 794) | ○ |
| C-186 | FullType で完全な型が取得できる | E-02 (line 809) | ○ |
| C-187 | IsMember でメンバー判定ができる | E-02 (line 836) | ○ |
| C-188 | IsProperty でプロパティ判定ができる | E-02 (line 839) | ○ |
| C-189 | IsMethod でメソッド判定ができる | E-02 (line 842) | ○ |
| C-190 | IsEvent でイベント判定ができる | E-02 (line 877) | ○ |
| C-191 | IsConstructor でコンストラクタ判定ができる | E-02 (line 985) | ○ |
| C-192 | IsValue で値判定ができる | E-02 (line 979) | ○ |
| C-193 | IsFunction で関数判定ができる | E-02 (line 982) | ○ |
| C-194 | CurriedParameterGroups でカリー化パラメータグループが取得できる | E-02 (line 934) | ○ |
| C-195 | ReturnParameter で戻り値パラメータが取得できる | E-02 (line 943) | ○ |

### FSharpParameter & FSharpActivePatternCase (UT-SYM-196 〜 UT-SYM-200)
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-196 | FSharpParameter.Name でパラメータ名が取得できる | E-02 (line 1017) | ○ |
| C-197 | FSharpParameter.Type でパラメータ型が取得できる | E-02 (line 1023) | ○ |
| C-198 | FSharpParameter.IsOptionalArg でオプションパラメータ判定ができる | E-02 (line 1038) | ○ |
| C-199 | FSharpActivePatternCase.Name でケース名が取得できる | E-02 (line 1047) | ○ |
| C-200 | FSharpActivePatternCase.Index でインデックスが取得できる | E-02 (line 1050) | ○ |

## 4) 不足情報（Unknown / Missing）
- **FSharpType.Prettify**（C-115）：複数のオーバーロードが存在するが、各オーバーロードの詳細な動作確認が必要
  - 候補：追加のオーバーロードごとのテストケース追加
- **FSharpAssemblySignature.FindEntityByPath**（C-184）：Noneを返すケースの詳細な境界条件の確認が必要
  - 候補：空パス、部分一致、大文字小文字の違いなどのエッジケース
- **Type Provider関連メンバー**：条件付きコンパイル（#if !NO_TYPEPROVIDERS）により、環境によっては存在しないメンバーがある
  - 候補：Type Provider有効/無効両方の環境でのテスト
- **IL関連フィールド/メソッド**：ILFieldInfo等のIL関連テストは内部実装への依存が高い
  - 候補：統合テストでのカバレッジ検討

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**: 大部分のテストケースは公開APIのシグネチャファイル(.fsi)に基づいており、安定している
- **1（中リスク）**: 型省略、匿名レコード、Type Provider関連は、F#言語機能の進化に伴い変更の可能性がある
- **2（高リスク）**: IL関連の内部実装テストは、コンパイラ内部の変更により影響を受けやすい

## 6) レビュアーチェックリスト（最小）
- [ ] 各テストケースの「前提条件」が実際のテスト環境で満たせるか確認
- [ ] 「期待結果」が仕様と一致しているか確認
- [ ] 境界値テストのカバレッジが十分か確認
- [ ] 例外ケースのエラーメッセージが適切か確認
- [ ] Type Provider関連のテストが環境依存でないか確認
- [ ] IL関連テストの内部実装依存度を確認
