@lcap/nasl-language-server-core 4.3.0-beta.9 → 4.3.0-rc.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +79 -29
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  5. package/out/reference-manager/reference-manager.js +6 -2
  6. package/out/reference-manager/reference-manager.js.map +1 -1
  7. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  8. package/out/reference-manager/update-nasl-fragment.js +2 -1
  9. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  10. package/out/semantic-rules/index.d.ts +5 -0
  11. package/out/semantic-rules/index.d.ts.map +1 -0
  12. package/out/semantic-rules/index.js +8 -0
  13. package/out/semantic-rules/index.js.map +1 -0
  14. package/out/semantic-rules/reject-file-types.d.ts +7 -0
  15. package/out/semantic-rules/reject-file-types.d.ts.map +1 -0
  16. package/out/semantic-rules/reject-file-types.js +228 -0
  17. package/out/semantic-rules/reject-file-types.js.map +1 -0
  18. package/out/typer/dispatch-all.d.ts.map +1 -1
  19. package/out/typer/dispatch-all.js.map +1 -1
  20. package/out/typer/dispatch-call.d.ts.map +1 -1
  21. package/out/typer/dispatch-call.js +0 -6
  22. package/out/typer/dispatch-call.js.map +1 -1
  23. package/out/typer/dispatch-expr.d.ts.map +1 -1
  24. package/out/typer/dispatch-expr.js +37 -19
  25. package/out/typer/dispatch-expr.js.map +1 -1
  26. package/out/typer/incremental-update.js +1 -1
  27. package/out/typer/incremental-update.js.map +1 -1
  28. package/out/typer/oql-checker/chain-call-transformer.d.ts +2 -0
  29. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
  30. package/out/typer/oql-checker/chain-call-transformer.js +157 -13
  31. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
  32. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  33. package/out/typer/oql-checker/ts-parser.js +60 -40
  34. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  35. package/out/typer/subster.d.ts.map +1 -1
  36. package/out/typer/subster.js +6 -4
  37. package/out/typer/subster.js.map +1 -1
  38. package/out/typer/type-predicate.d.ts.map +1 -1
  39. package/out/typer/type-predicate.js +41 -10
  40. package/out/typer/type-predicate.js.map +1 -1
  41. package/out/utils/parseTsClassType.d.ts.map +1 -1
  42. package/out/utils/parseTsClassType.js +19 -0
  43. package/out/utils/parseTsClassType.js.map +1 -1
  44. package/out/utils/type-operator.d.ts.map +1 -1
  45. package/out/utils/type-operator.js +11 -21
  46. package/out/utils/type-operator.js.map +1 -1
  47. package/package.json +5 -5
@@ -41,17 +41,22 @@ class ChainCallTransformer {
41
41
  return ts.factory.updateSourceFile(sourceFile, newStatements);
42
42
  }
43
43
  handleStatement(node) {
44
- if (ts.isExpressionStatement(node) && this.isChainExpression(node.expression)) {
44
+ // 统一处理表达式语句:即使顶层不是链式,也递归内部表达式并插入必要的临时变量
45
+ if (ts.isExpressionStatement(node)) {
45
46
  const transformed = this.transformChainExpression(node.expression);
46
- return [
47
- ...transformed.statements,
48
- ts.factory.createExpressionStatement(transformed.expression),
49
- ];
47
+ // 无论是否有插入语句,都返回更新后的表达式语句,以保持一致性
48
+ if (transformed.statements.length > 0) {
49
+ return [
50
+ ...transformed.statements,
51
+ ts.factory.createExpressionStatement(transformed.expression),
52
+ ];
53
+ }
54
+ return ts.factory.createExpressionStatement(transformed.expression);
50
55
  }
51
56
  if (ts.isVariableStatement(node)) {
52
57
  const additionalStatements = [];
53
58
  const newDeclarations = node.declarationList.declarations.map((declaration) => {
54
- if (declaration.initializer && this.isChainExpression(declaration.initializer)) {
59
+ if (declaration.initializer) {
55
60
  const transformed = this.transformChainExpression(declaration.initializer);
56
61
  additionalStatements.push(...transformed.statements);
57
62
  return ts.factory.createVariableDeclaration(declaration.name, declaration.exclamationToken, declaration.type, transformed.expression);
@@ -65,19 +70,70 @@ class ChainCallTransformer {
65
70
  ];
66
71
  }
67
72
  }
73
+ // 处理 ReturnStatement:将返回表达式中的链式调用或 new nasl.oql.Query(...) 提取为临时变量
74
+ if (ts.isReturnStatement(node)) {
75
+ if (node.expression) {
76
+ const transformed = this.transformChainExpression(node.expression);
77
+ if (transformed.statements.length > 0) {
78
+ return [
79
+ ...transformed.statements,
80
+ ts.factory.createReturnStatement(transformed.expression),
81
+ ];
82
+ }
83
+ return ts.factory.createReturnStatement(transformed.expression);
84
+ }
85
+ return node;
86
+ }
68
87
  return node;
69
88
  }
70
89
  isChainExpression(node) {
71
- // 检查是否是对PropertyAccess的调用
90
+ // 检查是否是对PropertyAccess的调用:如 a.b().c()
72
91
  if (ts.isCallExpression(node)) {
73
92
  const callTarget = node.expression;
74
- // 如果调用的目标是PropertyAccess且其表达式不是Identifier,则需要拆分
75
93
  if (ts.isPropertyAccessExpression(callTarget)) {
76
- return !ts.isIdentifier(callTarget.expression);
94
+ // 当 property 的接收者不是简单标识符或纯命名空间访问时认为是链式
95
+ return !ts.isIdentifier(callTarget.expression) && !this.isPureNamespaceAccess(callTarget.expression);
77
96
  }
97
+ return false;
98
+ }
99
+ // 检查是否是 new nasl.oql.Query(...)
100
+ if (ts.isNewExpression(node)) {
101
+ const qn = this.getQualifiedName(node.expression);
102
+ return qn === 'nasl.oql.Query';
78
103
  }
79
104
  return false;
80
105
  }
106
+ // 纯命名空间访问:由标识符+属性访问组成的静态链,例如 nasl.core、nasl.oql、ns.x.y
107
+ isPureNamespaceAccess(expr) {
108
+ // 仅保留形如 nasl.{xxx} 的命名空间为“纯命名空间访问”,其他都视为可拆分
109
+ let node = expr;
110
+ while (ts.isPropertyAccessExpression(node)) {
111
+ node = node.expression;
112
+ }
113
+ return ts.isIdentifier(node) && node.text === 'nasl';
114
+ }
115
+ // 提取形如 nasl.oql.Query 的限定名
116
+ getQualifiedName(expr) {
117
+ const parts = [];
118
+ let node = expr;
119
+ while (node) {
120
+ if (ts.isIdentifier(node)) {
121
+ parts.push(node.text);
122
+ break;
123
+ }
124
+ else if (ts.isPropertyAccessExpression(node)) {
125
+ parts.push(node.name.text);
126
+ node = node.expression;
127
+ }
128
+ else {
129
+ break;
130
+ }
131
+ }
132
+ if (parts.length === 0)
133
+ return undefined;
134
+ parts.reverse();
135
+ return parts.join('.');
136
+ }
81
137
  transformChainExpression(expression) {
82
138
  const statements = [];
83
139
  const createTempVariable = (initExpression) => {
@@ -92,6 +148,76 @@ class ChainCallTransformer {
92
148
  return { statements, expression: splitExpression };
93
149
  }
94
150
  splitChainExpressionRecursively(expr, createTempVariable) {
151
+ // 处理箭头函数表达式
152
+ if (ts.isArrowFunction(expr)) {
153
+ // 处理参数列表(一般无需修改)与返回类型保留
154
+ const updatedParameters = expr.parameters;
155
+ const modifiers = expr.modifiers;
156
+ const typeParameters = expr.typeParameters;
157
+ const type = expr.type;
158
+ if (ts.isBlock(expr.body)) {
159
+ // 当箭头函数体是 block 时,逐条处理语句
160
+ const newStatements = [];
161
+ for (const st of expr.body.statements) {
162
+ const res = this.handleStatement(st);
163
+ if (Array.isArray(res))
164
+ newStatements.push(...res);
165
+ else
166
+ newStatements.push(res);
167
+ }
168
+ const newBody = ts.factory.updateBlock(expr.body, newStatements);
169
+ return ts.factory.updateArrowFunction(expr, modifiers, typeParameters, updatedParameters, type, expr.equalsGreaterThanToken, newBody);
170
+ }
171
+ else {
172
+ // 当箭头函数体是表达式时,递归处理表达式体,并将产生的临时变量提升到外层语句中
173
+ const newBodyExpr = this.splitChainExpressionRecursively(expr.body, createTempVariable);
174
+ return ts.factory.updateArrowFunction(expr, modifiers, typeParameters, updatedParameters, type, expr.equalsGreaterThanToken, newBodyExpr);
175
+ }
176
+ }
177
+ // 处理对象字面量表达式(用于递归其属性的初始化表达式)
178
+ if (ts.isObjectLiteralExpression(expr)) {
179
+ const newProperties = expr.properties.map((prop) => {
180
+ if (ts.isPropertyAssignment(prop)) {
181
+ const newInit = this.splitChainExpressionRecursively(prop.initializer, createTempVariable);
182
+ return ts.factory.updatePropertyAssignment(prop, prop.name, newInit);
183
+ }
184
+ else if (ts.isSpreadAssignment(prop)) {
185
+ const newExpr = this.splitChainExpressionRecursively(prop.expression, createTempVariable);
186
+ return ts.factory.updateSpreadAssignment(prop, newExpr);
187
+ }
188
+ // Shorthand 或方法声明等保持不变
189
+ return prop;
190
+ });
191
+ return ts.factory.updateObjectLiteralExpression(expr, newProperties);
192
+ }
193
+ // 处理数组字面量(递归每个元素表达式)
194
+ if (ts.isArrayLiteralExpression(expr)) {
195
+ const newElements = expr.elements.map((el) => {
196
+ if (ts.isExpression(el)) {
197
+ return this.splitChainExpressionRecursively(el, createTempVariable);
198
+ }
199
+ return el;
200
+ });
201
+ return ts.factory.updateArrayLiteralExpression(expr, newElements);
202
+ }
203
+ // 处理括号表达式
204
+ if (ts.isParenthesizedExpression(expr)) {
205
+ const inner = this.splitChainExpressionRecursively(expr.expression, createTempVariable);
206
+ return ts.factory.createParenthesizedExpression(inner);
207
+ }
208
+ // 处理二元表达式(包括赋值)
209
+ if (ts.isBinaryExpression(expr)) {
210
+ const left = this.splitChainExpressionRecursively(expr.left, createTempVariable);
211
+ const right = this.splitChainExpressionRecursively(expr.right, createTempVariable);
212
+ return ts.factory.createBinaryExpression(left, expr.operatorToken, right);
213
+ }
214
+ // 条件表达式
215
+ if (ts.isConditionalExpression(expr)) {
216
+ const condition = this.splitChainExpressionRecursively(expr.condition, createTempVariable);
217
+ const whenTrue = this.splitChainExpressionRecursively(expr.whenTrue, createTempVariable);
218
+ const whenFalse = this.splitChainExpressionRecursively(expr.whenFalse, createTempVariable);
219
+ return ts.factory.createConditionalExpression(condition, expr.questionToken, whenTrue, expr.colonToken, whenFalse);
220
+ }
95
221
  // 处理CallExpression
96
222
  if (ts.isCallExpression(expr)) {
97
223
  // 先处理所有参数
@@ -102,8 +228,8 @@ class ChainCallTransformer {
102
228
  if (ts.isPropertyAccessExpression(processedTarget)) {
103
229
  // 先处理PropertyAccess的基础部分
104
230
  let baseExpression = this.splitChainExpressionRecursively(processedTarget.expression, createTempVariable);
105
- // 如果基础部分不是Identifier,创建临时变量
106
- if (!ts.isIdentifier(baseExpression)) {
231
+ // 如果基础部分不是Identifier且不是纯命名空间访问,创建临时变量
232
+ if (!ts.isIdentifier(baseExpression) && !this.isPureNamespaceAccess(baseExpression)) {
107
233
  baseExpression = createTempVariable(baseExpression);
108
234
  }
109
235
  processedTarget = ts.factory.createPropertyAccessExpression(baseExpression, processedTarget.name);
@@ -114,12 +240,30 @@ class ChainCallTransformer {
114
240
  }
115
241
  return ts.factory.createCallExpression(processedTarget, expr.typeArguments, processedArgs);
116
242
  }
243
+ // 处理 NewExpression(用于 new nasl.oql.Query(...))
244
+ if (ts.isNewExpression(expr)) {
245
+ const processedArgs = (expr.arguments ?? []).map(arg => this.splitChainExpressionRecursively(arg, createTempVariable));
246
+ let processedTarget = this.splitChainExpressionRecursively(expr.expression, createTempVariable);
247
+ if (ts.isPropertyAccessExpression(processedTarget)) {
248
+ let baseExpression = this.splitChainExpressionRecursively(processedTarget.expression, createTempVariable);
249
+ // 保持纯命名空间访问不拆分(例如 nasl.oql)
250
+ if (!ts.isIdentifier(baseExpression) && !this.isPureNamespaceAccess(baseExpression)) {
251
+ baseExpression = createTempVariable(baseExpression);
252
+ }
253
+ processedTarget = ts.factory.createPropertyAccessExpression(baseExpression, processedTarget.name);
254
+ }
255
+ const newExpr = ts.factory.createNewExpression(processedTarget, expr.typeArguments, processedArgs);
256
+ if (this.isChainExpression(expr)) {
257
+ return createTempVariable(newExpr);
258
+ }
259
+ return newExpr;
260
+ }
117
261
  // 处理PropertyAccessExpression
118
262
  if (ts.isPropertyAccessExpression(expr)) {
119
263
  // 先处理基础部分
120
264
  let baseExpression = this.splitChainExpressionRecursively(expr.expression, createTempVariable);
121
- // 如果基础部分不是Identifier,创建临时变量
122
- if (!ts.isIdentifier(baseExpression)) {
265
+ // 如果基础部分不是Identifier且不是纯命名空间访问,创建临时变量
266
+ if (!ts.isIdentifier(baseExpression) && !this.isPureNamespaceAccess(baseExpression)) {
123
267
  baseExpression = createTempVariable(baseExpression);
124
268
  }
125
269
  const propertyAccess = ts.factory.createPropertyAccessExpression(baseExpression, expr.name);
@@ -1 +1 @@
1
- {"version":3,"file":"chain-call-transformer.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/chain-call-transformer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chain-call-transformer.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/chain-call-transformer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ts-parser.d.ts","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,EASL,UAAU,EAMX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAevD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;IAgdpF,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;IAS9B,KAAK,CAAC,IAAI,EAAE,MAAM;IAUlB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,qBAAqB;IAIrB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAsGtB"}
1
+ {"version":3,"file":"ts-parser.d.ts","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAUL,KAAK,EASL,UAAU,EAOX,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAGjC,qBAAa,oBAAoB;IAC/B,OAAO,CAAC,gBAAgB,CAAqB;IAE7C;;;;OAIG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;IAevD,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;IAqepF,iBAAiB,CAAC,IAAI,EAAE,MAAM;;;;IAS9B,KAAK,CAAC,IAAI,EAAE,MAAM;IAUlB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,qBAAqB;IAIrB;;OAEG;IACH,mBAAmB,IAAI,MAAM,EAAE;IAI/B;;;;;;;;OAQG;IACH,OAAO,CAAC,wBAAwB;IAyChC;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAsGtB"}
@@ -86,7 +86,7 @@ class TypeScriptNASLParser {
86
86
  if (obj.name === returnName) {
87
87
  // returnName对应的Return节点已经在方法开始时创建,这里只需要创建Assignment
88
88
  body.push(new nasl_concepts_1.Assignment({
89
- left: new nasl_concepts_1.Identifier({ name: returnName }),
89
+ left: nasl_concepts_1.Identifier.createProtoTypeOnly({ name: returnName }),
90
90
  right: obj.defaultValue?.expression,
91
91
  }));
92
92
  }
@@ -153,7 +153,7 @@ class TypeScriptNASLParser {
153
153
  const args = [];
154
154
  node.arguments.forEach((arg, index) => {
155
155
  const expression = interpret(arg);
156
- const argument = new nasl_concepts_1.Argument({
156
+ const argument = nasl_concepts_1.Argument.createProtoTypeOnly({
157
157
  keyword: `param${index + 1}`, // 默认参数名
158
158
  expression: expression,
159
159
  });
@@ -183,13 +183,10 @@ class TypeScriptNASLParser {
183
183
  }
184
184
  });
185
185
  func.params = params;
186
- const body = interpret(node.body);
187
- if (body) {
188
- const bodyNode = interpret(node.body);
186
+ const bodyNode = interpret(node.body);
187
+ if (bodyNode) {
189
188
  func.body = bodyNode;
190
- if (bodyNode) {
191
- bodyNode.parentNode = func;
192
- }
189
+ bodyNode.parentNode = func;
193
190
  }
194
191
  else {
195
192
  // 报错
@@ -215,7 +212,7 @@ class TypeScriptNASLParser {
215
212
  }
216
213
  else if (ts.isIdentifier(node)) {
217
214
  // Identifier - 标识符
218
- return new nasl_concepts_1.Identifier({ name: node.text });
215
+ return nasl_concepts_1.Identifier.createProtoTypeOnly({ name: node.text });
219
216
  }
220
217
  else if (ts.isNewExpression(node)) {
221
218
  // NewExpression - new 表达式
@@ -320,7 +317,7 @@ class TypeScriptNASLParser {
320
317
  else {
321
318
  propertyName = `property${index}`;
322
319
  }
323
- const identifier = new nasl_concepts_1.Identifier({ name: propertyName });
320
+ const identifier = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: propertyName });
324
321
  const propertyIndex = composite.properties.length;
325
322
  composite.properties.push(identifier);
326
323
  const valueExpression = interpret(property.initializer);
@@ -341,13 +338,13 @@ class TypeScriptNASLParser {
341
338
  if (ts.isSpreadAssignment(property)) {
342
339
  // 如果有未完成的 composite,先添加它
343
340
  if (currentComposite && currentComposite.properties.length > 0) {
344
- args.push(new nasl_concepts_1.Argument({ expression: currentComposite }));
341
+ args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: currentComposite }));
345
342
  currentComposite = null;
346
343
  }
347
344
  // 添加展开表达式
348
345
  const spreadExpression = interpret(property.expression);
349
346
  if (spreadExpression) {
350
- args.push(new nasl_concepts_1.Argument({ expression: spreadExpression }));
347
+ args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: spreadExpression }));
351
348
  }
352
349
  }
353
350
  else if (ts.isPropertyAssignment(property)) {
@@ -366,28 +363,54 @@ class TypeScriptNASLParser {
366
363
  if (hasSpread) {
367
364
  // 如果最后还有未完成的 composite,添加它
368
365
  if (currentComposite && currentComposite.properties.length > 0) {
369
- args.push(new nasl_concepts_1.Argument({ expression: currentComposite }));
370
- }
371
- if (args.length === 0) {
372
- // 不应该接受,随便返回一个空的匿名数据结构即可
373
- return makeEmptyAnonymousStructure();
374
- }
375
- else if (args.length === 1) {
376
- const call = new nasl_concepts_1.CallLogic();
377
- call.calleeName = '$InternalMergeUnary';
378
- call.calleeNamespace = 'nasl.core';
379
- call.arguments = args;
380
- return call;
381
- }
382
- else if (args.length > 1) {
383
- // TODO wudengke 如果不支持多元重载,那么将他递归地翻译成二元$InternalMerge调用的嵌套
366
+ args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: currentComposite }));
384
367
  }
385
- // 创建 $InternalMerge 调用
386
- const call = new nasl_concepts_1.CallLogic();
387
- call.calleeName = '$InternalMerge';
388
- call.calleeNamespace = 'nasl.core';
389
- call.arguments = args;
390
- return call;
368
+ // 递归辅助函数:将多个参数转换为嵌套的二元 $InternalMerge 调用
369
+ const buildNestedMerge = (args) => {
370
+ if (args.length === 0) {
371
+ // 不应该接受,随便返回一个空的匿名数据结构即可
372
+ return makeEmptyAnonymousStructure();
373
+ }
374
+ else if (args.length === 1) {
375
+ // 基础情况:单个参数,创建一元 $InternalMergeUnary 调用
376
+ const call = new nasl_concepts_1.CallLogic();
377
+ call.calleeName = '$InternalMergeUnary';
378
+ call.calleeNamespace = 'nasl.core';
379
+ call.arguments = args;
380
+ args.forEach((arg) => {
381
+ arg.parentNode = call;
382
+ });
383
+ return call;
384
+ }
385
+ else if (args.length === 2) {
386
+ // 基础情况:两个参数,创建二元 $InternalMerge 调用
387
+ const call = new nasl_concepts_1.CallLogic();
388
+ call.calleeName = '$InternalMerge';
389
+ call.calleeNamespace = 'nasl.core';
390
+ call.arguments = args;
391
+ // 设置父节点关系
392
+ args.forEach((arg) => {
393
+ arg.parentNode = call;
394
+ });
395
+ return call;
396
+ }
397
+ else {
398
+ // 递归情况:将前两个参数合并,然后与剩余参数继续合并
399
+ const firstTwoArgs = args.slice(0, 2);
400
+ const remainingArgs = args.slice(2);
401
+ // 创建前两个参数的合并调用
402
+ const firstMerge = buildNestedMerge(firstTwoArgs);
403
+ // 将第一个合并结果作为参数,与剩余参数继续合并
404
+ const firstMergeArg = nasl_concepts_1.Argument.createProtoTypeOnly({
405
+ expression: firstMerge,
406
+ });
407
+ firstMerge.parentNode = firstMergeArg;
408
+ const newArgs = [firstMergeArg, ...remainingArgs];
409
+ return buildNestedMerge(newArgs);
410
+ }
411
+ };
412
+ // 递归地将多个参数翻译成二元 $InternalMerge 调用的嵌套
413
+ return buildNestedMerge(args);
391
414
  }
392
415
  else {
393
416
  // 没有展开操作,返回单个 composite
@@ -397,9 +420,9 @@ class TypeScriptNASLParser {
397
420
  else if (ts.isParameter(node)) {
398
421
  // Parameter - 参数
399
422
  if (ts.isIdentifier(node.name)) {
400
- return new nasl_concepts_1.Param({ name: node.name.text });
423
+ return nasl_concepts_1.Param.createProtoTypeOnly({ name: node.name.text });
401
424
  }
402
- return new nasl_concepts_1.Param({ name: 'param' });
425
+ return nasl_concepts_1.Param.createProtoTypeOnly({ name: 'param' });
403
426
  }
404
427
  else if (ts.isParenthesizedExpression(node)) {
405
428
  // ParenthesizedExpression - 括号表达式
@@ -409,7 +432,7 @@ class TypeScriptNASLParser {
409
432
  // PropertyAccessExpression - 属性访问表达式
410
433
  const memberExpr = new nasl_concepts_1.MemberExpression();
411
434
  memberExpr.object = interpret(node.expression);
412
- memberExpr.property = new nasl_concepts_1.Identifier({ name: node.name.text });
435
+ memberExpr.property = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: node.name.text });
413
436
  return memberExpr;
414
437
  }
415
438
  else if (ts.isSpreadAssignment(node)) {
@@ -430,11 +453,10 @@ class TypeScriptNASLParser {
430
453
  else if (ts.isArrayLiteralExpression(node)) {
431
454
  // 创建 $InternalTuple 调用
432
455
  const call = new nasl_concepts_1.CallLogic();
433
- const kind = ts.tokenToString(node.kind) || ts.SyntaxKind[node.kind];
434
456
  const args = node?.elements?.map?.((element, index) => {
435
457
  const keyword = `$ArrayParams${index + 1}`;
436
458
  const expression = interpret(element);
437
- const argument = new nasl_concepts_1.Argument({ keyword, expression });
459
+ const argument = nasl_concepts_1.Argument.createProtoTypeOnly({ keyword, expression });
438
460
  argument.parentNode = call;
439
461
  expression && (expression.parentNode = argument);
440
462
  return argument;
@@ -493,8 +515,6 @@ class TypeScriptNASLParser {
493
515
  fn.variables = variables;
494
516
  fn.body = body;
495
517
  fn.returns = returns;
496
- // 打印统计的未支持表达式类型
497
- this.printUnsupportedTypes();
498
518
  // 输出收集到的所有SyntaxKind数组
499
519
  // console.log('[TS-Parser] 去重后的SyntaxKind:', [...new Set(syntaxKinds)]);
500
520
  // @ts-expect-error
@@ -1 +1 @@
1
- {"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"subster.d.ts","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAId,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAyG,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAatJ,eAAO,MAAM,UAAU,EAAE,aAAiD,CAAC;AAG3E,eAAO,MAAM,UAAU,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAmL9F,CAAA;AAGD,eAAO,MAAM,iBAAiB,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAoLrG,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAS,MAAM,MAAM,UAAU,SAahE,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM,cAAc,UAAU,8DA0EnE,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAU,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,MAAM,cAAc,GAAG,SAAS,mBAC/G,CAAC;AAgB7B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAMlG"}
1
+ {"version":3,"file":"subster.d.ts","sourceRoot":"","sources":["../../src/typer/subster.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,MAAM,EAId,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAyG,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAatJ,eAAO,MAAM,UAAU,EAAE,aAAiD,CAAC;AAG3E,eAAO,MAAM,UAAU,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAmL9F,CAAA;AAGD,eAAO,MAAM,iBAAiB,QAAS,MAAM,4BAA4B,cAAc,GAAG,SAAS,KAAG,cAoLrG,CAAA;AAED,eAAO,MAAM,qBAAqB,QAAS,MAAM,MAAM,UAAU,SAehE,CAAA;AAED,eAAO,MAAM,gBAAgB,QAAS,MAAM,cAAc,UAAU,8DA0EnE,CAAA;AAED,eAAO,MAAM,kBAAkB,QAAU,MAAM,UAAU,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,MAAM,cAAc,GAAG,SAAS,mBAC/G,CAAC;AAgB7B,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,aAAa,CAMlG"}
@@ -393,10 +393,12 @@ const traverseSubstRunCheck = (env, nd) => {
393
393
  env.solver = new index_1.Solver(env);
394
394
  const subst = env.solver.simpleSolveConstraints();
395
395
  const normalizedSemTyMap = (0, exports.traverseAndSubst)(env)(nd, subst);
396
- const errs = env.solver.postCheckSolution(subst, env.solver.cs, normalizedSemTyMap);
397
- if (errs.length > 0) {
398
- for (const err of errs) {
399
- env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
396
+ if (!env.isErrorReportingDisabled()) {
397
+ const errs = env.solver.postCheckSolution(subst, env.solver.cs, normalizedSemTyMap);
398
+ if (errs.length > 0) {
399
+ for (const err of errs) {
400
+ env.addError(err.message, env.getCurFileNode(), err.errBoundary, err.fromPlayground ? 'warning' : 'error');
401
+ }
400
402
  }
401
403
  }
402
404
  env.runPostChecks(subst);