@lcap/nasl-language-server-core 3.13.1-debug.6 → 3.13.1-rc.10
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.
- package/out/symbol/graph.d.ts +2 -0
- package/out/symbol/graph.d.ts.map +1 -1
- package/out/symbol/graph.js +37 -6
- package/out/symbol/graph.js.map +1 -1
- package/out/symbol/symbol.d.ts +2 -0
- package/out/symbol/symbol.d.ts.map +1 -1
- package/out/symbol/symbol.js +5 -0
- package/out/symbol/symbol.js.map +1 -1
- package/out/symbol/traverse/concepts/data-source/entity.js +1 -1
- package/out/symbol/traverse/concepts/data-source/entity.js.map +1 -1
- package/out/symbol/traverse/concepts/enum/enum.js +2 -2
- package/out/symbol/traverse/concepts/enum/enum.js.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/identifier.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/identifier.js +1 -2
- package/out/symbol/traverse/concepts/logic/expression/identifier.js.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/member-expression.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/member-expression.js +39 -3
- package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -1
- package/out/symbol/traverse/concepts/logic/logic.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/logic/logic.js +19 -4
- package/out/symbol/traverse/concepts/logic/logic.js.map +1 -1
- package/out/symbol/traverse/concepts/other/namespace.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/other/namespace.js +2 -3
- package/out/symbol/traverse/concepts/other/namespace.js.map +1 -1
- package/out/symbol/traverse/concepts/other/type-annotation.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/other/type-annotation.js +4 -0
- package/out/symbol/traverse/concepts/other/type-annotation.js.map +1 -1
- package/out/symbol/traverse/concepts/structure/structure.js +1 -1
- package/out/symbol/traverse/concepts/structure/structure.js.map +1 -1
- package/out/symbol/traverse/concepts/utils.d.ts +1 -1
- package/out/symbol/traverse/concepts/utils.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/utils.js +5 -0
- package/out/symbol/traverse/concepts/utils.js.map +1 -1
- package/out/symbol/traverse/traverse.d.ts.map +1 -1
- package/out/symbol/traverse/traverse.js +1 -0
- package/out/symbol/traverse/traverse.js.map +1 -1
- package/out/symbol/traverse/types.d.ts +3 -0
- package/out/symbol/traverse/types.d.ts.map +1 -1
- package/out/symbol/utils.d.ts +5 -0
- package/out/symbol/utils.d.ts.map +1 -0
- package/out/symbol/utils.js +11 -0
- package/out/symbol/utils.js.map +1 -0
- package/package.json +5 -5
package/out/symbol/graph.d.ts
CHANGED
|
@@ -12,8 +12,10 @@ export declare class SymbolGraph implements Type.SymbolGraph {
|
|
|
12
12
|
get appId(): string;
|
|
13
13
|
addNamespace(...namespaces: Namespace[]): void;
|
|
14
14
|
getSymbols(): Symbol[];
|
|
15
|
+
getTypeSymbols(): Symbol[];
|
|
15
16
|
getNamespaces(): Namespace[];
|
|
16
17
|
getNamespaceByNode(node: SyntaxNode): Namespace | undefined;
|
|
17
18
|
getSymbolByNode(node: SyntaxNode, namespaces?: Namespace): Symbol | undefined;
|
|
19
|
+
getTypeSymbolBySymbol(symbol: Symbol, namespace?: Namespace): Symbol | undefined;
|
|
18
20
|
}
|
|
19
21
|
//# 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;
|
|
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"}
|
package/out/symbol/graph.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
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
6
|
class SymbolGraph {
|
|
6
7
|
constructor(app, options = {}) {
|
|
7
8
|
/** 作用域数据 */
|
|
@@ -23,6 +24,11 @@ class SymbolGraph {
|
|
|
23
24
|
return this.getNamespaces()
|
|
24
25
|
.reduce(((ans, item) => ans.concat(Array.from(item.getStrictLocalSymbols().values()))), []);
|
|
25
26
|
}
|
|
27
|
+
getTypeSymbols() {
|
|
28
|
+
return this.getSymbols().filter(({ declaration }) => {
|
|
29
|
+
return declaration && (0, utils_1.isTypeNode)(declaration);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
26
32
|
getNamespaces() {
|
|
27
33
|
return this.namespaces.slice();
|
|
28
34
|
}
|
|
@@ -36,16 +42,16 @@ class SymbolGraph {
|
|
|
36
42
|
}
|
|
37
43
|
let maxLen = 0;
|
|
38
44
|
let result = undefined;
|
|
39
|
-
const nodePath = node
|
|
45
|
+
const { nodePath: inputPath } = node;
|
|
40
46
|
// 搜索接近的作用域
|
|
41
47
|
rootScope.traverse((namespace) => {
|
|
42
|
-
const
|
|
48
|
+
const { nodePath: namespacePath } = namespace.node;
|
|
43
49
|
// 过滤子节点
|
|
44
|
-
if (!
|
|
45
|
-
return
|
|
50
|
+
if (!inputPath.startsWith(namespacePath)) {
|
|
51
|
+
return;
|
|
46
52
|
}
|
|
47
|
-
if (
|
|
48
|
-
maxLen =
|
|
53
|
+
if (namespacePath.length > maxLen) {
|
|
54
|
+
maxLen = namespacePath.length;
|
|
49
55
|
result = namespace;
|
|
50
56
|
}
|
|
51
57
|
});
|
|
@@ -63,6 +69,31 @@ class SymbolGraph {
|
|
|
63
69
|
}
|
|
64
70
|
return namespaces.getSymbolByToken(node.name);
|
|
65
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
|
+
}
|
|
96
|
+
}
|
|
66
97
|
}
|
|
67
98
|
exports.SymbolGraph = SymbolGraph;
|
|
68
99
|
//# sourceMappingURL=graph.js.map
|
package/out/symbol/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":";;;AAGA,yCAAsC;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../../src/symbol/graph.ts"],"names":[],"mappings":";;;AAGA,yCAAsC;AAEtC,mCAAqC;AAGrC,MAAa,WAAW;IACtB,YAAY,GAAe,EAAE,UAA8B,EAAE;QAQ7D,YAAY;QACK,eAAU,GAAgB,EAAE,CAAC;QAR5C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAA,mBAAQ,EAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/B,CAAC;IAQD,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACrB,CAAC;IAED,YAAY,CAAC,GAAG,UAAuB;QACrC,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;YAC9B,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAED,UAAU;QACR,OAAO,IAAI,CAAC,aAAa,EAAE;aACxB,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAc,CAAC,CAAC;IAC5G,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE;YAClD,OAAO,WAAW,IAAI,IAAA,kBAAU,EAAC,WAAW,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,aAAa;QACX,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED,kBAAkB,CAAC,IAAgB;QACjC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAE,CAAC;QAE/D,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,IAAI,MAAM,GAA0B,SAAS,CAAC;QAE9C,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;QAErC,WAAW;QACX,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,EAAE,EAAE;YAC/B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;YAEnD,QAAQ;YACR,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,OAAO;YACT,CAAC;YAED,IAAI,aAAa,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBAClC,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;gBAC9B,MAAM,GAAG,SAAS,CAAC;YACrB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,eAAe,CAAC,IAAgB,EAAE,UAAsB;QACtD,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO;QACT,CAAC;QAED,OAAO,UAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,qBAAqB,CAAC,MAAc,EAAE,SAAqB;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC;QAEhC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE,CAAC;YACrB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,QAAQ,GAAmB,IAAI,EAAE,gBAAgB,IAAK,IAAY,EAAE,cAAc,CAAC;QAEzF,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,IAAI,QAAQ,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;YAC/C,kBAAkB;YAClB,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAC;QAC1D,CAAC;aACI,IAAI,QAAQ,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAC3C,OAAO,IAAI;iBACR,cAAc,EAAE;iBAChB,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,GAAG,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC5F,CAAC;aACI,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YACvC,QAAQ;QACV,CAAC;IACH,CAAC;CACF;AAvHD,kCAuHC"}
|
package/out/symbol/symbol.d.ts
CHANGED
|
@@ -15,5 +15,7 @@ export declare class Symbol implements SymbolType.Symbol {
|
|
|
15
15
|
readonly semanticName?: string;
|
|
16
16
|
constructor(graph: SymbolGraph, name: string, namespace: Namespace, declaration?: SyntaxNode | undefined, isVirtual?: boolean, isExport?: boolean);
|
|
17
17
|
get isUsed(): boolean;
|
|
18
|
+
hasRef(nodePath: string): boolean;
|
|
19
|
+
hasRef(node: SyntaxNode): boolean;
|
|
18
20
|
}
|
|
19
21
|
//# sourceMappingURL=symbol.d.ts.map
|
|
@@ -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;
|
|
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"}
|
package/out/symbol/symbol.js
CHANGED
|
@@ -23,6 +23,11 @@ class Symbol {
|
|
|
23
23
|
get isUsed() {
|
|
24
24
|
return this.references.length > 0;
|
|
25
25
|
}
|
|
26
|
+
hasRef(node) {
|
|
27
|
+
return typeof node === 'string'
|
|
28
|
+
? this.references.some((ref) => ref.nodePath === node)
|
|
29
|
+
: this.references.some((ref) => ref === node);
|
|
30
|
+
}
|
|
26
31
|
}
|
|
27
32
|
exports.Symbol = Symbol;
|
|
28
33
|
//# sourceMappingURL=symbol.js.map
|
package/out/symbol/symbol.js.map
CHANGED
|
@@ -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;CACF;
|
|
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"}
|
|
@@ -9,7 +9,7 @@ const utils_1 = require("../utils");
|
|
|
9
9
|
*/
|
|
10
10
|
const traverseEntityProperty = (node, context) => {
|
|
11
11
|
// 属性添加节点
|
|
12
|
-
context.addSymbol(node.name, context.namespace, node
|
|
12
|
+
context.addSymbol(node.name, context.namespace, node);
|
|
13
13
|
// 节点定义类型
|
|
14
14
|
if (node.typeAnnotation) {
|
|
15
15
|
(0, other_1.traverseTypeAnnotation)(node.typeAnnotation, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/data-source/entity.ts"],"names":[],"mappings":";;;AAEA,oCAAqE;AACrE,oCAA8C;AAC9C,oCAAyD;AAEzD;;GAEG;AACI,MAAM,sBAAsB,GAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,SAAS;IACT,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"entity.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/data-source/entity.ts"],"names":[],"mappings":";;;AAEA,oCAAqE;AACrE,oCAA8C;AAC9C,oCAAyD;AAEzD;;GAEG;AACI,MAAM,sBAAsB,GAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,SAAS;IACT,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEtD,SAAS;IACT,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAA,8BAAsB,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,UAAU;IACV,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAA,0BAAkB,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED,SAAS;IACT,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAClD,IAAA,oBAAY,EAAC,GAAG,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACxG,CAAC;AACH,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC;AAEF;;GAEG;AACI,MAAM,cAAc,GAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5B,SAAS;IACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;IACP,IAAA,uBAAe,EAAC,yBAAiB,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAErD,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AAZW,QAAA,cAAc,kBAYzB"}
|
|
@@ -5,8 +5,8 @@ exports.traverseEnum = exports.traverseEnumItem = void 0;
|
|
|
5
5
|
* EnumItem 节点迭代
|
|
6
6
|
*/
|
|
7
7
|
const traverseEnumItem = (node, context) => {
|
|
8
|
-
if (node.
|
|
9
|
-
context.addSymbol(node.
|
|
8
|
+
if (node.value) {
|
|
9
|
+
context.addSymbol(node.getTokenKeyWithNamespace(), context.namespace, node);
|
|
10
10
|
}
|
|
11
11
|
};
|
|
12
12
|
exports.traverseEnumItem = traverseEnumItem;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/enum/enum.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACI,MAAM,gBAAgB,GAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpE,IAAI,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"enum.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/enum/enum.ts"],"names":[],"mappings":";;;AAGA;;GAEG;AACI,MAAM,gBAAgB,GAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACpE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC9E,CAAC;AACH,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B;AAEF;;GAEG;AACI,MAAM,YAAY,GAAmB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC5D,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5B,SAAS;IACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;QAClC,IAAA,wBAAgB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AATW,QAAA,YAAY,gBASvB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"identifier.d.ts","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/identifier.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG/C;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,UAAU,CAEnD,CAAC"}
|
|
@@ -6,8 +6,7 @@ const utils_1 = require("../../utils");
|
|
|
6
6
|
* Identifier 节点迭代
|
|
7
7
|
*/
|
|
8
8
|
const traverseIdentifier = (node, { namespace }) => {
|
|
9
|
-
|
|
10
|
-
(0, utils_1.addSymbolRef)(tokenName, node, namespace, '标识符');
|
|
9
|
+
(0, utils_1.addSymbolRef)(node.getTokenKeyWithNamespace(), node, namespace, '标识符');
|
|
11
10
|
};
|
|
12
11
|
exports.traverseIdentifier = traverseIdentifier;
|
|
13
12
|
//# sourceMappingURL=identifier.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/identifier.ts"],"names":[],"mappings":";;;AAEA,uCAA2C;AAE3C;;GAEG;AACI,MAAM,kBAAkB,GAAyB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,
|
|
1
|
+
{"version":3,"file":"identifier.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/identifier.ts"],"names":[],"mappings":";;;AAEA,uCAA2C;AAE3C;;GAEG;AACI,MAAM,kBAAkB,GAAyB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;IAC9E,IAAA,oBAAY,EAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACxE,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B"}
|
|
@@ -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;
|
|
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,12 +1,48 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.traverseMemberExpression = void 0;
|
|
4
|
-
const
|
|
4
|
+
const utils_1 = require("../../utils");
|
|
5
5
|
/**
|
|
6
6
|
* MemberExpression 节点迭代
|
|
7
7
|
*/
|
|
8
|
-
const traverseMemberExpression = (node,
|
|
9
|
-
(
|
|
8
|
+
const traverseMemberExpression = (node, { namespace, symbolGraph }) => {
|
|
9
|
+
function getRealType(symbol) {
|
|
10
|
+
const { declaration } = symbol;
|
|
11
|
+
if (!declaration) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const typeNode = declaration.__TypeAnnotation ?? declaration.typeAnnotation;
|
|
15
|
+
if (typeNode?.typeKind === 'reference') {
|
|
16
|
+
const token = `${typeNode.typeNamespace}.${typeNode.typeName}`;
|
|
17
|
+
return symbolGraph.getTypeSymbols().find((item) => item.semanticName === token);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
return symbol;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
function getMemberExpressionType(member) {
|
|
24
|
+
let refTypeSymbol = undefined;
|
|
25
|
+
const { object, property } = member;
|
|
26
|
+
if (!object || !property) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
if (object.concept === 'MemberExpression') {
|
|
30
|
+
refTypeSymbol = getMemberExpressionType(object);
|
|
31
|
+
}
|
|
32
|
+
else if (object.concept === 'Identifier') {
|
|
33
|
+
const refSymbol = (0, utils_1.addSymbolRef)(object.getTokenKeyWithNamespace(), object, namespace, '标识符');
|
|
34
|
+
refTypeSymbol = refSymbol ? symbolGraph.getTypeSymbolBySymbol(refSymbol, namespace) : undefined;
|
|
35
|
+
}
|
|
36
|
+
if (!refTypeSymbol) {
|
|
37
|
+
return;
|
|
38
|
+
}
|
|
39
|
+
// 匿名数据结构符号没有 semanticName 字段,所以用 name 代替
|
|
40
|
+
const subTypeToken = `${refTypeSymbol.semanticName ?? refTypeSymbol.name}.${property.name}`;
|
|
41
|
+
const subTypeSymbol = (0, utils_1.addSymbolRef)(subTypeToken, member, namespace, '属性访问');
|
|
42
|
+
const realTypeSymbol = subTypeSymbol ? getRealType(subTypeSymbol) : undefined;
|
|
43
|
+
return realTypeSymbol;
|
|
44
|
+
}
|
|
45
|
+
getMemberExpressionType(node);
|
|
10
46
|
};
|
|
11
47
|
exports.traverseMemberExpression = traverseMemberExpression;
|
|
12
48
|
//# sourceMappingURL=member-expression.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"member-expression.js","sourceRoot":"","sources":["../../../../../../src/symbol/traverse/concepts/logic/expression/member-expression.ts"],"names":[],"mappings":";;;
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"logic.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/logic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AA0C5C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,KAAK,GAAG,aAAa,GAAG,eAAe,CAK3E,CAAC;AAEF,eAAO,MAAM,qBAAqB,EAAE,QAAQ,CAAC,KAAK,GAAG,aAAa,GAAG,eAAe,CAKnF,CAAC"}
|
|
@@ -4,11 +4,21 @@ exports.traverseLogicNoExport = exports.traverseLogic = void 0;
|
|
|
4
4
|
const variable_1 = require("./variable");
|
|
5
5
|
const statement_1 = require("./statement");
|
|
6
6
|
const addSymbolLogic = (node, context) => {
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
const ignoreProps = context.getIgnoreProps(node.concept);
|
|
8
|
+
if (!ignoreProps.params) {
|
|
9
|
+
for (const param of node.params) {
|
|
10
|
+
(0, variable_1.traverseVariable)(param, context);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
if (!ignoreProps.returns) {
|
|
14
|
+
for (const returnVal of node.returns) {
|
|
15
|
+
(0, variable_1.traverseVariable)(returnVal, context);
|
|
16
|
+
}
|
|
9
17
|
}
|
|
10
|
-
|
|
11
|
-
(
|
|
18
|
+
if (!ignoreProps.variables) {
|
|
19
|
+
for (const variable of node.variables) {
|
|
20
|
+
(0, variable_1.traverseVariable)(variable, context);
|
|
21
|
+
}
|
|
12
22
|
}
|
|
13
23
|
};
|
|
14
24
|
const recursionLogic = (node, context) => {
|
|
@@ -18,6 +28,11 @@ const recursionLogic = (node, context) => {
|
|
|
18
28
|
(0, statement_1.traverseStatement)(item, context);
|
|
19
29
|
}
|
|
20
30
|
}
|
|
31
|
+
if (!ignoreProps.playground) {
|
|
32
|
+
for (const item of node.playground) {
|
|
33
|
+
(0, statement_1.traverseStatement)(item, context);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
21
36
|
};
|
|
22
37
|
/**
|
|
23
38
|
* Logic 节点迭代
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/logic.ts"],"names":[],"mappings":";;;AAEA,yCAA8C;AAC9C,2CAAgD;AAEhD,MAAM,cAAc,GAAsD,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1F,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"logic.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/logic/logic.ts"],"names":[],"mappings":";;;AAEA,yCAA8C;AAC9C,2CAAgD;AAEhD,MAAM,cAAc,GAAsD,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChC,IAAA,2BAAgB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACrC,IAAA,2BAAgB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;QAC3B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACtC,IAAA,2BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED,MAAM,cAAc,GAAsD,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAC1F,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAEzD,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC7B,IAAA,6BAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,IAAA,6BAAiB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;AACH,CAAC,CAAA;AAED;;GAEG;AACI,MAAM,aAAa,GAAsD,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChG,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,aAAa,iBAKxB;AAEK,MAAM,qBAAqB,GAAsD,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACxG,OAAO,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AALW,QAAA,qBAAqB,yBAKhC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAM5C,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CA2BlD,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,QAAQ,CAAC,SAAS,CAyBlD,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAKjD,CAAC"}
|
|
@@ -5,9 +5,8 @@ const logic_1 = require("../logic");
|
|
|
5
5
|
const structure_1 = require("../structure");
|
|
6
6
|
const logic_2 = require("../logic");
|
|
7
7
|
const enum_1 = require("../enum");
|
|
8
|
-
// import { traverseEntityProp } from './entity-property';
|
|
9
8
|
const addSymbolNamespace = (node, context) => {
|
|
10
|
-
const { namespace, addSymbolWithScope } = context;
|
|
9
|
+
const { namespace, addSymbol, addSymbolWithScope } = context;
|
|
11
10
|
// 逻辑
|
|
12
11
|
for (const logic of node.logics) {
|
|
13
12
|
addSymbolWithScope(logic.name, namespace, logic);
|
|
@@ -22,7 +21,7 @@ const addSymbolNamespace = (node, context) => {
|
|
|
22
21
|
}
|
|
23
22
|
// 接口
|
|
24
23
|
for (const interfaceItem of node.interfaces) {
|
|
25
|
-
|
|
24
|
+
addSymbol(interfaceItem.name, namespace, interfaceItem);
|
|
26
25
|
}
|
|
27
26
|
// 子命名空间
|
|
28
27
|
for (const child of node.children) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/namespace.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"namespace.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/namespace.ts"],"names":[],"mappings":";;;AAEA,oCAAyC;AACzC,4CAAiD;AACjD,oCAA6C;AAC7C,kCAAuC;AAEhC,MAAM,kBAAkB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAE7D,KAAK;IACL,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,UAAU;IACV,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,kBAAkB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK;IACL,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IACzD,CAAC;IAED,KAAK;IACL,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,QAAQ;IACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAA,0BAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;AACH,CAAC,CAAA;AA3BY,QAAA,kBAAkB,sBA2B9B;AAEM,MAAM,kBAAkB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACvE,SAAS;IACT,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChC,IAAA,qBAAa,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAChC,CAAC;IAED,OAAO;IACP,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACxC,IAAA,6BAAiB,EAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;IACP,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QAClC,IAAA,mBAAY,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,QAAQ;IACR,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClC,IAAA,0BAAkB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,KAAK;IACL,KAAK,MAAM,aAAa,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QAC5C,IAAA,yBAAiB,EAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;AACH,CAAC,CAAA;AAzBY,QAAA,kBAAkB,sBAyB9B;AAED;;GAEG;AACI,MAAM,iBAAiB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAC5B,IAAA,0BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,IAAA,0BAAkB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC;AALW,QAAA,iBAAiB,qBAK5B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-annotation.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/type-annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiC5C;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"type-annotation.d.ts","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/type-annotation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAiC5C;;GAEG;AACH,eAAO,MAAM,sBAAsB,EAAE,QAAQ,CAAC,cAAc,CAgC3D,CAAC"}
|
|
@@ -56,9 +56,13 @@ const traverseTypeAnnotation = (node, context) => {
|
|
|
56
56
|
(0, utils_1.addSymbolRef)(`${node.typeNamespace}.${node.typeName}`, node, context.namespace, getMessage(node.typeNamespace ?? ''));
|
|
57
57
|
}
|
|
58
58
|
else if (node.typeKind === 'anonymousStructure') {
|
|
59
|
+
// 匿名数据结构需要就地声明符号
|
|
60
|
+
context.addSymbolWithScope(node.getTokenKeyWithNamespace(), context.namespace, node, false);
|
|
61
|
+
context.pushNamespace(node);
|
|
59
62
|
for (const prop of node.properties ?? []) {
|
|
60
63
|
(0, structure_1.traverseStructureProperty)(prop, context);
|
|
61
64
|
}
|
|
65
|
+
context.popNamespace();
|
|
62
66
|
}
|
|
63
67
|
};
|
|
64
68
|
exports.traverseTypeAnnotation = traverseTypeAnnotation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-annotation.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/type-annotation.ts"],"names":[],"mappings":";;;AAEA,oCAAwC;AACxC,4CAAyD;AAEzD,SAAS,UAAU,CAAC,SAAiB;IACnC,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,MAAM,sBAAsB,GAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,QAAQ;IACR,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,SAAS;IACT,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvC,IAAA,oBAAY,EAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACxH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAChD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACzC,IAAA,qCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;
|
|
1
|
+
{"version":3,"file":"type-annotation.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/other/type-annotation.ts"],"names":[],"mappings":";;;AAEA,oCAAwC;AACxC,4CAAyD;AAEzD,SAAS,UAAU,CAAC,SAAiB;IACnC,IAAI,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACpD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;SACI,IAAI,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC7C,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACI,MAAM,sBAAsB,GAA6B,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IAChF,QAAQ;IACR,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO;IACT,CAAC;IAED,SAAS;IACT,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QAClC,OAAO;IACT,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,aAAa,IAAI,EAAE,EAAE,CAAC;YAC5C,IAAA,8BAAsB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACvC,IAAA,oBAAY,EAAC,GAAG,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACxH,CAAC;SACI,IAAI,IAAI,CAAC,QAAQ,KAAK,oBAAoB,EAAE,CAAC;QAChD,iBAAiB;QACjB,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAC5F,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;YACzC,IAAA,qCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,CAAC,YAAY,EAAE,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAhCW,QAAA,sBAAsB,0BAgCjC"}
|
|
@@ -8,7 +8,7 @@ const expression_1 = require("../logic/expression");
|
|
|
8
8
|
*/
|
|
9
9
|
const traverseStructureProperty = (node, context) => {
|
|
10
10
|
// 属性添加节点
|
|
11
|
-
context.addSymbol(node.name, context.namespace, node
|
|
11
|
+
context.addSymbol(node.name, context.namespace, node);
|
|
12
12
|
// 节点定义类型
|
|
13
13
|
if (node.typeAnnotation) {
|
|
14
14
|
(0, type_annotation_1.traverseTypeAnnotation)(node.typeAnnotation, context);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/structure/structure.ts"],"names":[],"mappings":";;;AAEA,8DAAkE;AAClE,oDAAyD;AAEzD;;GAEG;AACI,MAAM,yBAAyB,GAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtF,SAAS;IACT,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"structure.js","sourceRoot":"","sources":["../../../../../src/symbol/traverse/concepts/structure/structure.ts"],"names":[],"mappings":";;;AAEA,8DAAkE;AAClE,oDAAyD;AAEzD;;GAEG;AACI,MAAM,yBAAyB,GAAgC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtF,SAAS;IACT,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAEtD,SAAS;IACT,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,IAAA,wCAAsB,EAAC,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IAED,UAAU;IACV,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,IAAA,+BAAkB,EAAC,IAAI,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAbW,QAAA,yBAAyB,6BAapC;AAEF;;GAEG;AACI,MAAM,iBAAiB,GAAwB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;IACtE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5B,SAAS;IACT,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACnC,IAAA,iCAAyB,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,OAAO,CAAC,YAAY,EAAE,CAAC;AACzB,CAAC,CAAC;AATW,QAAA,iBAAiB,qBAS5B"}
|
|
@@ -13,5 +13,5 @@ export declare function TraverseVirtual<T extends SyntaxNode>(cb: Traverse<T>):
|
|
|
13
13
|
/**
|
|
14
14
|
* 记录令牌引用
|
|
15
15
|
*/
|
|
16
|
-
export declare function addSymbolRef(token: string | Symbol, node: SyntaxNode, namespace: Namespace, message: string):
|
|
16
|
+
export declare function addSymbolRef(token: string | Symbol, node: SyntaxNode, namespace: Namespace, message: string): Symbol | undefined;
|
|
17
17
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/symbol/traverse/concepts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,QAAoC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAQlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/symbol/traverse/concepts/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,QAAoC,CAAC;AAEjE;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAQlF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,sBAkB3G"}
|
|
@@ -29,7 +29,12 @@ function addSymbolRef(token, node, namespace, message) {
|
|
|
29
29
|
// TODO: 未定义的符号错误
|
|
30
30
|
return;
|
|
31
31
|
}
|
|
32
|
+
// 跳过实体对自身的引用
|
|
33
|
+
if (symbol.declaration?.concept === 'Entity' && symbol.naslName && node.nodePath.indexOf(symbol.naslName) >= 0) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
32
36
|
symbol.references.push(node);
|
|
37
|
+
return symbol;
|
|
33
38
|
}
|
|
34
39
|
exports.addSymbolRef = addSymbolRef;
|
|
35
40
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/symbol/traverse/concepts/utils.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACI,MAAM,aAAa,GAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAApD,QAAA,aAAa,iBAAuC;AAEjE;;GAEG;AACH,SAAgB,eAAe,CAAuB,EAAe;IACnE,MAAM,QAAQ,GAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,0CAQC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAsB,EAAE,IAAgB,EAAE,SAAoB,EAAE,OAAe;IAC1G,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;QACtC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,iBAAiB;QACjB,OAAO;IACT,CAAC;IAED,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/symbol/traverse/concepts/utils.ts"],"names":[],"mappings":";;;AAKA;;GAEG;AACI,MAAM,aAAa,GAAa,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;AAApD,QAAA,aAAa,iBAAuC;AAEjE;;GAEG;AACH,SAAgB,eAAe,CAAuB,EAAe;IACnE,MAAM,QAAQ,GAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;QAC9C,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;QACzB,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAClB,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC;IAC5B,CAAC,CAAC;IAEF,OAAO,QAAQ,CAAC;AAClB,CAAC;AARD,0CAQC;AAED;;GAEG;AACH,SAAgB,YAAY,CAAC,KAAsB,EAAE,IAAgB,EAAE,SAAoB,EAAE,OAAe;IAC1G,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ;QACtC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC;QACnC,CAAC,CAAC,KAAK,CAAC;IAEV,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,iBAAiB;QACjB,OAAO;IACT,CAAC;IAED,aAAa;IACb,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/G,OAAO;IACT,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAlBD,oCAkBC"}
|
|
@@ -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,
|
|
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"}
|
|
@@ -10,6 +10,7 @@ function traverse(node, symbolGraph, options) {
|
|
|
10
10
|
const nodeSymbolMap = new Map();
|
|
11
11
|
const nodeNamespaceMap = new Map();
|
|
12
12
|
const context = {
|
|
13
|
+
symbolGraph,
|
|
13
14
|
pushNamespace(node, isExport = true) {
|
|
14
15
|
const currentScope = scopeStack[scopeStack.length - 1];
|
|
15
16
|
const oldNamespace = node && nodeNamespaceMap.get(node);
|
|
@@ -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,4 +1,5 @@
|
|
|
1
1
|
import type { Namespace } from '../namespace';
|
|
2
|
+
import type { SymbolGraph } from '../graph';
|
|
2
3
|
import type { SyntaxNode, SyntaxNodeConcept } from '@lcap/nasl-concepts';
|
|
3
4
|
export interface Context {
|
|
4
5
|
/** 当前命名空间 */
|
|
@@ -7,6 +8,8 @@ export interface Context {
|
|
|
7
8
|
globalNamespace: Namespace;
|
|
8
9
|
/** 当前子树是否是虚拟的 */
|
|
9
10
|
isVirtual: boolean;
|
|
11
|
+
/** 符号表 */
|
|
12
|
+
symbolGraph: SymbolGraph;
|
|
10
13
|
/** 获取忽略属性 */
|
|
11
14
|
getIgnoreProps(concept: string): Readonly<Record<string, boolean>>;
|
|
12
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/symbol/traverse/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/symbol/traverse/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAEzE,MAAM,WAAW,OAAO;IACtB,aAAa;IACb,SAAS,EAAE,SAAS,CAAC;IACrB,aAAa;IACb,eAAe,EAAE,SAAS,CAAC;IAC3B,iBAAiB;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU;IACV,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa;IACb,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE;;;;;OAKG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1G;;;;OAIG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAClG,YAAY;IACZ,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC1D,aAAa;IACb,YAAY,IAAI,IAAI,CAAC;CACtB;AAED,MAAM,MAAM,QAAQ,CAAC,IAAI,SAAS,UAAU,GAAG,UAAU,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;AACpG,MAAM,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isTypeNode = void 0;
|
|
4
|
+
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
5
|
+
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));
|
|
9
|
+
}
|
|
10
|
+
exports.isTypeNode = isTypeNode;
|
|
11
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +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"}
|
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-
|
|
4
|
+
"version": "3.13.1-rc.10",
|
|
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-
|
|
18
|
-
"@lcap/nasl-
|
|
19
|
-
"@lcap/nasl-utils": "3.13.1-
|
|
17
|
+
"@lcap/nasl-types": "3.13.1-rc.10",
|
|
18
|
+
"@lcap/nasl-concepts": "3.13.1-rc.10",
|
|
19
|
+
"@lcap/nasl-utils": "3.13.1-rc.10"
|
|
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-
|
|
29
|
+
"@lcap/nasl-translator": "3.13.1-rc.10",
|
|
30
30
|
"@lcap/nasl-tsconfig": "1.0.1"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|