@lcap/nasl-language-server-core 3.13.1-rc.4 → 3.13.2-beta.3

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 (37) hide show
  1. package/out/module/graph.d.ts.map +1 -1
  2. package/out/module/graph.js +7 -10
  3. package/out/module/graph.js.map +1 -1
  4. package/out/symbol/graph.d.ts +13 -8
  5. package/out/symbol/graph.d.ts.map +1 -1
  6. package/out/symbol/graph.js +39 -68
  7. package/out/symbol/graph.js.map +1 -1
  8. package/out/symbol/namespace.d.ts +2 -3
  9. package/out/symbol/namespace.d.ts.map +1 -1
  10. package/out/symbol/namespace.js +50 -38
  11. package/out/symbol/namespace.js.map +1 -1
  12. package/out/symbol/symbol.d.ts +1 -0
  13. package/out/symbol/symbol.d.ts.map +1 -1
  14. package/out/symbol/symbol.js +3 -0
  15. package/out/symbol/symbol.js.map +1 -1
  16. package/out/symbol/traverse/concepts/logic/expression/call-logic.js +1 -1
  17. package/out/symbol/traverse/concepts/logic/expression/call-logic.js.map +1 -1
  18. package/out/symbol/traverse/concepts/logic/expression/call-query-component.d.ts.map +1 -1
  19. package/out/symbol/traverse/concepts/logic/expression/call-query-component.js +6 -2
  20. package/out/symbol/traverse/concepts/logic/expression/call-query-component.js.map +1 -1
  21. package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts.map +1 -1
  22. package/out/symbol/traverse/concepts/logic/expression/member-expression.js +3 -4
  23. package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -1
  24. package/out/symbol/traverse/concepts/logic/variable.d.ts.map +1 -1
  25. package/out/symbol/traverse/concepts/logic/variable.js +6 -7
  26. package/out/symbol/traverse/concepts/logic/variable.js.map +1 -1
  27. package/out/symbol/traverse/traverse.d.ts.map +1 -1
  28. package/out/symbol/traverse/traverse.js +0 -1
  29. package/out/symbol/traverse/traverse.js.map +1 -1
  30. package/out/symbol/utils.d.ts.map +1 -1
  31. package/out/symbol/utils.js +4 -4
  32. package/out/symbol/utils.js.map +1 -1
  33. package/out/utils/vue.d.ts +2 -0
  34. package/out/utils/vue.d.ts.map +1 -0
  35. package/out/utils/vue.js +10 -0
  36. package/out/utils/vue.js.map +1 -0
  37. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAQlC,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;IAClD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,kBAAuB;IAUxE,QAAQ,CAAC,UAAU,SAAc;IAEjC,UAAU;IACV,OAAO,CAAC,WAAW,CAAc;IACjC,cAAc;IACd,OAAO,CAAC,SAAS,CAA+B;IAChD,cAAc;IACd,OAAO,CAAC,aAAa,CAA2B;IAChD,YAAY;IACZ,OAAO,CAAC,OAAO,CAAqB;gBAExB,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,kBAAuB;IAMtE,kBAAkB;IAClB,IAAI,GAAG,QAEN;IAED,OAAO,CAAC,IAAI;IAqCZ;;OAEG;IACH,OAAO,CAAC,WAAW;IA0FnB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAezC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1C,UAAU;IAIJ,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAwEzE,MAAM,IAAI,IAAI,CAAC,eAAe;CAc/B"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,KAAK,GAAG,EAAE,KAAK,UAAU,EAAyB,MAAM,qBAAqB,CAAC;AAGvF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAChD,OAAO,KAAK,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAIlC,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;IAClD,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,OAAO,GAAE,kBAAuB;IAUxE,QAAQ,CAAC,UAAU,SAAc;IAEjC,UAAU;IACV,OAAO,CAAC,WAAW,CAAc;IACjC,cAAc;IACd,OAAO,CAAC,SAAS,CAA+B;IAChD,cAAc;IACd,OAAO,CAAC,aAAa,CAA2B;IAChD,YAAY;IACZ,OAAO,CAAC,OAAO,CAAqB;gBAExB,WAAW,EAAE,WAAW,EAAE,OAAO,GAAE,kBAAuB;IAMtE,kBAAkB;IAClB,IAAI,GAAG,QAEN;IAED,OAAO,CAAC,IAAI;IAqCZ;;OAEG;IACH,OAAO,CAAC,WAAW;IA0FnB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM;IAezC,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIzD,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAgB1C,UAAU;IAIJ,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAwEzE,MAAM,IAAI,IAAI,CAAC,eAAe;CAc/B"}
@@ -8,14 +8,11 @@ const service_1 = require("@lcap/nasl-concepts/service");
8
8
  const symbol_1 = require("../symbol");
9
9
  const module_1 = require("./module");
10
10
  const array_1 = require("../utils/array");
11
- const vue_1 = require("vue");
12
- function toRaw(data) {
13
- return vue_1.toRaw ? (0, vue_1.toRaw)(data) : data;
14
- }
11
+ const vue_1 = require("../utils/vue");
15
12
  class ModuleGraph {
16
13
  static fromNaslData(data, options = {}) {
17
14
  const app = (0, asserts_1.isStrictApp)(data)
18
- ? toRaw(data)
15
+ ? (0, vue_1.toRaw)(data)
19
16
  : new ((0, nasl_concepts_1.getConceptConstructor)('App'))({ ...data, silence: true });
20
17
  const symbolGraph = new symbol_1.SymbolGraph(app, options);
21
18
  const moduleGraph = new ModuleGraph(symbolGraph, options);
@@ -40,7 +37,7 @@ class ModuleGraph {
40
37
  // 未传入模块根节点路径
41
38
  if (moduleRoots.length === 0) {
42
39
  (0, service_1.getFileNodesByNasl)(app).forEach((nodeInput) => {
43
- const node = toRaw(nodeInput);
40
+ const node = (0, vue_1.toRaw)(nodeInput);
44
41
  const mod = new module_1.Module(node);
45
42
  moduleMap.set(node, mod);
46
43
  moduleNodeMap.set(node.nodePath, mod);
@@ -48,7 +45,7 @@ class ModuleGraph {
48
45
  }
49
46
  else {
50
47
  moduleRoots.forEach((nodePath) => {
51
- const node = toRaw(app.findNodeByPath(nodePath));
48
+ const node = (0, vue_1.toRaw)(app.findNodeByPath(nodePath));
52
49
  if (node) {
53
50
  const mod = new module_1.Module(node);
54
51
  moduleMap.set(node, mod);
@@ -60,7 +57,7 @@ class ModuleGraph {
60
57
  moduleMap.set(app, mod);
61
58
  moduleNodeMap.set(app.nodePath, mod);
62
59
  }
63
- const symbols = this.symbolGraph.getSymbols()
60
+ const symbols = Array.from(this.symbolGraph.getSymbols())
64
61
  .filter((item) => item.isUsed && item.declaration);
65
62
  for (const symbol of symbols) {
66
63
  this.getModuleMapBySymbol(symbol);
@@ -150,7 +147,7 @@ class ModuleGraph {
150
147
  if (this.moduleMap.has(currentNode)) {
151
148
  return this.moduleMap.get(currentNode);
152
149
  }
153
- currentNode = toRaw(currentNode.parentNode);
150
+ currentNode = (0, vue_1.toRaw)(currentNode.parentNode);
154
151
  }
155
152
  // 兜底返回 App 的模块
156
153
  return this.moduleMap.get(node.app);
@@ -164,7 +161,7 @@ class ModuleGraph {
164
161
  }
165
162
  const current = this.getModuleByNode(symbol.declaration);
166
163
  for (const refNode of symbol.references) {
167
- const refModule = this.getModuleByNode(toRaw(refNode));
164
+ const refModule = this.getModuleByNode((0, vue_1.toRaw)(refNode));
168
165
  if (refModule && refModule !== current) {
169
166
  refModule.addDependency(current);
170
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/module/graph.ts"],"names":[],"mappings":"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"}
@@ -1,21 +1,26 @@
1
1
  import type { Symbol as Type } from '@lcap/nasl-types';
2
- import { Symbol } from './symbol';
3
2
  import { Namespace } from './namespace';
4
3
  import type { SymbolGraphOptions } from './types';
5
- import { SyntaxNode } from '@lcap/nasl-concepts';
4
+ import type { SyntaxNode } from '@lcap/nasl-concepts';
6
5
  export declare class SymbolGraph implements Type.SymbolGraph {
7
6
  constructor(app: SyntaxNode, options?: SymbolGraphOptions);
8
7
  /** Nasl AST */
9
8
  readonly app: SyntaxNode;
10
9
  /** 作用域数据 */
11
10
  private readonly namespaces;
11
+ /**
12
+ * 作用域节点映射
13
+ *
14
+ * @description 虚拟作用域由于没有对应的节点,所以不会在这里
15
+ */
16
+ private readonly nodeNamespaceMap;
17
+ /** 根作用域 */
18
+ private rootNamespace;
12
19
  get appId(): string;
13
- addNamespace(...namespaces: Namespace[]): void;
14
- getSymbols(): Symbol[];
15
- getTypeSymbols(): Symbol[];
16
- getNamespaces(): Namespace[];
20
+ addNamespace(...inputs: Namespace[]): void;
21
+ getSymbols(): Generator<import("./symbol").Symbol, void, unknown>;
22
+ getRootNamespace(): Namespace;
23
+ getNamespaces(): IterableIterator<Namespace>;
17
24
  getNamespaceByNode(node: SyntaxNode): Namespace | undefined;
18
- getSymbolByNode(node: SyntaxNode, namespaces?: Namespace): Symbol | undefined;
19
- getTypeSymbolBySymbol(symbol: Symbol, namespace?: Namespace): Symbol | undefined;
20
25
  }
21
26
  //# sourceMappingURL=graph.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EAAE,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AAEjE,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;gBACtC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB;IAK7D,eAAe;IACf,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAE9C,IAAI,KAAK,WAER;IAED,YAAY,CAAC,GAAG,UAAU,EAAE,SAAS,EAAE;IAQvC,UAAU,IAAI,MAAM,EAAE;IAKtB,cAAc,IAAI,MAAM,EAAE;IAM1B,aAAa;IAIb,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;IAkC3D,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;IAgB7E,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS;CA8BjF"}
1
+ {"version":3,"file":"graph.d.ts","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGtD,qBAAa,WAAY,YAAW,IAAI,CAAC,WAAW;gBACtC,GAAG,EAAE,UAAU,EAAE,OAAO,GAAE,kBAAuB;IAK7D,eAAe;IACf,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;IAEzB,YAAY;IACZ,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoC;IACrE,WAAW;IACX,OAAO,CAAC,aAAa,CAAa;IAElC,IAAI,KAAK,WAER;IAED,YAAY,CAAC,GAAG,MAAM,EAAE,SAAS,EAAE;IAkBlC,UAAU;IAQX,gBAAgB;IAIhB,aAAa;IAIb,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS;CAwB5D"}
@@ -2,97 +2,68 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SymbolGraph = void 0;
4
4
  const traverse_1 = require("./traverse");
5
- const utils_1 = require("./utils");
5
+ const vue_1 = require("../utils/vue");
6
6
  class SymbolGraph {
7
7
  constructor(app, options = {}) {
8
8
  /** 作用域数据 */
9
- this.namespaces = [];
10
- this.app = app;
11
- (0, traverse_1.traverse)(app, this, options);
9
+ this.namespaces = new Set();
10
+ /**
11
+ * 作用域节点映射
12
+ *
13
+ * @description 虚拟作用域由于没有对应的节点,所以不会在这里
14
+ */
15
+ this.nodeNamespaceMap = new Map();
16
+ this.app = (0, vue_1.toRaw)(app);
17
+ (0, traverse_1.traverse)(this.app, this, options);
12
18
  }
13
19
  get appId() {
14
20
  return this.app.id;
15
21
  }
16
- addNamespace(...namespaces) {
17
- for (const item of namespaces) {
18
- if (this.namespaces.every((it) => it.node !== item.node || it.parent !== item.parent)) {
19
- this.namespaces.push(item);
22
+ addNamespace(...inputs) {
23
+ const { namespaces, nodeNamespaceMap } = this;
24
+ for (const item of inputs) {
25
+ if (!namespaces.has(item)) {
26
+ if (item.node?.concept === 'App') {
27
+ this.rootNamespace = item;
28
+ }
29
+ namespaces.add(item);
30
+ if (item.node) {
31
+ nodeNamespaceMap.set(item.node, item);
32
+ }
20
33
  }
21
34
  }
22
35
  }
23
- getSymbols() {
24
- return this.getNamespaces()
25
- .reduce(((ans, item) => ans.concat(Array.from(item.getStrictLocalSymbols().values()))), []);
36
+ *getSymbols() {
37
+ for (const namespace of this.getNamespaces()) {
38
+ for (const symbol of namespace.getStrictLocalSymbols().values()) {
39
+ yield symbol;
40
+ }
41
+ }
26
42
  }
27
- getTypeSymbols() {
28
- return this.getSymbols().filter(({ declaration }) => {
29
- return declaration && (0, utils_1.isTypeNode)(declaration);
30
- });
43
+ getRootNamespace() {
44
+ return this.rootNamespace;
31
45
  }
32
46
  getNamespaces() {
33
- return this.namespaces.slice();
47
+ return this.namespaces.values();
34
48
  }
35
49
  getNamespaceByNode(node) {
36
50
  if (!node) {
37
51
  return;
38
52
  }
39
- const rootScope = this.namespaces.find((item) => item.isRoot);
53
+ const { rootNamespace, nodeNamespaceMap } = this;
40
54
  if (node === this.app) {
41
- return rootScope;
55
+ return rootNamespace;
42
56
  }
43
- let maxLen = 0;
44
- let result = undefined;
45
- const { nodePath: inputPath } = node;
46
- // 搜索接近的作用域
47
- rootScope.traverse((namespace) => {
48
- const { nodePath: namespacePath } = namespace.node;
49
- // 过滤子节点
50
- if (!inputPath.startsWith(namespacePath)) {
51
- return;
57
+ let current = node;
58
+ while (current !== this.app) {
59
+ if (nodeNamespaceMap.has(current)) {
60
+ return nodeNamespaceMap.get(current);
52
61
  }
53
- if (namespacePath.length > maxLen) {
54
- maxLen = namespacePath.length;
55
- result = namespace;
62
+ else {
63
+ current = current.parentNode;
56
64
  }
57
- });
58
- return result;
59
- }
60
- getSymbolByNode(node, namespaces) {
61
- if (!node?.name) {
62
- return;
63
- }
64
- if (!namespaces) {
65
- namespaces = this.getNamespaceByNode(node);
66
- }
67
- if (!namespaces) {
68
- return;
69
- }
70
- return namespaces.getSymbolByToken(node.name);
71
- }
72
- getTypeSymbolBySymbol(symbol, namespace) {
73
- const node = symbol.declaration;
74
- if (!node) {
75
- return;
76
- }
77
- if ((0, utils_1.isTypeNode)(node)) {
78
- return symbol;
79
- }
80
- const typeNode = node?.__TypeAnnotation ?? node?.typeAnnotation;
81
- if (!typeNode) {
82
- return;
83
- }
84
- if (typeNode.typeKind === 'anonymousStructure') {
85
- // 匿名数据结构的符号就是默认导出
86
- return this.getNamespaceByNode(typeNode)?.defaultExport;
87
- }
88
- else if (typeNode.typeKind === 'reference') {
89
- return this
90
- .getTypeSymbols()
91
- .find((item) => item.semanticName === `${typeNode.typeNamespace}.${typeNode.typeName}`);
92
- }
93
- else if (typeNode.typeKind === 'union') {
94
- // TODO:
95
65
  }
66
+ return rootNamespace;
96
67
  }
97
68
  }
98
69
  exports.SymbolGraph = SymbolGraph;
@@ -1 +1 @@
1
- {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":";;;AAEA,yCAAsC;AAGtC,sCAAqC;AAErC,MAAa,WAAW;IACtB,YAAY,GAAe,EAAE,UAA8B,EAAE;QAQ7D,YAAY;QACK,eAAU,GAAG,IAAI,GAAG,EAAa,CAAC;QACnD;;;;WAIG;QACc,qBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;QAdnE,IAAI,CAAC,GAAG,GAAG,IAAA,WAAK,EAAC,GAAG,CAAC,CAAC;QACtB,IAAA,mBAAQ,EAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAgBD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,GAAG,MAAmB;QACjC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;oBAChC,IAAY,CAAC,aAAa,GAAG,IAAI,CAAC;gBACrC,CAAC;gBAED,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAErB,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,CAAC,UAAU;QACT,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;YAC7C,KAAK,MAAM,MAAM,IAAI,SAAS,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChE,MAAM,MAAM,CAAC;YACf,CAAC;QACH,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;IAClC,CAAC;IAED,kBAAkB,CAAC,IAAgB;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,EAAE,aAAa,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAEjD,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,OAAO,GAAG,IAAI,CAAC;QAEnB,OAAO,OAAO,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YAC5B,IAAI,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,OAAO,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC;YACxC,CAAC;iBACI,CAAC;gBACJ,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC;YAC/B,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;CACF;AAlFD,kCAkFC"}
@@ -23,9 +23,8 @@ export declare class Namespace implements Type.Namespace {
23
23
  getExportTopNamespace(): Namespace;
24
24
  getParentNamespace(cb: (namespace: Namespace) => boolean): Namespace | undefined;
25
25
  getSymbolByToken(token: string): Symbol | undefined;
26
- getSymbolByCb(cb: (token: string) => boolean): Symbol | undefined;
27
- getNamespaceSymbols(): Map<string, Symbol>;
28
- getLocalSymbols(): Map<string, Symbol>;
26
+ getTypeSymbolBySymbol(symbol: Symbol): Symbol | undefined;
27
+ getSymbolByCb(cb: (symbol: Symbol) => boolean): Symbol | undefined;
29
28
  getStrictLocalSymbols(): Map<string, Symbol>;
30
29
  traverse(cb: (namespace: Namespace) => boolean | undefined | void): Namespace | undefined;
31
30
  }
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,SAAU,YAAW,IAAI,CAAC,SAAS;IAS5C,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,QAAQ;IAZnB,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAM;IACpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGnD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,oBAAQ,EACtB,MAAM,CAAC,uBAAW,EAClB,QAAQ,UAAO;IAe1B,IAAI,MAAM,YAET;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,cAQP;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAUtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,qBAAqB,IAAI,SAAS;IAMlC,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;IAgBhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA4BnD,aAAa,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS;IAQjE,mBAAmB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAuB1C,eAAe,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAqBtC,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS;CAkB1F"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,SAAU,YAAW,IAAI,CAAC,SAAS;IAS5C,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU;IACzB,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,MAAM,CAAC;IAChB,QAAQ,CAAC,QAAQ;IAZnB,QAAQ,CAAC,EAAE,SAAS;IACpB,QAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAM;IACpC,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;IAC1D,aAAa;IACb,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAGnD,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,EAChB,aAAa,CAAC,oBAAQ,EACtB,MAAM,CAAC,uBAAW,EAClB,QAAQ,UAAO;IAe1B,IAAI,MAAM,YAET;IAED,IAAI,SAAS,YAEZ;IAED,IAAI,IAAI,cAQP;IAED,OAAO,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO;IAUtC,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAc/B,qBAAqB,IAAI,SAAS;IAMlC,kBAAkB,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;IAgBhF,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAwCnD,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAmCzD,aAAa,CAAC,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,GAAG,SAAS;IAoBlE,qBAAqB,IAAI,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAI5C,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,GAAG,SAAS,GAAG,SAAS;CAkB1F"}
@@ -79,63 +79,75 @@ class Namespace {
79
79
  // 含有`'.'`符号时表示是命名空间引用
80
80
  const isNamespaceRef = token.includes('.');
81
81
  let result;
82
+ // 命名空间引用,直接拿全局
82
83
  if (isNamespaceRef) {
83
- return this.getNamespaceSymbols().get(token);
84
+ return this.root.namespaceSymbols.get(token);
84
85
  }
85
86
  else {
86
- result = this.getStrictLocalSymbols().get(token);
87
+ result = this.localSymbols.get(token);
87
88
  if (result) {
88
89
  return result;
89
90
  }
90
- result = this.getLocalSymbols().get(token);
91
- if (result) {
92
- return result;
91
+ if (!this.parent) {
92
+ return;
93
+ }
94
+ // 向上迭代作用域
95
+ let current = this.parent;
96
+ while (!current.isRoot) {
97
+ result = current.localSymbols.get(token);
98
+ if (result) {
99
+ return result;
100
+ }
101
+ current = current.parent;
93
102
  }
94
103
  }
95
104
  }
105
+ getTypeSymbolBySymbol(symbol) {
106
+ const node = symbol.declaration;
107
+ if (!node) {
108
+ return;
109
+ }
110
+ if (symbol.isType) {
111
+ return symbol;
112
+ }
113
+ const typeNode = node?.__TypeAnnotation ?? node?.typeAnnotation;
114
+ if (!typeNode) {
115
+ return;
116
+ }
117
+ // 有些类型没有设置上级节点,这里需要补上
118
+ if (!typeNode.parentNode) {
119
+ typeNode.parentNode = node;
120
+ }
121
+ // 匿名数据结构的符号就是默认导出
122
+ if (typeNode.typeKind === 'anonymousStructure') {
123
+ return this.localSymbols.get(typeNode.getTokenKeyWithNamespace());
124
+ }
125
+ // 引用复杂类型需要寻找原始符号
126
+ else if (typeNode.typeKind === 'reference') {
127
+ return this.getSymbolByToken(`${typeNode.typeNamespace}.${typeNode.typeName}`);
128
+ }
129
+ else if (typeNode.typeKind === 'union') {
130
+ // TODO:
131
+ }
132
+ }
96
133
  getSymbolByCb(cb) {
97
- for (const [token, symbol] of this.getNamespaceSymbols()) {
98
- if (cb(token)) {
134
+ for (const [_, symbol] of this.localSymbols) {
135
+ if (cb(symbol)) {
99
136
  return symbol;
100
137
  }
101
138
  }
102
- }
103
- getNamespaceSymbols() {
104
- const rootNamespace = this.root;
105
- const exportTopNamespace = this.getExportTopNamespace();
106
- if (rootNamespace === exportTopNamespace) {
107
- return new Map(rootNamespace.namespaceSymbols);
108
- }
109
- const { namespaceSymbols: rootNamespaceSymbols } = rootNamespace;
110
- const { namespaceSymbols: exportTopNamespaceSymbols } = exportTopNamespace;
111
- const result = new Map();
112
- for (const [key, val] of rootNamespaceSymbols.entries()) {
113
- result.set(key, val);
114
- }
115
- for (const [key, val] of exportTopNamespaceSymbols.entries()) {
116
- result.set(key, val);
117
- }
118
- return result;
119
- }
120
- getLocalSymbols() {
121
- const result = this.getStrictLocalSymbols();
122
- const recordSymbol = (space) => {
123
- for (const [key, val] of current.localSymbols) {
124
- if (!result.has(key)) {
125
- result.set(key, val);
139
+ let current = this.parent;
140
+ while (current) {
141
+ for (const [_, symbol] of current.namespaceSymbols) {
142
+ if (cb(symbol)) {
143
+ return symbol;
126
144
  }
127
145
  }
128
- };
129
- let current = this.parent ?? this;
130
- while (!current.isRoot) {
131
- recordSymbol(current);
132
146
  current = current.parent;
133
147
  }
134
- recordSymbol(current);
135
- return result;
136
148
  }
137
149
  getStrictLocalSymbols() {
138
- return new Map(this.localSymbols);
150
+ return this.localSymbols;
139
151
  }
140
152
  traverse(cb) {
141
153
  const resultSelf = cb(this);
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../src/symbol/namespace.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,7 @@ export declare class Symbol implements SymbolType.Symbol {
13
13
  readonly references: SyntaxNode[];
14
14
  readonly naslName?: string;
15
15
  readonly semanticName?: string;
16
+ readonly isType: boolean;
16
17
  constructor(graph: SymbolGraph, name: string, namespace: Namespace, declaration?: SyntaxNode | undefined, isVirtual?: boolean, isExport?: boolean);
17
18
  get isUsed(): boolean;
18
19
  hasRef(nodePath: string): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,qBAAa,MAAO,YAAW,UAAU,CAAC,MAAM;aAO5B,KAAK,EAAE,WAAW;aAClB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,SAAS;aACpB,WAAW,CAAC;aACZ,SAAS;aACT,QAAQ;IAX1B,QAAQ,CAAC,EAAE,SAAQ;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;gBAGb,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,wBAAY,EACxB,SAAS,UAAQ,EACjB,QAAQ,UAAO;IAajC,IAAI,MAAM,YAET;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IACjC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;CAMlC"}
1
+ {"version":3,"file":"symbol.d.ts","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAKtC,qBAAa,MAAO,YAAW,UAAU,CAAC,MAAM;aAQ5B,KAAK,EAAE,WAAW;aAClB,IAAI,EAAE,MAAM;aACZ,SAAS,EAAE,SAAS;aACpB,WAAW,CAAC;aACZ,SAAS;aACT,QAAQ;IAZ1B,QAAQ,CAAC,EAAE,SAAQ;IACnB,QAAQ,CAAC,UAAU,EAAE,UAAU,EAAE,CAAM;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAS;gBAGf,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,SAAS,EACpB,WAAW,CAAC,wBAAY,EACxB,SAAS,UAAQ,EACjB,QAAQ,UAAO;IAcjC,IAAI,MAAM,YAET;IAED,MAAM,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IACjC,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO;CAMlC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Symbol = void 0;
4
+ const utils_1 = require("./utils");
4
5
  let id = 0;
5
6
  class Symbol {
6
7
  constructor(graph, name, namespace, declaration, isVirtual = false, isExport = true) {
@@ -12,8 +13,10 @@ class Symbol {
12
13
  this.isExport = isExport;
13
14
  this.id = id++;
14
15
  this.references = [];
16
+ this.isType = false;
15
17
  if (declaration) {
16
18
  this.naslName = declaration.nodePath;
19
+ this.isType = (0, utils_1.isTypeNode)(declaration);
17
20
  if (isExport) {
18
21
  this.semanticName = declaration.getTokenKeyWithNamespace();
19
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAKA,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,MAAa,MAAM;IAMjB,YACkB,KAAkB,EAClB,IAAY,EACZ,SAAoB,EACpB,WAAwB,EACxB,YAAY,KAAK,EACjB,WAAW,IAAI;QALf,UAAK,GAAL,KAAK,CAAa;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAO;QAXxB,OAAE,GAAG,EAAE,EAAE,CAAC;QACV,eAAU,GAAiB,EAAE,CAAC;QAYrC,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YAErC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAID,MAAM,CAAC,IAAyB;QAC9B,OAAO,OAAO,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AApCD,wBAoCC"}
1
+ {"version":3,"file":"symbol.js","sourceRoot":"","sources":["../../src/symbol/symbol.ts"],"names":[],"mappings":";;;AAIA,mCAAqC;AAErC,IAAI,EAAE,GAAG,CAAC,CAAC;AAEX,MAAa,MAAM;IAOjB,YACkB,KAAkB,EAClB,IAAY,EACZ,SAAoB,EACpB,WAAwB,EACxB,YAAY,KAAK,EACjB,WAAW,IAAI;QALf,UAAK,GAAL,KAAK,CAAa;QAClB,SAAI,GAAJ,IAAI,CAAQ;QACZ,cAAS,GAAT,SAAS,CAAW;QACpB,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAO;QAZxB,OAAE,GAAG,EAAE,EAAE,CAAC;QACV,eAAU,GAAiB,EAAE,CAAC;QAG9B,WAAM,GAAY,KAAK,CAAC;QAU/B,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACrC,IAAI,CAAC,MAAM,GAAG,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;YAEtC,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC,wBAAwB,EAAE,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IACpC,CAAC;IAID,MAAM,CAAC,IAAyB;QAC9B,OAAO,OAAO,IAAI,KAAK,QAAQ;YAC7B,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;CACF;AAtCD,wBAsCC"}
@@ -18,7 +18,7 @@ const traverseCallLogic = (node, context) => {
18
18
  // 扩展方法需要判断是否被复写
19
19
  else if (token.includes(ExtensionPrefix)) {
20
20
  const moduleLogicToken = token.replace(ExtensionPrefix, '');
21
- const overriddenLogic = context.namespace.getSymbolByCb((token) => {
21
+ const overriddenLogic = context.namespace.getSymbolByCb(({ semanticName: token = '' }) => {
22
22
  return !token.startsWith(ExtensionPrefix) && token.endsWith(moduleLogicToken);
23
23
  });
24
24
  // 找到有对应的复写逻辑
@@ -1 +1 @@
1
- {"version":3,"file":"call-logic.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-logic.ts"],"names":[],"mappings":";;;AAAA,uDAA8D;AAE9D,uCAA2C;AAC3C,yCAA8C;AAE9C,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC;;GAEG;AACI,MAAM,iBAAiB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,SAAS;IACT,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,IAAA,oBAAY,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,gBAAgB;SACX,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,KAAK,EAAE,EAAE;YAChE,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,eAAe,EAAE,CAAC;YACpB,IAAA,oBAAY,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aACI,CAAC;YACJ,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,eAAe;SACV,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;QAE9D,IAAI,uBAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAChD,MAAM,qBAAqB,GAAG,kBAAkB,WAAW,WAAW,UAAU,EAAE,CAAC;YACnF,IAAA,oBAAY,EAAC,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO;SACF,CAAC;QACJ,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;IACP,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAA,2BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;AACxB,CAAC,CAAC;AA7CW,QAAA,iBAAiB,qBA6C5B"}
1
+ {"version":3,"file":"call-logic.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-logic.ts"],"names":[],"mappings":";;;AAAA,uDAA8D;AAE9D,uCAA2C;AAC3C,yCAA8C;AAE9C,MAAM,eAAe,GAAG,aAAa,CAAC;AAEtC;;GAEG;AACI,MAAM,iBAAiB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IACvC,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAE9B,SAAS;IACT,IAAI,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAClC,IAAA,oBAAY,EAAC,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IACD,gBAAgB;SACX,IAAI,KAAK,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QACzC,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;QAC5D,MAAM,eAAe,GAAG,OAAO,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,EAAE,YAAY,EAAE,KAAK,GAAG,EAAE,EAAE,EAAE,EAAE;YACvF,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAChF,CAAC,CAAC,CAAC;QAEH,aAAa;QACb,IAAI,eAAe,EAAE,CAAC;YACpB,IAAA,oBAAY,EAAC,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;aACI,CAAC;YACJ,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IACD,eAAe;SACV,IAAI,KAAK,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,qBAAqB,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC;QAE9D,IAAI,uBAAO,CAAC,eAAe,CAAC,qBAAqB,CAAC,EAAE,CAAC;YACnD,MAAM,WAAW,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAChD,MAAM,qBAAqB,GAAG,kBAAkB,WAAW,WAAW,UAAU,EAAE,CAAC;YACnF,IAAA,oBAAY,EAAC,qBAAqB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IACD,OAAO;SACF,CAAC;QACJ,IAAA,oBAAY,EAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;IACP,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QACtC,IAAA,2BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAED,sBAAsB;AACxB,CAAC,CAAC;AA7CW,QAAA,iBAAiB,qBA6C5B"}
@@ -1 +1 @@
1
- {"version":3,"file":"call-query-component.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-query-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,CAEvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,wBAAwB,CAI/E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,qBAAqB,CASzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,mBAAmB,CAMrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,sBAAsB,CAE3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,mBAAmB,CAMrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,sBAAsB,CAS3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,CAQvE,CAAC;AAgCF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,kBAAkB,CA0BnE,CAAC"}
1
+ {"version":3,"file":"call-query-component.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-query-component.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,wBAAwB,EACxB,oBAAoB,EACpB,mBAAmB,EACnB,sBAAsB,EACtB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,CAEvE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gCAAgC,EAAE,QAAQ,CAAC,wBAAwB,CAI/E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,6BAA6B,EAAE,QAAQ,CAAC,qBAAqB,CASzE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,mBAAmB,CAMrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,sBAAsB,CAE3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,2BAA2B,EAAE,QAAQ,CAAC,mBAAmB,CAMrE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,8BAA8B,EAAE,QAAQ,CAAC,sBAAsB,CAS3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,EAAE,QAAQ,CAAC,oBAAoB,CAQvE,CAAC;AAgCF;;GAEG;AACH,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,kBAAkB,CA+BnE,CAAC"}
@@ -120,8 +120,12 @@ const traverseCallQueryComponent = (node, context) => {
120
120
  context.pushNamespace(node, false);
121
121
  // 节点内的分组聚合会声明变量,需要先添加
122
122
  addSymbolCallQueryComponent(node, context);
123
- (0, exports.traverseQueryFromExpression)(node.from, context);
124
- (0, exports.traverseQuerySelectExpression)(node.select, context);
123
+ if (node.from) {
124
+ (0, exports.traverseQueryFromExpression)(node.from, context);
125
+ }
126
+ if (node.select) {
127
+ (0, exports.traverseQuerySelectExpression)(node.select, context);
128
+ }
125
129
  for (const item of node.orderBy) {
126
130
  (0, exports.traverseQueryOrderByExpression)(item, context);
127
131
  }
@@ -1 +1 @@
1
- {"version":3,"file":"call-query-component.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-query-component.ts"],"names":[],"mappings":";;;AAYA,uCAA2C;AAC3C,6CAAkD;AAElD;;GAEG;AACI,MAAM,4BAA4B,GAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC5F,cAAc;AAChB,CAAC,CAAC;AAFW,QAAA,4BAA4B,gCAEvC;AAEF;;GAEG;AACI,MAAM,gCAAgC,GAAuC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpG,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAA,oCAA4B,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC,CAAC;AAJW,QAAA,gCAAgC,oCAI3C;AAEF;;GAEG;AACI,MAAM,6BAA6B,GAAoC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC9F,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACzC,IAAI,MAAM,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAC9C,IAAA,oCAA4B,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC;aACI,IAAI,MAAM,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;YACvD,IAAA,wCAAgC,EAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AATW,QAAA,6BAA6B,iCASxC;AAEF;;GAEG;AACI,MAAM,2BAA2B,GAAkC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1F,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACxC,IAAA,mCAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC;AANW,QAAA,2BAA2B,+BAMtC;AAEF;;GAEG;AACI,MAAM,8BAA8B,GAAqC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChG,KAAK;AACP,CAAC,CAAC;AAFW,QAAA,8BAA8B,kCAEzC;AAEF;;GAEG;AACI,MAAM,2BAA2B,GAAkC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1F,IAAA,oBAAY,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAE9D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,IAAI,EAAE,EAAE,CAAC;QACxC,IAAA,mCAA2B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC;AANW,QAAA,2BAA2B,+BAMtC;AAEF;;GAEG;AACI,MAAM,8BAA8B,GAAqC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChG,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAA,+BAAkB,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,2BAA2B;IAC3B,oBAAoB;IACpB,6CAA6C;IAC7C,IAAI;AACN,CAAC,CAAC;AATW,QAAA,8BAA8B,kCASzC;AAEF;;GAEG;AACI,MAAM,4BAA4B,GAAmC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC5F,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,IAAA,+BAAkB,EAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,IAAA,+BAAkB,EAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;AACH,CAAC,CAAC;AARW,QAAA,4BAA4B,gCAQvC;AAEF;;GAEG;AACH,MAAM,2BAA2B,GAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAClF,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,KAAK,CAAC,YAAY,CAAC,OAAO,KAAK,sBAAsB,EAAE,CAAC;YAC1D,IAAI,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;gBAC9B,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC7F,CAAC;iBACI,CAAC;gBACJ,aAAa;YACf,CAAC;QACH,CAAC;aACI,CAAC;YACJ,aAAa;QACf,CAAC;IACH,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,cAAc,IAAI,EAAE,EAAE,CAAC;QACrD,IAAI,IAAI,CAAC,OAAO,KAAK,0BAA0B,EAAE,CAAC;YAChD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACjE,CAAC;iBACI,CAAC;gBACJ,aAAa;YACf,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF;;GAEG;AACI,MAAM,0BAA0B,GAAiC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACxF,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAEnC,sBAAsB;IACtB,2BAA2B,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAE3C,IAAA,mCAA2B,EAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,IAAA,qCAA6B,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEpD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QAChC,IAAA,sCAA8B,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAA,+BAAkB,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,IAAA,+BAAkB,EAAC,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,IAAA,oCAA4B,EAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AA1BW,QAAA,0BAA0B,8BA0BrC"}
1
+ {"version":3,"file":"call-query-component.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/call-query-component.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"member-expression.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/member-expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,gBAAgB,CAgD/D,CAAC"}
1
+ {"version":3,"file":"member-expression.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/member-expression.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAI/C;;GAEG;AACH,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,gBAAgB,CA+C/D,CAAC"}
@@ -13,8 +13,7 @@ const traverseMemberExpression = (node, { namespace, symbolGraph }) => {
13
13
  }
14
14
  const typeNode = declaration.__TypeAnnotation ?? declaration.typeAnnotation;
15
15
  if (typeNode?.typeKind === 'reference') {
16
- const token = `${typeNode.typeNamespace}.${typeNode.typeName}`;
17
- return symbolGraph.getTypeSymbols().find((item) => item.semanticName === token);
16
+ return namespace.getSymbolByToken(`${typeNode.typeNamespace}.${typeNode.typeName}`);
18
17
  }
19
18
  else {
20
19
  return symbol;
@@ -31,13 +30,13 @@ const traverseMemberExpression = (node, { namespace, symbolGraph }) => {
31
30
  }
32
31
  else if (object.concept === 'Identifier') {
33
32
  const refSymbol = (0, utils_1.addSymbolRef)(object.getTokenKeyWithNamespace(), object, namespace, '标识符');
34
- refTypeSymbol = refSymbol ? symbolGraph.getTypeSymbolBySymbol(refSymbol, namespace) : undefined;
33
+ refTypeSymbol = refSymbol ? namespace.getTypeSymbolBySymbol(refSymbol) : undefined;
35
34
  }
36
35
  if (!refTypeSymbol) {
37
36
  return;
38
37
  }
39
38
  // 匿名数据结构符号没有 semanticName 字段,所以用 name 代替
40
- const subTypeToken = `${refTypeSymbol.semanticName ?? refTypeSymbol.name}.${property.name}`;
39
+ const subTypeToken = `${refTypeSymbol.semanticName ?? refTypeSymbol.name}[${property.name}]`;
41
40
  const subTypeSymbol = (0, utils_1.addSymbolRef)(subTypeToken, member, namespace, '属性访问');
42
41
  const realTypeSymbol = subTypeSymbol ? getRealType(subTypeSymbol) : undefined;
43
42
  return realTypeSymbol;
@@ -1 +1 @@
1
- {"version":3,"file":"member-expression.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/member-expression.ts"],"names":[],"mappings":";;;AAGA,uCAA2C;AAE3C;;GAEG;AACI,MAAM,wBAAwB,GAA+B,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IACvG,SAAS,WAAW,CAAC,MAAc;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,IAAK,WAAmB,CAAC,cAAc,CAAC;QAErF,IAAI,QAAQ,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC/D,OAAO,WAAW,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC,CAAC;QAClF,CAAC;aACI,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,SAAS,uBAAuB,CAAC,MAAwB;QACvD,IAAI,aAAa,GAAuB,SAAS,CAAC;QAElD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC1C,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;aACI,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5F,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAClG,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,GAAG,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC5F,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AAhDW,QAAA,wBAAwB,4BAgDnC"}
1
+ {"version":3,"file":"member-expression.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/member-expression.ts"],"names":[],"mappings":";;;AAGA,uCAA2C;AAE3C;;GAEG;AACI,MAAM,wBAAwB,GAA+B,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE;IACvG,SAAS,WAAW,CAAC,MAAc;QACjC,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;QAE/B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,MAAM,QAAQ,GAAG,WAAW,CAAC,gBAAgB,IAAK,WAAmB,CAAC,cAAc,CAAC;QAErF,IAAI,QAAQ,EAAE,QAAQ,KAAK,WAAW,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC,gBAAgB,CAAC,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QACtF,CAAC;aACI,CAAC;YACJ,OAAO,MAAM,CAAC;QAChB,CAAC;IACH,CAAC;IAED,SAAS,uBAAuB,CAAC,MAAwB;QACvD,IAAI,aAAa,GAAuB,SAAS,CAAC;QAElD,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;QAEpC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,KAAK,kBAAkB,EAAE,CAAC;YAC1C,aAAa,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;aACI,IAAI,MAAM,CAAC,OAAO,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAA,oBAAY,EAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAC5F,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACrF,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,yCAAyC;QACzC,MAAM,YAAY,GAAG,GAAG,aAAa,CAAC,YAAY,IAAI,aAAa,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC;QAC7F,MAAM,aAAa,GAAG,IAAA,oBAAY,EAAC,YAAY,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;QAC5E,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,uBAAuB,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC,CAAC;AA/CW,QAAA,wBAAwB,4BA+CnC"}
@@ -1 +1 @@
1
- {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,QAAQ,EACd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,KAAK,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE/G;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,YAAY,CAgCnD,CAAC"}
1
+ {"version":3,"file":"variable.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/variable.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,MAAM,EACX,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,QAAQ,EAEd,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,KAAK,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,eAAe,GAAG,gBAAgB,GAAG,cAAc,CAAC;AAE/G;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,YAAY,CA+BnD,CAAC"}
@@ -19,13 +19,12 @@ const traverseVariable = (node, context) => {
19
19
  (0, other_1.traverseTypeAnnotation)(node.typeAnnotation, context);
20
20
  }
21
21
  if (!ignoreProps.__TypeAnnotation && node.__TypeAnnotation) {
22
- // __TypeAnnotation 字段经常被改写,还被 Object.freeze 了,所以这里新生成一个
23
- // FIXME: 可能运行效率会受到影响
24
- const TypeAnnotation = (0, nasl_concepts_1.getConceptConstructor)('TypeAnnotation');
25
- const newType = new TypeAnnotation(node.__TypeAnnotation.toJSON());
26
- newType.parentNode = node;
27
- newType.parentKey = '__TypeAnnotation';
28
- (0, other_1.traverseTypeAnnotation)(newType, context);
22
+ const typeNode = node.__TypeAnnotation;
23
+ typeNode.parentNode = node;
24
+ typeNode.parentKey = '__TypeAnnotation';
25
+ if (typeNode) {
26
+ (0, other_1.traverseTypeAnnotation)(typeNode, context);
27
+ }
29
28
  }
30
29
  if (!ignoreProps.defaultValue && node.defaultValue) {
31
30
  if (typeof node.defaultValue !== 'object') {
@@ -1 +1 @@
1
- {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/variable.ts"],"names":[],"mappings":";;;AAAA,uDAU6B;AAE7B,oCAAkD;AAClD,6CAAkD;AAIlD;;;;GAIG;AACI,MAAM,gBAAgB,GAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAG,uBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,UAAU;IACV,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACvD,IAAA,8BAAsB,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3D,wDAAwD;QACxD,qBAAqB;QACrB,MAAM,cAAc,GAAG,IAAA,qCAAqB,EAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC;QAEnE,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC;QAC1B,OAAO,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAEvC,IAAA,8BAAsB,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACnD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,+BAA+B;YAC/B,OAAO;QACT,CAAC;QAED,IAAA,+BAAkB,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,gBAAgB,oBAgC3B"}
1
+ {"version":3,"file":"variable.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/variable.ts"],"names":[],"mappings":";;;AAAA,uDAU6B;AAE7B,oCAAkD;AAClD,6CAAkD;AAIlD;;;;GAIG;AACI,MAAM,gBAAgB,GAA2B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACxE,MAAM,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAC9B,MAAM,QAAQ,GAAG,uBAAO,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,YAAY,CAAC;IACtF,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,UAAU;IACV,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAExD,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACvD,IAAA,8BAAsB,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAmB,IAAI,CAAC,gBAAgB,CAAC;QAEvD,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC;QAC3B,QAAQ,CAAC,SAAS,GAAG,kBAAkB,CAAC;QAExC,IAAI,QAAQ,EAAE,CAAC;YACb,IAAA,8BAAsB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACnD,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1C,+BAA+B;YAC/B,OAAO;QACT,CAAC;QAED,IAAA,+BAAkB,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AA/BW,QAAA,gBAAgB,oBA+B3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/symbol/traverse/traverse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,QAiG/F"}
1
+ {"version":3,"file":"traverse.d.ts","sourceRoot":"","sources":["../../../src/symbol/traverse/traverse.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAG9C,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,kBAAkB,QAgG/F"}
@@ -55,7 +55,6 @@ function traverse(node, symbolGraph, options) {
55
55
  }
56
56
  const symbol = new symbol_1.Symbol(symbolGraph, name, namespace, declaration, isVirtual, isExport);
57
57
  const newNamespace = new namespace_1.Namespace(symbolGraph, declaration, symbol, namespace);
58
- symbolGraph.addNamespace(newNamespace);
59
58
  nodeNamespaceMap.set(declaration, newNamespace);
60
59
  },
61
60
  getIgnoreProps(concept) {
@@ -1 +1 @@
1
- {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/symbol/traverse/traverse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"traverse.js","sourceRoot":"","sources":["../../../src/symbol/traverse/traverse.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/symbol/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,SAAS,EAAE,MAAM,EAAW,MAAM,qBAAqB,CAAC;AAEnG,WAAW;AACX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,QAAQ,CAM7D"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/symbol/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE1E,WAAW;AACX,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAAC;AAEjD,wBAAgB,UAAU,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,IAAI,QAAQ,CAO7D"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isTypeNode = void 0;
4
- const nasl_concepts_1 = require("@lcap/nasl-concepts");
5
4
  function isTypeNode(node) {
6
- return (nasl_concepts_1.asserts.isStructure(node) ||
7
- nasl_concepts_1.asserts.isEntity(node) ||
8
- nasl_concepts_1.asserts.isEnum(node));
5
+ const { concept } = node;
6
+ return (concept === 'Structure' ||
7
+ concept === 'Entity' ||
8
+ concept === 'Enum');
9
9
  }
10
10
  exports.isTypeNode = isTypeNode;
11
11
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/symbol/utils.ts"],"names":[],"mappings":";;;AAAA,uDAAmG;AAKnG,SAAgB,UAAU,CAAC,IAAgB;IACzC,OAAO,CACL,uBAAO,CAAC,WAAW,CAAC,IAAI,CAAC;QACzB,uBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;QACtB,uBAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CACrB,CAAC;AACJ,CAAC;AAND,gCAMC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/symbol/utils.ts"],"names":[],"mappings":";;;AAKA,SAAgB,UAAU,CAAC,IAAgB;IACzC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IACzB,OAAO,CACL,OAAO,KAAK,WAAW;QACvB,OAAO,KAAI,QAAQ;QACnB,OAAO,KAAK,MAAM,CACnB,CAAC;AACJ,CAAC;AAPD,gCAOC"}
@@ -0,0 +1,2 @@
1
+ export declare function toRaw<T>(data: T): T;
2
+ //# sourceMappingURL=vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../src/utils/vue.ts"],"names":[],"mappings":"AAGA,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,CAEnC"}
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toRaw = void 0;
4
+ const nasl_utils_1 = require("@lcap/nasl-utils");
5
+ const vue_1 = require("vue");
6
+ function toRaw(data) {
7
+ return (nasl_utils_1.isBrowser && vue_1.toRaw) ? (0, vue_1.toRaw)(data) : data;
8
+ }
9
+ exports.toRaw = toRaw;
10
+ //# sourceMappingURL=vue.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vue.js","sourceRoot":"","sources":["../../src/utils/vue.ts"],"names":[],"mappings":";;;AAAA,iDAA6C;AAC7C,6BAAwC;AAExC,SAAgB,KAAK,CAAI,IAAO;IAC9B,OAAO,CAAC,sBAAS,IAAI,WAAQ,CAAC,CAAC,CAAC,CAAC,IAAA,WAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AACzD,CAAC;AAFD,sBAEC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lcap/nasl-language-server-core",
3
3
  "description": "NetEase Application Specific Language",
4
- "version": "3.13.1-rc.4",
4
+ "version": "3.13.2-beta.3",
5
5
  "main": "./out",
6
6
  "types": "./out",
7
7
  "source": "./src",
@@ -14,9 +14,9 @@
14
14
  "dependencies": {
15
15
  "lodash": "4.17.21",
16
16
  "vue": "3.4.33",
17
- "@lcap/nasl-concepts": "3.13.1-rc.4",
18
- "@lcap/nasl-types": "3.13.1-rc.4",
19
- "@lcap/nasl-utils": "3.13.1-rc.4"
17
+ "@lcap/nasl-concepts": "3.13.2-beta.3",
18
+ "@lcap/nasl-types": "3.13.2-beta.3",
19
+ "@lcap/nasl-utils": "3.13.2-beta.3"
20
20
  },
21
21
  "devDependencies": {
22
22
  "@types/lodash": "4.17.0",
@@ -26,7 +26,7 @@
26
26
  "tslib": "2.6.2",
27
27
  "typescript": "5.4.4",
28
28
  "@lcap/nasl-test-toolkit": "1.0.0",
29
- "@lcap/nasl-translator": "3.13.1-rc.4",
29
+ "@lcap/nasl-translator": "3.13.2-beta.3",
30
30
  "@lcap/nasl-tsconfig": "1.0.1"
31
31
  },
32
32
  "scripts": {