Files
Viper_VSCode/packages
TermiNexus 2b752a7aec fix(vipeye): 修复 REnum 变体字段语义高亮为 property
REnum 变体字段(如 LLVMType.Ptr 的 Pointee)常规声明查找找不到,语义 token 误显示 undefined。根因:描述符协议在 Viper 结构体字段上失效,CPtr 等 C 类型类的 __get__ 查找返回 Unknown 而非 undefined,把字段类型(Value.Ty)污染为 Unknown,导致 x.Ty.Pointee 无法解析。

- typeEvaluator: applyDescriptorAccessMethod 的 isAnyOrUnknown 分支在 Viper 方言下返回 memberType 保留原始字段类型;新增 REnum 变体字段查找辅助(getViperREnumVariantFieldInfo)覆盖诊断与符号查找
- semanticTokenProvider: 空 declInfo 成员访问时用 getTypeOfExpression 求值,非 Unknown/Unbound 渲染为 property
2026-08-08 11:07:37 +08:00
..