@lcap/nasl-language-server-core 4.3.0-beta.25 → 4.3.0-beta.27

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 (83) hide show
  1. package/out/checker.d.ts.map +1 -1
  2. package/out/checker.js +94 -5
  3. package/out/checker.js.map +1 -1
  4. package/out/reference-manager/collect-q-name.d.ts.map +1 -1
  5. package/out/reference-manager/collect-q-name.js +6 -3
  6. package/out/reference-manager/collect-q-name.js.map +1 -1
  7. package/out/reference-manager/get-q-name.js +3 -3
  8. package/out/reference-manager/get-q-name.js.map +1 -1
  9. package/out/reference-manager/reference-manager.d.ts +4 -1
  10. package/out/reference-manager/reference-manager.d.ts.map +1 -1
  11. package/out/reference-manager/reference-manager.js +16 -15
  12. package/out/reference-manager/reference-manager.js.map +1 -1
  13. package/out/reference-manager/symbol-type.d.ts.map +1 -1
  14. package/out/reference-manager/symbol-type.js +1 -0
  15. package/out/reference-manager/symbol-type.js.map +1 -1
  16. package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
  17. package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
  18. package/out/reference-manager/update-nasl-fragment.js +13 -14
  19. package/out/reference-manager/update-nasl-fragment.js.map +1 -1
  20. package/out/typer/collectGlobalDefs.js +1 -1
  21. package/out/typer/collectGlobalDefs.js.map +1 -1
  22. package/out/typer/component-def-manager/component-def-manager.js +1 -1
  23. package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
  24. package/out/typer/dispatch-call.d.ts.map +1 -1
  25. package/out/typer/dispatch-call.js +7 -0
  26. package/out/typer/dispatch-call.js.map +1 -1
  27. package/out/typer/dispatch-def.d.ts.map +1 -1
  28. package/out/typer/dispatch-def.js +35 -6
  29. package/out/typer/dispatch-def.js.map +1 -1
  30. package/out/typer/dispatch-expr.d.ts.map +1 -1
  31. package/out/typer/dispatch-expr.js +138 -103
  32. package/out/typer/dispatch-expr.js.map +1 -1
  33. package/out/typer/dispatch-stmt.d.ts.map +1 -1
  34. package/out/typer/dispatch-stmt.js +33 -18
  35. package/out/typer/dispatch-stmt.js.map +1 -1
  36. package/out/typer/dispatch-view.d.ts.map +1 -1
  37. package/out/typer/dispatch-view.js +58 -45
  38. package/out/typer/dispatch-view.js.map +1 -1
  39. package/out/typer/incremental-update.d.ts +2 -2
  40. package/out/typer/incremental-update.d.ts.map +1 -1
  41. package/out/typer/incremental-update.js +93 -17
  42. package/out/typer/incremental-update.js.map +1 -1
  43. package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
  44. package/out/typer/oql-checker/chain-call-transformer.js +17 -4
  45. package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
  46. package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
  47. package/out/typer/oql-checker/ts-parser.js +230 -31
  48. package/out/typer/oql-checker/ts-parser.js.map +1 -1
  49. package/out/typer/overload-helper.d.ts.map +1 -1
  50. package/out/typer/overload-helper.js +139 -11
  51. package/out/typer/overload-helper.js.map +1 -1
  52. package/out/typer/solver.d.ts +8 -9
  53. package/out/typer/solver.d.ts.map +1 -1
  54. package/out/typer/solver.js +54 -31
  55. package/out/typer/solver.js.map +1 -1
  56. package/out/typer/subster.d.ts +1 -1
  57. package/out/typer/subster.d.ts.map +1 -1
  58. package/out/typer/subster.js +176 -49
  59. package/out/typer/subster.js.map +1 -1
  60. package/out/typer/topo-sort.d.ts +37 -0
  61. package/out/typer/topo-sort.d.ts.map +1 -1
  62. package/out/typer/topo-sort.js +260 -1
  63. package/out/typer/topo-sort.js.map +1 -1
  64. package/out/typer/type-manager.d.ts.map +1 -1
  65. package/out/typer/type-manager.js +3 -3
  66. package/out/typer/type-manager.js.map +1 -1
  67. package/out/typer/type-predicate.d.ts +1 -0
  68. package/out/typer/type-predicate.d.ts.map +1 -1
  69. package/out/typer/type-predicate.js +50 -4
  70. package/out/typer/type-predicate.js.map +1 -1
  71. package/out/typer/typer.d.ts +42 -3
  72. package/out/typer/typer.d.ts.map +1 -1
  73. package/out/typer/typer.js +189 -16
  74. package/out/typer/typer.js.map +1 -1
  75. package/out/typer/unifier.d.ts +11 -0
  76. package/out/typer/unifier.d.ts.map +1 -1
  77. package/out/typer/unifier.js +74 -31
  78. package/out/typer/unifier.js.map +1 -1
  79. package/out/utils/type-operator.d.ts +15 -0
  80. package/out/utils/type-operator.d.ts.map +1 -1
  81. package/out/utils/type-operator.js +65 -3
  82. package/out/utils/type-operator.js.map +1 -1
  83. package/package.json +5 -5
@@ -55,6 +55,7 @@ class TypeScriptNASLParser {
55
55
  const body = [];
56
56
  const syntaxKinds = []; // 收集所有遇到的SyntaxKind
57
57
  const self = this;
58
+ let anonSubLogicCounter = 0;
58
59
  // 如果指定了returnName,直接创建Return节点
59
60
  if (returnName) {
60
61
  const returnNode = nasl_concepts_1.Return.createProtoTypeOnly({ name: returnName });
@@ -87,13 +88,20 @@ class TypeScriptNASLParser {
87
88
  }
88
89
  if (obj.name === returnName) {
89
90
  // returnName对应的Return节点已经在方法开始时创建,这里只需要创建Assignment
90
- body.push(new nasl_concepts_1.Assignment({
91
+ const assignment = new nasl_concepts_1.Assignment({
91
92
  left: nasl_concepts_1.Identifier.createProtoTypeOnly({ name: returnName }),
92
93
  right: obj.defaultValue?.expression,
93
- }));
94
+ });
95
+ assignment.parentNode = fn;
96
+ if (assignment.left)
97
+ assignment.left.parentNode = assignment;
98
+ if (assignment.right)
99
+ assignment.right.parentNode = assignment;
100
+ body.push(assignment);
94
101
  }
95
102
  else {
96
103
  const v = nasl_concepts_1.Variable.createProtoTypeOnly(obj);
104
+ v.parentNode = fn;
97
105
  if (v.defaultValue) {
98
106
  v.defaultValue.parentNode = v;
99
107
  }
@@ -120,6 +128,7 @@ class TypeScriptNASLParser {
120
128
  call.calleeName = 'GET_LIST';
121
129
  }
122
130
  call.arguments = [];
131
+ // Note: parentNode will be set when this call is used as an expression
123
132
  return call;
124
133
  }
125
134
  else if (name === 'FROM') {
@@ -170,50 +179,143 @@ class TypeScriptNASLParser {
170
179
  }
171
180
  else if (ts.isArrowFunction(node)) {
172
181
  // ArrowFunction - 箭头函数
173
- const func = new nasl_concepts_1.AnonymousFunction();
174
- // 处理参数
175
- const params = [];
176
- node.parameters.forEach((param) => {
177
- if (ts.isParameter(param) && ts.isIdentifier(param.name)) {
178
- const p = new nasl_concepts_1.Param({ name: param.name.text });
179
- p.typeAnnotation = undefined;
180
- p.parentNode = func;
181
- params.push(p);
182
- }
183
- else {
184
- throw new Error('ArrowFunction parameter must be identifier');
182
+ //
183
+ // 重要:chain-call-transformer 为了拆 nested chain call,可能把表达式体箭头函数重写成 block:
184
+ // () => { const $temp$1 = ...; return ...; }
185
+ // 这时若仍用 AnonymousFunction(只支持单个 body 表达式)会丢失局部变量作用域,从而产生自由变量错误。
186
+ // 因此:block 体的箭头函数解析成 SubLogic(支持 params/variables/body/returns)。
187
+ // 先解析形参
188
+ const parseParams = (parent) => {
189
+ const params = [];
190
+ node.parameters.forEach((param) => {
191
+ if (ts.isParameter(param) && ts.isIdentifier(param.name)) {
192
+ const p = new nasl_concepts_1.Param({ name: param.name.text });
193
+ p.typeAnnotation = undefined;
194
+ p.parentNode = parent;
195
+ params.push(p);
196
+ }
197
+ else {
198
+ throw new Error('ArrowFunction parameter must be identifier');
199
+ }
200
+ });
201
+ return params;
202
+ };
203
+ if (ts.isBlock(node.body)) {
204
+ const sub = new nasl_concepts_1.SubLogic();
205
+ sub.name = `$anon$${++anonSubLogicCounter}`;
206
+ sub.params = parseParams(sub);
207
+ const localVars = [];
208
+ const localBody = [];
209
+ const retName = `$return$${anonSubLogicCounter}`;
210
+ const ret = nasl_concepts_1.Return.createProtoTypeOnly({ name: retName });
211
+ ret.parentNode = sub;
212
+ sub.returns = [ret];
213
+ const addLocalVariableDecl = (decl) => {
214
+ if (!ts.isIdentifier(decl.name) || !decl.name.escapedText) {
215
+ return;
216
+ }
217
+ const v = nasl_concepts_1.Variable.createProtoTypeOnly({
218
+ name: decl.name.escapedText,
219
+ });
220
+ v.parentNode = sub;
221
+ if (decl.initializer) {
222
+ const initExpr = interpret(decl.initializer);
223
+ if (initExpr) {
224
+ const defaultValue = nasl_concepts_1.DefaultValue.createProtoTypeOnly({
225
+ expression: initExpr,
226
+ playground: [],
227
+ });
228
+ defaultValue.parentNode = v;
229
+ initExpr.parentNode = defaultValue;
230
+ v.defaultValue = defaultValue;
231
+ }
232
+ }
233
+ if (v.defaultValue) {
234
+ v.defaultValue.parentNode = v;
235
+ }
236
+ localVars.push(v);
237
+ };
238
+ for (const st of node.body.statements) {
239
+ // 支持:const x = ...;
240
+ if (ts.isVariableStatement(st)) {
241
+ st.declarationList.declarations.forEach(addLocalVariableDecl);
242
+ continue;
243
+ }
244
+ // 支持:return <expr>;
245
+ if (ts.isReturnStatement(st)) {
246
+ const retExpr = st.expression ? interpret(st.expression) : undefined;
247
+ const assignment = new nasl_concepts_1.Assignment({
248
+ left: nasl_concepts_1.Identifier.createProtoTypeOnly({ name: retName }),
249
+ right: retExpr,
250
+ });
251
+ assignment.parentNode = sub;
252
+ if (assignment.left)
253
+ assignment.left.parentNode = assignment;
254
+ if (assignment.right)
255
+ assignment.right.parentNode = assignment;
256
+ localBody.push(assignment);
257
+ continue;
258
+ }
259
+ // 兼容:表达式语句(不常见,但尽量不丢)
260
+ if (ts.isExpressionStatement(st)) {
261
+ const expr = interpret(st.expression);
262
+ if (expr) {
263
+ expr.parentNode = sub;
264
+ localBody.push(expr);
265
+ }
266
+ continue;
267
+ }
268
+ // 兼容空语句
269
+ if (ts.isEmptyStatement(st)) {
270
+ continue;
271
+ }
272
+ // 其他 statement 暂不支持(当前 transformer 只会生成上面几类)
273
+ const kind = ts.tokenToString(st.kind) || ts.SyntaxKind[st.kind];
274
+ throw new Error(`ArrowFunction block statement not implemented: ${kind}`);
185
275
  }
186
- });
187
- func.params = params;
276
+ sub.variables = localVars;
277
+ sub.body = localBody;
278
+ sub.playground = [];
279
+ // Note: parentNode will be set when this sub is used as an expression
280
+ return sub;
281
+ }
282
+ // 表达式体箭头函数:保持原行为(AnonymousFunction)
283
+ const func = new nasl_concepts_1.AnonymousFunction();
284
+ func.params = parseParams(func);
188
285
  const bodyNode = interpret(node.body);
189
286
  if (bodyNode) {
190
287
  func.body = bodyNode;
191
288
  bodyNode.parentNode = func;
192
289
  }
193
290
  else {
194
- // 报错
195
291
  throw new Error('ArrowFunction body must be non empty');
196
292
  }
293
+ // Note: parentNode will be set when this func is used as an expression
197
294
  return func;
198
295
  }
199
296
  else if (node.kind === ts.SyntaxKind.TrueKeyword) {
200
297
  // TrueKeyword - true 字面量
298
+ // Note: parentNode will be set when this literal is used as an expression
201
299
  return new nasl_concepts_1.BooleanLiteral({ value: 'true' });
202
300
  }
203
301
  else if (node.kind === ts.SyntaxKind.FalseKeyword) {
204
302
  // FalseKeyword - false 字面量
303
+ // Note: parentNode will be set when this literal is used as an expression
205
304
  return new nasl_concepts_1.BooleanLiteral({ value: 'false' });
206
305
  }
207
306
  else if (ts.isNumericLiteral(node)) {
208
307
  const literal = node;
308
+ // Note: parentNode will be set when this literal is used as an expression
209
309
  return new nasl_concepts_1.NumericLiteral({ value: literal.text });
210
310
  }
211
311
  else if (ts.isStringLiteral(node)) {
212
312
  // StringLiteral - 字符串字面量
313
+ // Note: parentNode will be set when this literal is used as an expression
213
314
  return new nasl_concepts_1.StringLiteral({ value: node.text });
214
315
  }
215
316
  else if (ts.isIdentifier(node)) {
216
317
  // Identifier - 标识符
318
+ // Note: parentNode will be set when this identifier is used as an expression
217
319
  return nasl_concepts_1.Identifier.createProtoTypeOnly({ name: node.text });
218
320
  }
219
321
  else if (ts.isNewExpression(node)) {
@@ -227,10 +329,12 @@ class TypeScriptNASLParser {
227
329
  case 'Integer':
228
330
  // 数值类型构造函数,转换为 NumericLiteral
229
331
  if (ts.isNumericLiteral(firstArg)) {
332
+ // Note: parentNode will be set when this literal is used as an expression
230
333
  return new nasl_concepts_1.NumericLiteral({ value: firstArg.text });
231
334
  }
232
335
  else if (ts.isStringLiteral(firstArg)) {
233
336
  // 支持字符串形式的数值
337
+ // Note: parentNode will be set when this literal is used as an expression
234
338
  return new nasl_concepts_1.NumericLiteral({ value: firstArg.text });
235
339
  }
236
340
  break;
@@ -242,36 +346,43 @@ class TypeScriptNASLParser {
242
346
  const originalText = firstArg.getText();
243
347
  // 如果是整数形式(如 "0"),转换为小数形式(如 "0.0")以确保类型推断为 Decimal
244
348
  const value = originalText.includes('.') ? originalText : `${originalText}.0`;
349
+ // Note: parentNode will be set when this literal is used as an expression
245
350
  return new nasl_concepts_1.NumericLiteral({ value });
246
351
  }
247
352
  else if (ts.isStringLiteral(firstArg)) {
248
353
  // 支持字符串形式的数值
249
354
  const value = firstArg.text.includes('.') ? firstArg.text : `${firstArg.text}.0`;
355
+ // Note: parentNode will be set when this literal is used as an expression
250
356
  return new nasl_concepts_1.NumericLiteral({ value });
251
357
  }
252
358
  break;
253
359
  case 'String':
254
360
  // 字符串类型构造函数,转换为 StringLiteral
255
361
  if (ts.isStringLiteral(firstArg)) {
362
+ // Note: parentNode will be set when this literal is used as an expression
256
363
  return new nasl_concepts_1.StringLiteral({ value: firstArg.text });
257
364
  }
258
365
  else if (ts.isNumericLiteral(firstArg)) {
259
366
  // 支持数值转字符串
367
+ // Note: parentNode will be set when this literal is used as an expression
260
368
  return new nasl_concepts_1.StringLiteral({ value: firstArg.text });
261
369
  }
262
370
  break;
263
371
  case 'Boolean':
264
372
  // 布尔类型构造函数,转换为 BooleanLiteral
265
373
  if (firstArg.kind === ts.SyntaxKind.TrueKeyword) {
374
+ // Note: parentNode will be set when this literal is used as an expression
266
375
  return new nasl_concepts_1.BooleanLiteral({ value: 'true' });
267
376
  }
268
377
  else if (firstArg.kind === ts.SyntaxKind.FalseKeyword) {
378
+ // Note: parentNode will be set when this literal is used as an expression
269
379
  return new nasl_concepts_1.BooleanLiteral({ value: 'false' });
270
380
  }
271
381
  else if (ts.isStringLiteral(firstArg)) {
272
382
  // 支持字符串形式的布尔值
273
383
  const value = firstArg.text.toLowerCase();
274
384
  if (value === 'true' || value === 'false') {
385
+ // Note: parentNode will be set when this literal is used as an expression
275
386
  return new nasl_concepts_1.BooleanLiteral({ value });
276
387
  }
277
388
  }
@@ -279,6 +390,7 @@ class TypeScriptNASLParser {
279
390
  }
280
391
  }
281
392
  else if (namespace === 'nasl.oql' && name === 'Query') {
393
+ // Note: parentNode will be set when this composite is used as an expression
282
394
  return new nasl_concepts_1.NewComposite({
283
395
  typeAnnotation: nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
284
396
  typeKind: 'reference',
@@ -296,6 +408,7 @@ class TypeScriptNASLParser {
296
408
  });
297
409
  }
298
410
  // 如果不是特殊构造函数,按普通 NewComposite 处理
411
+ // Note: parentNode will be set when this composite is used as an expression
299
412
  return new nasl_concepts_1.NewComposite({
300
413
  typeAnnotation: nasl_concepts_1.TypeAnnotation.createReference(name, {
301
414
  typeNamespace: namespace,
@@ -334,17 +447,23 @@ class TypeScriptNASLParser {
334
447
  propertyName = `property${index}`;
335
448
  }
336
449
  const identifier = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: propertyName });
450
+ identifier.parentNode = composite;
337
451
  const propertyIndex = composite.properties.length;
338
452
  composite.properties.push(identifier);
339
453
  const valueExpression = interpret(property.initializer);
340
454
  if (valueExpression) {
341
455
  const selectMembers = new nasl_concepts_1.SelectMembers();
342
456
  selectMembers.expression = valueExpression;
457
+ selectMembers.parentNode = composite;
458
+ if (valueExpression) {
459
+ valueExpression.parentNode = selectMembers;
460
+ }
343
461
  const rightIndex = composite.rights.length;
344
462
  composite.rights.push(selectMembers);
345
463
  const assignmentLine = new nasl_concepts_1.AssignmentLine();
346
464
  assignmentLine.leftIndex = [0, propertyIndex];
347
465
  assignmentLine.rightIndex = [rightIndex];
466
+ assignmentLine.parentNode = composite;
348
467
  composite.assignmentLines.push(assignmentLine);
349
468
  }
350
469
  };
@@ -354,13 +473,19 @@ class TypeScriptNASLParser {
354
473
  if (ts.isSpreadAssignment(property)) {
355
474
  // 如果有未完成的 composite,先添加它
356
475
  if (currentComposite && currentComposite.properties.length > 0) {
357
- args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: currentComposite }));
476
+ const arg = nasl_concepts_1.Argument.createProtoTypeOnly({ expression: currentComposite });
477
+ currentComposite.parentNode = arg;
478
+ args.push(arg);
358
479
  currentComposite = null;
359
480
  }
360
481
  // 添加展开表达式
361
482
  const spreadExpression = interpret(property.expression);
362
483
  if (spreadExpression) {
363
- args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: spreadExpression }));
484
+ const arg = nasl_concepts_1.Argument.createProtoTypeOnly({ expression: spreadExpression });
485
+ if (spreadExpression) {
486
+ spreadExpression.parentNode = arg;
487
+ }
488
+ args.push(arg);
364
489
  }
365
490
  }
366
491
  else if (ts.isPropertyAssignment(property)) {
@@ -378,8 +503,12 @@ class TypeScriptNASLParser {
378
503
  // 根据是否有展开操作决定返回类型
379
504
  if (hasSpread) {
380
505
  // 如果最后还有未完成的 composite,添加它
506
+ // TypeScript 的控制流分析可能无法正确推断 currentComposite 的类型,使用类型断言
381
507
  if (currentComposite && currentComposite.properties.length > 0) {
382
- args.push(nasl_concepts_1.Argument.createProtoTypeOnly({ expression: currentComposite }));
508
+ const composite = currentComposite;
509
+ const arg = nasl_concepts_1.Argument.createProtoTypeOnly({ expression: composite });
510
+ composite.parentNode = arg;
511
+ args.push(arg);
383
512
  }
384
513
  // 递归辅助函数:将多个参数转换为嵌套的二元 $InternalMerge 调用
385
514
  const buildNestedMerge = (args) => {
@@ -421,6 +550,7 @@ class TypeScriptNASLParser {
421
550
  expression: firstMerge,
422
551
  });
423
552
  firstMerge.parentNode = firstMergeArg;
553
+ // Note: firstMergeArg.parentNode will be set by the parent CallLogic
424
554
  const newArgs = [firstMergeArg, ...remainingArgs];
425
555
  return buildNestedMerge(newArgs);
426
556
  }
@@ -430,6 +560,7 @@ class TypeScriptNASLParser {
430
560
  }
431
561
  else {
432
562
  // 没有展开操作,返回单个 composite
563
+ // Note: parentNode will be set when this composite is used as an expression
433
564
  return currentComposite || makeEmptyAnonymousStructure();
434
565
  }
435
566
  }
@@ -446,9 +577,59 @@ class TypeScriptNASLParser {
446
577
  }
447
578
  else if (ts.isPropertyAccessExpression(node)) {
448
579
  // PropertyAccessExpression - 属性访问表达式
580
+ const full = self.parseExpressionNamespace(node);
581
+ // 特判:把 `app.enums.<EnumName>` 解析为带 namespace 的 Identifier
582
+ // 这样 `app.enums.IntEnum['0']` 的左值就不会依赖运行时变量 `app`
583
+ if (full.namespace === 'app.enums') {
584
+ // Note: parentNode will be set when this identifier is used as an expression
585
+ return nasl_concepts_1.Identifier.createProtoTypeOnly({ namespace: 'app.enums', name: full.name });
586
+ }
449
587
  const memberExpr = new nasl_concepts_1.MemberExpression();
450
- memberExpr.object = interpret(node.expression);
451
- memberExpr.property = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: node.name.text });
588
+ // 特判:把 `app.backend.variables.<var>` 解析为带 namespace 的 Identifier
589
+ // 例如:app.backend.variables.currentUser
590
+ if (full.namespace === 'app.backend.variables') {
591
+ // Note: parentNode will be set when this identifier is used as an expression
592
+ return nasl_concepts_1.Identifier.createProtoTypeOnly({ namespace: 'app.backend.variables', name: full.name });
593
+ }
594
+ // 特判:把 `app.enums.<EnumName>.<EnumItem>` 压缩为 Enum 标识符 + 成员访问
595
+ // 避免 `app` 在当前逻辑上下文里被当成普通变量,从而导致类型未知的成员访问错误
596
+ if (full.namespace?.startsWith('app.enums.')) {
597
+ const nsParts = full.namespace.split('.');
598
+ if (nsParts.length === 3) {
599
+ const enumName = nsParts[2];
600
+ const objId = nasl_concepts_1.Identifier.createProtoTypeOnly({ namespace: 'app.enums', name: enumName });
601
+ const propId = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: full.name });
602
+ objId.parentNode = memberExpr;
603
+ propId.parentNode = memberExpr;
604
+ memberExpr.object = objId;
605
+ memberExpr.property = propId;
606
+ // Note: parentNode will be set when this memberExpr is used as an expression
607
+ return memberExpr;
608
+ }
609
+ }
610
+ // 特判:把 `app.backend.variables.<var>.<prop>` 压缩为 backend variable 标识符 + 成员访问
611
+ // 例如:app.backend.variables.currentUser.userId
612
+ if (full.namespace?.startsWith('app.backend.variables.')) {
613
+ const nsParts = full.namespace.split('.');
614
+ if (nsParts.length === 4) {
615
+ const varName = nsParts[3];
616
+ const objId = nasl_concepts_1.Identifier.createProtoTypeOnly({ namespace: 'app.backend.variables', name: varName });
617
+ const propId = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: full.name });
618
+ objId.parentNode = memberExpr;
619
+ propId.parentNode = memberExpr;
620
+ memberExpr.object = objId;
621
+ memberExpr.property = propId;
622
+ // Note: parentNode will be set when this memberExpr is used as an expression
623
+ return memberExpr;
624
+ }
625
+ }
626
+ const obj = interpret(node.expression);
627
+ const prop = nasl_concepts_1.Identifier.createProtoTypeOnly({ name: node.name.text });
628
+ obj.parentNode = memberExpr;
629
+ prop.parentNode = memberExpr;
630
+ memberExpr.object = obj;
631
+ memberExpr.property = prop;
632
+ // Note: parentNode will be set when this memberExpr is used as an expression
452
633
  return memberExpr;
453
634
  }
454
635
  else if (ts.isSpreadAssignment(node)) {
@@ -474,12 +655,15 @@ class TypeScriptNASLParser {
474
655
  const expression = interpret(element);
475
656
  const argument = nasl_concepts_1.Argument.createProtoTypeOnly({ keyword, expression });
476
657
  argument.parentNode = call;
477
- expression && (expression.parentNode = argument);
658
+ if (expression) {
659
+ expression.parentNode = argument;
660
+ }
478
661
  return argument;
479
662
  }) || [];
480
663
  call.calleeName = `$InternalTuple${args.length}`;
481
664
  call.calleeNamespace = 'nasl.core';
482
665
  call.arguments = args;
666
+ // Note: parentNode will be set when this call is used as an expression
483
667
  return call;
484
668
  }
485
669
  else if (ts.isParenthesizedExpression(node)) {
@@ -490,24 +674,39 @@ class TypeScriptNASLParser {
490
674
  }
491
675
  else if (ts.isBinaryExpression(node)) {
492
676
  const result = new nasl_concepts_1.BinaryExpression();
493
- result.left = interpret(node.left);
494
- result.right = interpret(node.right);
677
+ const left = interpret(node.left);
678
+ const right = interpret(node.right);
679
+ if (left)
680
+ left.parentNode = result;
681
+ if (right)
682
+ right.parentNode = result;
683
+ result.left = left;
684
+ result.right = right;
495
685
  result.operator = node.operatorToken.getText();
686
+ // Note: parentNode will be set when this expression is used as an expression
496
687
  return result;
497
688
  }
498
689
  else if (ts.isElementAccessExpression(node)) {
499
690
  const result = new nasl_concepts_1.CallFunction();
691
+ const expr = interpret(node.expression);
692
+ const argExpr = interpret(node.argumentExpression);
693
+ const arg1 = nasl_concepts_1.Argument.createProtoTypeOnly({ expression: expr });
694
+ const arg2 = nasl_concepts_1.Argument.createProtoTypeOnly({ expression: argExpr });
695
+ if (expr)
696
+ expr.parentNode = arg1;
697
+ if (argExpr)
698
+ argExpr.parentNode = arg2;
699
+ arg1.parentNode = result;
700
+ arg2.parentNode = result;
500
701
  result.calleeName = 'Get';
501
702
  result.calleeNamespace = 'nasl.util';
502
- result.arguments = [
503
- interpret(node.expression),
504
- interpret(node.argumentExpression),
505
- ];
703
+ result.arguments = [arg1, arg2];
704
+ // Note: parentNode will be set when this call is used as an expression
506
705
  return result;
507
706
  }
508
707
  else if (ts.SyntaxKind.NullKeyword === node.kind) {
509
- const result = new nasl_concepts_1.NullLiteral();
510
- return result;
708
+ // Note: parentNode will be set when this literal is used as an expression
709
+ return new nasl_concepts_1.NullLiteral();
511
710
  }
512
711
  else if (ts.isSourceFile(node)) {
513
712
  // SourceFile 节点不需要处理
@@ -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":"overload-helper.d.ts","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAa,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAcpE,eAAO,MAAM,yBAAyB,cACvB,MAAM,QACX,MAAM,WACJ,cAAc,EAAE,QACnB,cAAc,eACN,cAAc,EAAE,SAyChC,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,QAAQ,MAAM,KAAG,iBAAiB,EAEzF,CAAC;AAGF,eAAO,MAAM,oBAAoB,cAAe,MAAM,QAAQ,MAAM,KAAG,OAEtE,CAAC;AAsCF,eAAO,MAAM,4BAA4B,eAAgB,iBAAiB,EAAE,KAAG,MA0B9E,CAAC;AAEF,eAAO,MAAM,2BAA2B,cAAe,MAAM,QAAQ,MAAM,KAAG,MACL,CAAC;AAoM1E,KAAK,qBAAqB,GAAG;IAAE,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtI,eAAO,MAAM,yBAAyB,EAAE,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,CAAC,EAAE,cAAc,EAAE,KAC1B,qBA+EA,CAAC;AAKN,eAAO,MAAM,yBAAyB,QAAS,MAAM,MAAM,YAAY,GAAG,SAAS,aAAa,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,KAAG,MAAM,cAAc,CAqB/J,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,GAWpG,CAAA;AAOD,eAAO,MAAM,qBAAqB,UAAW,MAAM,mBAKjD,CAAC;AAGH,eAAO,MAAM,uBAAuB,UAAW,MAAM,mBAKnD,CAAC"}
1
+ {"version":3,"file":"overload-helper.d.ts","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAa,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAuBpE,eAAO,MAAM,yBAAyB,cACvB,MAAM,QACX,MAAM,WACJ,cAAc,EAAE,QACnB,cAAc,eACN,cAAc,EAAE,SAyChC,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,QAAQ,MAAM,KAAG,iBAAiB,EAEzF,CAAC;AAGF,eAAO,MAAM,oBAAoB,cAAe,MAAM,QAAQ,MAAM,KAAG,OAEtE,CAAC;AAsCF,eAAO,MAAM,4BAA4B,eAAgB,iBAAiB,EAAE,KAAG,MA0B9E,CAAC;AAEF,eAAO,MAAM,2BAA2B,cAAe,MAAM,QAAQ,MAAM,KAAG,MACL,CAAC;AA8T1E,KAAK,qBAAqB,GAAG;IAAE,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtI,eAAO,MAAM,yBAAyB,EAAE,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,CAAC,EAAE,cAAc,EAAE,KAC1B,qBA2FA,CAAC;AAKN,eAAO,MAAM,yBAAyB,QAAS,MAAM,MAAM,YAAY,GAAG,SAAS,aAAa,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,KAAG,MAAM,cAAc,CAqB/J,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,GAWpG,CAAA;AAOD,eAAO,MAAM,qBAAqB,UAAW,MAAM,mBAKjD,CAAC;AAGH,eAAO,MAAM,uBAAuB,UAAW,MAAM,mBAKnD,CAAC"}