From f100f585d0440d9a87f48b2504aa231290ce58f8 Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Mon, 21 Sep 2026 23:13:45 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=89=88=E6=9C=AC=E5=8F=B7=E6=8F=90?= =?UTF-8?q?=E5=8D=87=E8=87=B3=201.1.414=20=E5=B9=B6=E6=9B=B4=E6=96=B0=20CH?= =?UTF-8?q?ANGELOG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/vipeye-internal/package-lock.json | 4 ++-- packages/vipeye-internal/package.json | 2 +- packages/vipeye/package-lock.json | 4 ++-- packages/vipeye/package.json | 2 +- packages/vscode-vipeye/CHANGELOG.md | 8 ++++++++ packages/vscode-vipeye/package-lock.json | 4 ++-- packages/vscode-vipeye/package.json | 2 +- 7 files changed, 17 insertions(+), 9 deletions(-) diff --git a/packages/vipeye-internal/package-lock.json b/packages/vipeye-internal/package-lock.json index 77482250..fc4e3c06 100644 --- a/packages/vipeye-internal/package-lock.json +++ b/packages/vipeye-internal/package-lock.json @@ -1,12 +1,12 @@ { "name": "vipeye-internal", - "version": "1.1.413", + "version": "1.1.414", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vipeye-internal", - "version": "1.1.413", + "version": "1.1.414", "license": "MIT", "dependencies": { "@yarnpkg/fslib": "2.10.4", diff --git a/packages/vipeye-internal/package.json b/packages/vipeye-internal/package.json index 842ef45e..8f242b2f 100644 --- a/packages/vipeye-internal/package.json +++ b/packages/vipeye-internal/package.json @@ -2,7 +2,7 @@ "name": "vipeye-internal", "displayName": "vipeye", "description": "Type checker for the Viper language", - "version": "1.1.413", + "version": "1.1.414", "license": "MIT", "private": true, "files": [ diff --git a/packages/vipeye/package-lock.json b/packages/vipeye/package-lock.json index cca96757..4b9b4ef6 100644 --- a/packages/vipeye/package-lock.json +++ b/packages/vipeye/package-lock.json @@ -1,12 +1,12 @@ { "name": "vipeye", - "version": "1.1.413", + "version": "1.1.414", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vipeye", - "version": "1.1.413", + "version": "1.1.414", "license": "MIT", "bin": { "vipeye": "index.js", diff --git a/packages/vipeye/package.json b/packages/vipeye/package.json index 5a6212d4..f51916a6 100644 --- a/packages/vipeye/package.json +++ b/packages/vipeye/package.json @@ -2,7 +2,7 @@ "name": "vipeye", "displayName": "Vipeye", "description": "Type checker for the Viper language", - "version": "1.1.413", + "version": "1.1.414", "license": "MIT", "author": { "name": "TermiNexus" diff --git a/packages/vscode-vipeye/CHANGELOG.md b/packages/vscode-vipeye/CHANGELOG.md index e31ba45e..1ed2d9c2 100644 --- a/packages/vscode-vipeye/CHANGELOG.md +++ b/packages/vscode-vipeye/CHANGELOG.md @@ -1,5 +1,13 @@ # Change Log +## 1.1.414 + +- **enum 语法**:支持 `enum NAME:` 声明(等价 `class NAME(t.CEnum):`),成员可只写名字(裸名 / 逗号分隔,如 `enum X: a, b, c`),也支持 `enum X: a, b, c` 后换行 TAB 继续写成员 +- **enum 取值推导**:成员取值按编译期规则推导(从 0 递增,中间显式赋值后从该值 +1 继续),hover 显示枚举类型与推导值(如 `(variable) IsAsync: ASTFlag = 0`),成员可隐式转换为 `int` +- **define 常量声明**:支持 `define NAME: 类型 = 值` 与 `define NAME = 值`(后者类型由字面量推导);`define f(...)` 宏函数行为不变 +- **整数字面量位宽校验**:字面量无法存入声明类型位宽时报错并提示扩容(如 `int` 为 i32 存不下 10^31),`define` 与普通声明同样适用;位宽表覆盖 `int`/`bool`/`iN`/`uN`/`t.CInt`/`t.CUInt`/`t.CLong`/`t.CInt{n}T`/`t.CUInt{n}T` 等 +- 类型检查:枚举成员取值越界复用同一份范围表,避免重复报错 + ## 1.1.413 - **内置 char 类型**:复刻 int 定义(8 位字符/整型),与 `t.CChar`、`int` 双向隐式转换,`char → float/double` 无损 diff --git a/packages/vscode-vipeye/package-lock.json b/packages/vscode-vipeye/package-lock.json index 6aa995ed..ccae8294 100644 --- a/packages/vscode-vipeye/package-lock.json +++ b/packages/vscode-vipeye/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-vipeye", - "version": "1.1.413", + "version": "1.1.414", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-vipeye", - "version": "1.1.413", + "version": "1.1.414", "license": "MIT", "dependencies": { "mermaid": "^11.12.0", diff --git a/packages/vscode-vipeye/package.json b/packages/vscode-vipeye/package.json index fbe1c416..678cccac 100644 --- a/packages/vscode-vipeye/package.json +++ b/packages/vscode-vipeye/package.json @@ -2,7 +2,7 @@ "name": "vipeye", "displayName": "Vipeye", "description": "VS Code language support for Viper (LSP client)", - "version": "1.1.413", + "version": "1.1.414", "private": true, "license": "MIT", "author": {