Files
Viper_VSCode/packages/vipeye
TermiNexus e7cf7643de
Validation / Typecheck (push) Has been cancelled
Validation / Style (push) Has been cancelled
Validation / Test macos-latest (push) Has been cancelled
Validation / Test ubuntu-latest (push) Has been cancelled
Validation / Test windows-latest (push) Has been cancelled
Validation / Build (push) Has been cancelled
Validation / Required (push) Has been cancelled
feat(vipeye-internal): 支持 (T*)x、(T*)(x)、T*(x) 三种 C 风格强转写法
TransPyC 的"新语法类型强转"除已有的调用形式(T(x) / T(x, t.CPtr) / (T)(x) /
(T1|T2)(x))外,还使用指针写法,本次一并支持,三者结果均为指针类型 CPtr[T]:

- operations.getTypeOfUnaryOperation:值上下文里一元 '*' 的操作数是「类型对象」
  (可实例化类,如 t.CInt / ast.AST)时,按指针类型表达式求值(CPtr[T]),
  不再当作对类对象的解引用而报「不支持运算符 *」
- parser:`(T*)operand` 归一为 CallNode(func = 括号内指针类型, args = [operand]),
  与已支持的 `(T*)(x)` 通路完全一致;仅当括号内由 _parseViperPointerTypeSuffix
  标记时才生效,`(a)*b`、`(a) * (b)` 等乘法不受影响
- operations.validateBinaryOperation:二元 '*' 的左操作数是类型对象时按强转
  (等价 (T*)(x))处理,从而 T*(x) 成立;真值乘法(2 * 3 / offset * 2)零影响
- typeEvaluator:callee 为被标记的指针类型后缀且类型为 CPtr[T] 时按强转返回
  CPtr[T] 实例,跳过可调用性/参数校验(函数指针变量调用 fn(x) 不受影响)
- 回归用例:viperUnaryPointer.test.ts 新增「三种 C 风格强转」测试块,
  含真实乘法与既有强转通路的对照断言
- 版本号提升至 1.1.424 并更新 CHANGELOG;全量 57 套件 / 759 用例全绿
2026-09-22 22:07:58 +08:00
..