Files
Viper_VSCode/packages
TermiNexus c8817cacb1 fix(vipeye-internal): CArray 元素访问解析出元素类型(成员可高亮)
- kbd_buf: [KBD_BUF_SIZE]usb_kbd_event 的 kbd_buf[i].modifier 原先报
  「无法解析类型上的成员“modifier”访问」且该成员拿不到语义 token(纯白)
- 根因:t.vpi 的 CArray 是 Generic[T, N] + __getitem__ -> T,但 Viper 侧
  TypeVar(...) 不产出可替换类型变量(类型参数落到合成参数 __P0/__P1),
  返回类型永远具体化不了 → 下标恒为 Unknown
- 修法:getTypeOfIndexedObjectOrClass 新增 Viper 分支,按 C 语义直接取
  CArray 第一个类型实参(与 CPtr 分支读 priv.typeArgs[0] 同法),
  `[SIZE]T` 与显式 t.CArray[T, N] 两种写法都覆盖
- 回归用例 +1(元素类型 + modifier 语义 token),jest 808 -> 809
2026-09-27 18:02:53 +08:00
..