TermiNexus
aef18c2891
更新了一些事项,feat(vipeye-internal): builtins.vpi 声明编译器内置 typedef rowptr = t.CPtr;feat(vipeye-internal): None 返回函数仅允许裸 return/return None,return 值为 None 的表达式报错;fix(vipeye-internal): builtins.vp 发现扩展到文件祖先目录与 includes 子目录,修复 uint64 等 typedef 未定义
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
2026-09-10 16:32:23 +08:00
TermiNexus
23cc75e444
feat(vipeye-internal): 新增内置 double 类型(复刻 float,64 位浮点)
...
- typeshed builtins.vpi 增加 double 类定义(复刻 float 结构)
- 内置 float<->double 按 C 浮点规则互转,int->double 无损
- 内置 double 与 t.CDouble 双向隐式转换
- viperGenericTypeVarCall 12/12 测试通过
2026-08-23 13:16:46 +08:00
TermiNexus
ac08b01baa
feat(vipeye-internal): extern/export 支持直接声明形式 extern A(...)
...
- extern/export 后跟标识符时按函数声明解析(等价 extern def A),
def 形式保留(extern def A / export def A 均可用)
- extern/export 声明均可省略函数体(无冒号无 pass)
- checker 对 extern/export 声明跳过缺失返回值检查
- TextMate 高亮与缩进规则支持 extern/export 直接声明
- viperGenericTypeVarCall 11/11 测试通过
2026-08-17 10:35:46 +08:00
TermiNexus
41bc302916
feat(vipeye-internal): Viper len 优先调用 __len__,结构体缺 __len__ 报错
...
- len 对用户自定义结构体优先解析 __len__ 返回类型,无 __len__ 报错
- t.CType 原生类型(C 标量/指针/str/bytes)豁免,返回 t.SizeT
- 新增本地化消息 viperLenNoLenMethod
- viperGenericTypeVarCall 10/10 测试通过
2026-08-17 10:32:19 +08:00
TermiNexus
bbd8b1022e
feat(vipeye-internal): union/fn 别名/extern 无函数体及 builtins 6 函数签名
...
- union 与 enum/rnum 对齐(union class / union A: 单独转 class)
- fn/fun/func/function 行尾单独使用按 def 处理并报缺函数名,
后跟 :/=/ 保持标识符,避免误伤 func: 注解、func = x、func(x)
- extern def/fn 声明可省略函数体(无冒号无 pass),: pass 方式保留
- TextMate 高亮与 language-configuration 缩进规则同步(含 inline fn 修饰关键字)
- typeshed builtins.vpi 新增 Asm/LLVMIR/AsmInp/AsmOut/LInp/LOut,
隐式内置直接可用(签名照抄 vipershed c.vpi)
- viperGenericTypeVarCall 9/9、tokenizer 91 测试通过
2026-08-08 18:31:25 +08:00
TermiNexus
817bc47ee9
feat(vipeye-internal): extern 函数体必须为 pass/None;fn/fun/func/function 作为 def 别名
...
extern 关键字声明的函数(FunctionNode 记录 viperModifier)函数体只允许 pass 或 None,否则报错;同时 extern 声明函数跳过缺失返回值的检查。fn/fun/func/function 在语句起始(或紧跟修饰关键字)且后跟函数名时按 def 处理。tmLanguage 与 language-configuration 同步支持 def 别名高亮与自动缩进。
2026-08-08 17:29:21 +08:00
TermiNexus
e5aacbfd0b
feat(vipeye-internal): 修饰关键字收窄为 inline/export/extern,单独使用报错;修复修饰函数自动缩进
...
state 不再作为关键字(恢复普通标识符,hashlib 的 state: 字段与 self.state 不受影响)。inline/export/extern 在语句起始且未与 def 搭配时报 '修饰关键字必须与 def 搭配使用'(新增 KeywordType.ViperModifier 与 LocMessage);后跟 ':' 的注解用法仍按标识符。tmLanguage 高亮与 language-configuration 的 onEnterRules/increaseIndentPattern 同步(修饰前缀函数回车自动缩进)。
2026-08-08 17:15:10 +08:00
TermiNexus
9c816ec5b9
fix(vipeye-internal): enum/rnum 支持单独使用(enum A: 等价 class A:)
...
此前只支持 enum/rnum 后跟 class/struct 的前缀形式;用户实际写法为 num A: 直接声明。补充:enum/rnum 在语句起始且后跟类名时按 class 关键字处理;tmLanguage 高亮同步。回归测试新增 enum A:/rnum B: 用例。
2026-08-08 17:01:29 +08:00
TermiNexus
4182a1fd53
feat: 支持 inline/export/extern/state/enum/rnum/struct 关键字
...
tokenizer 层支持 C 风格修饰/声明关键字:inline/export/extern/state 后跟 def、enum/rnum 后跟 class/struct 时跳过该标识符 token(保留位置与缩进);struct 在语句起始且后跟类名时按 class 关键字处理(避免误伤 import struct as s 等合法用法)。viper.tmLanguage.json 新增对应关键字高亮。新增回归测试(struct 等价 class、修饰 def 等价普通函数、rnum class 嵌套类)。
2026-08-08 16:48:35 +08:00
TermiNexus
f4e19ed72a
fix(vipeye-internal): c.Deref 对结构体联合类型返回具体类型
...
c.Deref(p) 对 IntPair | t.CPtr 这类 TypeSet 联合返回用户自定义结构体类实例(CPtr[Po] 返回 Po),使 c.Deref(p).a 解析为 CInt,不再显示 Unknown;C 标量(t.CInt 等)、内置 str/bytes(i8*)、裸指针保持 Unknown,避免 memcpy(c.Deref(out), ...) 等把解引用结果当指针传递的代码引入误报。新增负向回归测试。
2026-08-08 13:15:43 +08:00
TermiNexus
ad3eecb077
fix(vipeye-internal): 泛型函数显式类型实参调用不再误报不可下标
...
PEP 695 风格 fn[T] 的显式类型实参 fn[t.CInt] 在 Viper 方言下直接忽略并按普通函数求值,避免把函数误报为不可下标。新增 double[t.CInt](21) 回归测试;临时测试目录改到工作区内以适配沙箱写权限限制。
2026-08-08 13:01:17 +08:00
TermiNexus
a20c643b72
fix(vipeye): 递归发现嵌套子项目配置,修复 G4 等两级子目录导入失败
...
findViperProjectConfigsInChildDirs 原仅扫描一级子目录,TransPyC/Test/G4 等两级子项目的 project.json 不被发现,其 includes 未加入导入根,导致 Import g4node could not be resolved。
改为递归扫描:深度限制 6,跳过 .git/node_modules/__pycache__ 等常见非项目目录;直接子目录配置优先收集(保持主配置优先级不变),非项目目录再递归深入。
2026-08-08 11:53:53 +08:00
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
TermiNexus
5e07800c7c
fix(vipeye): 支持 project.json 子项目 source_dir 全局导入
...
findViperProjectConfigsInChildDirs 扫描一级子目录的 .vpj/project.json,
累计 source_dir 与 includes 到 defaultExtraPaths(去重而非覆盖),
使 App 根级 import lib.core.VLogger 可在 TransPyC 目录打开时正确解析。
2026-08-08 11:06:51 +08:00
TermiNexus
d98cd60f7b
"fix(lsp): 扫描所有子项目配置(含 project.json)并将 source_dir 加入全局导入根,使 App 根级可全局导入"
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
2026-08-08 02:50:04 +08:00
TermiNexus
63e9757978
"fix(viper): vpjEditor 与命令注册加容错,避免调试双加载时重复注册导致扩展激活失败
...
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
fix(lsp): 源文件位于执行根之外时仍从同目录解析绝对导入,修复 import lib 无法解析及白色高亮"
2026-08-08 02:20:02 +08:00
TermiNexus
417bc8a2be
"fix(viper): vpjEditor 与命令注册加容错,避免调试双加载时重复注册导致扩展激活失败
...
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
fix(lsp): 源文件位于执行根之外时仍从同目录解析绝对导入,修复 import lib 无法解析及白色高亮"
2026-08-08 02:16:39 +08:00
TermiNexus
11e83eb2be
"refactor(analyzer): 清理 Viper 转型后的死代码并优化字典字面量推断
...
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
- 删除 pprof/profiler.ts 与 typeServerProtocolUtils.ts 两个 0 引用文件
- 删除 applyAttributeAccessOverride 中恒不执行的 Python 属性回退块
- 删除 isClassWithAsymmetricAttributeAccessor 死函数及 types.ts 对应字段
- 提升 getTypeOfDictLiteral 循环不变的 getTypeVarScopesForNode 调用
i18n: 本地化消息中 Python 全部替换为 Viper(452 处,14 个语言文件)"
2026-08-07 17:37:27 +08:00
TermiNexus
f4ee49dab5
"chore: migrate remaining Python comments to Viper terminology
...
- Update TSP protocol docs and LSP cancellation temp dir to viper
- Rewrite descriptive comments across providers and benchmarks
- Keep functional pythonPath/pythonVersion CLI params intact"
2026-08-07 04:37:29 +08:00
TermiNexus
19bf95c7ad
"chore: remove tracked __pycache__ and unused PyrightSmall.png"
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
2026-08-07 03:45:14 +08:00
TermiNexus
a0b2a75820
"chore: migrate Pyright branding to Vipeye and drop mypy_primer CI
...
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
- Rewrite README/docs for Vipeye, update CI/Azure pipelines and scripts
- Remove mypy_primer workflows and mypy comparison doc
- Keep upstream links and external tool references intact"
2026-08-07 03:41:48 +08:00
TermiNexus
44d83f4235
"chore: migrate Pyright branding to Vipeye/vipeye across docs and tooling
...
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
Run mypy_primer on push / Run mypy_primer on push (push) Has been cancelled
- Rewrite root README and docs for Vipeye
- Rename pyright-test-policy to vipeye-test-policy
- Update CI/Azure pipelines, perfCompare.py and package metadata
- Keep upstream links, external tool params and # pyright: ignore compat"
2026-08-07 03:33:29 +08:00
TermiNexus
be9ff90d11
基本对齐了现阶段 Viper 的所有必要功能,但还缺少反向测试
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
2026-08-05 18:15:53 +08:00
TermiNexus
b47f43d5f2
修复了 T(v) 类型初始化
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
2026-08-04 17:31:52 +08:00
TermiNexus
024366a85a
修复了 CExtern CExport 保留机制等
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
2026-08-04 16:28:32 +08:00
TermiNexus
b3c84af8a7
实现了 __new__ 裸指针返回自动构造 CPtr[T],a:CPtr[T]=T() 自动隐式取指针(暂定),arg.action flow 过滤跳过,CPtr 解引用转发,c.Asm的 inp/out 参数重加和 str<->bytes 互转
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
2026-08-04 02:17:18 +08:00
TermiNexus
e094caeccd
修复了指针运算,指针 getitem 的问题
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
2026-08-03 00:36:54 +08:00
TermiNexus
0be56b39ae
支持了 ViperOS 的基本高亮,正在完善对 includes 的支持
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
2026-08-02 15:25:19 +08:00
TermiNexus
a5d1841126
修复了跨模块 typedef 等问题
2026-08-02 03:29:41 +08:00
TermiNexus
ebe3638ff5
基本完善
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
2026-07-30 22:43:21 +08:00
TermiNexus
d51754951c
将本项目升级到基本可用的状态,正在细化各个方面,初次打包了实验版本
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
2026-07-30 22:33:31 +08:00
TermiNexus
36c3357d9f
将本项目升级到基本可用的状态,正在细化各个方面,初次打包了实验版本
2026-07-30 22:33:23 +08:00
TermiNexus
e126548249
Modified Pyright so its highlighting is closer to Viper
Run mypy_primer on push / Run mypy_primer on push (push) Has been cancelled
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
2026-07-28 02:56:01 +08:00
TermiNexus
e9e4693333
初始化上传
Run mypy_primer on push / Run mypy_primer on push (push) Has been cancelled
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
2026-07-24 17:08:39 +08:00