@lcap/nasl-language-server-core 4.3.0-beta.1 → 4.3.0-beta.4
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/checker.d.ts +6 -0
- package/out/checker.d.ts.map +1 -1
- package/out/checker.js +24 -3
- package/out/checker.js.map +1 -1
- package/out/index.d.ts +1 -0
- package/out/index.d.ts.map +1 -1
- package/out/index.js +1 -0
- package/out/index.js.map +1 -1
- package/out/reference-manager/build-q-name-def.d.ts.map +1 -1
- package/out/reference-manager/build-q-name-def.js +0 -9
- package/out/reference-manager/build-q-name-def.js.map +1 -1
- package/out/reference-manager/builtin-q-name.d.ts.map +1 -1
- package/out/reference-manager/builtin-q-name.js +1 -5
- package/out/reference-manager/builtin-q-name.js.map +1 -1
- package/out/reference-manager/reference-manager.d.ts.map +1 -1
- package/out/reference-manager/reference-manager.js +4 -1
- package/out/reference-manager/reference-manager.js.map +1 -1
- package/out/reference-manager/symbol-type.d.ts +1 -1
- package/out/reference-manager/symbol-type.d.ts.map +1 -1
- package/out/reference-manager/symbol-type.js.map +1 -1
- package/out/typer/collectGlobalDefs.d.ts.map +1 -1
- package/out/typer/collectGlobalDefs.js +3 -1
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/component-def-manager/utils.d.ts.map +1 -1
- package/out/typer/component-def-manager/utils.js +4 -2
- package/out/typer/component-def-manager/utils.js.map +1 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +177 -26
- package/out/typer/dispatch-call.js.map +1 -1
- package/out/typer/dispatch-def.d.ts.map +1 -1
- package/out/typer/dispatch-def.js +6 -2
- package/out/typer/dispatch-def.js.map +1 -1
- package/out/typer/dispatch-expr.d.ts +4 -2
- package/out/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +111 -18
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-stmt.d.ts.map +1 -1
- package/out/typer/dispatch-stmt.js +1 -0
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/dispatch-view.js +1 -1
- package/out/typer/dispatch-view.js.map +1 -1
- package/out/typer/oql-checker/chain-call-transformer.d.ts +21 -0
- package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -0
- package/out/typer/oql-checker/chain-call-transformer.js +150 -0
- package/out/typer/oql-checker/chain-call-transformer.js.map +1 -0
- package/out/typer/oql-checker/ts-parser.d.ts +46 -0
- package/out/typer/oql-checker/ts-parser.d.ts.map +1 -0
- package/out/typer/oql-checker/ts-parser.js +706 -0
- package/out/typer/oql-checker/ts-parser.js.map +1 -0
- package/out/typer/oql-checker/ts-printer.d.ts +3 -0
- package/out/typer/oql-checker/ts-printer.d.ts.map +1 -0
- package/out/typer/oql-checker/ts-printer.js +37 -0
- package/out/typer/oql-checker/ts-printer.js.map +1 -0
- package/out/typer/overload-helper.d.ts +17 -6
- package/out/typer/overload-helper.d.ts.map +1 -1
- package/out/typer/overload-helper.js +393 -76
- package/out/typer/overload-helper.js.map +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +70 -2
- package/out/typer/subster.js.map +1 -1
- package/out/typer/type-manager.js +4 -4
- package/out/typer/type-manager.js.map +1 -1
- package/out/typer/type-predicate.d.ts +9 -0
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +14 -1
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +13 -3
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +21 -5
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +4 -5
- package/out/typer/unifier.js.map +1 -1
- package/out/utils/debug.d.ts +6 -0
- package/out/utils/debug.d.ts.map +1 -0
- package/out/utils/debug.js +62 -0
- package/out/utils/debug.js.map +1 -0
- package/out/utils/file-node-cache.d.ts.map +1 -1
- package/out/utils/file-node-cache.js +4 -1
- package/out/utils/file-node-cache.js.map +1 -1
- package/out/utils/internal-tuple.d.ts +2 -0
- package/out/utils/internal-tuple.d.ts.map +1 -0
- package/out/utils/internal-tuple.js +29 -0
- package/out/utils/internal-tuple.js.map +1 -0
- package/out/utils/parseTsClassType.d.ts +1 -5
- package/out/utils/parseTsClassType.d.ts.map +1 -1
- package/out/utils/parseTsClassType.js +103 -66
- package/out/utils/parseTsClassType.js.map +1 -1
- package/out/utils/type-operator.d.ts +29 -1
- package/out/utils/type-operator.d.ts.map +1 -1
- package/out/utils/type-operator.js +181 -1
- package/out/utils/type-operator.js.map +1 -1
- package/out/utils/type-operators/CheckUniqueKeys.d.ts +15 -0
- package/out/utils/type-operators/CheckUniqueKeys.d.ts.map +1 -0
- package/out/utils/type-operators/CheckUniqueKeys.js +86 -0
- package/out/utils/type-operators/CheckUniqueKeys.js.map +1 -0
- package/package.json +12 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file-node-cache.js","sourceRoot":"","sources":["../../src/utils/file-node-cache.ts"],"names":[],"mappings":";;;AACA,yDAAyE;AAEzE,kBAAkB;AAClB,IAAI,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,EAAc;IAChE,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAA,oCAA0B,EAAC,EAAE,CAAC,CAAC;QAC5C,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"file-node-cache.js","sourceRoot":"","sources":["../../src/utils/file-node-cache.ts"],"names":[],"mappings":";;;AACA,yDAAyE;AAEzE,kBAAkB;AAClB,IAAI,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AAEvD;;;;GAIG;AACH,SAAgB,mCAAmC,CAAC,EAAc;IAChE,IAAI,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,UAAU,GAAG,IAAA,oCAA0B,EAAC,EAAE,CAAC,CAAC;QAC5C,YAAY;QACZ,IAAI,EAAE,EAAE,CAAC;YACP,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAVD,kFAUC;AAED;;GAEG;AACH,SAAgB,kBAAkB;IAChC,kCAAkC;IAClC,qBAAqB;IACrB,aAAa,GAAG,IAAI,OAAO,EAAuB,CAAC;AACrD,CAAC;AAJD,gDAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-tuple.d.ts","sourceRoot":"","sources":["../../src/utils/internal-tuple.ts"],"names":[],"mappings":"AAmCA,eAAO,MAAM,uBAAuB,WAAY,MAAM,KAAG,MAAkC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createInternalArrayCode = void 0;
|
|
4
|
+
const toType = (i) => `T${i}`;
|
|
5
|
+
const toVariable = (i) => `t${i}: T${i}`;
|
|
6
|
+
const fillBy = (callback, length) => {
|
|
7
|
+
const result = [];
|
|
8
|
+
for (let i = 0; i < length; i += 1) {
|
|
9
|
+
result.push(callback(i));
|
|
10
|
+
}
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
const joinBy = (callback, length, seperator = '\n') => {
|
|
14
|
+
const result = fillBy(callback, length);
|
|
15
|
+
return result.join(seperator);
|
|
16
|
+
};
|
|
17
|
+
const join = (index) => {
|
|
18
|
+
const types = joinBy(toType, index, ',');
|
|
19
|
+
const variables = joinBy(toVariable, index, ',');
|
|
20
|
+
const name = `function $InternalTuple${index}`;
|
|
21
|
+
const tuple = `nasl.core.InternalTupleType`;
|
|
22
|
+
if (index === 0) {
|
|
23
|
+
return `export ${name}(): ${tuple}<undefined>;`;
|
|
24
|
+
}
|
|
25
|
+
return `export ${name}<${types}>(${variables}): ${tuple}<${types}>;`;
|
|
26
|
+
};
|
|
27
|
+
const createInternalArrayCode = (length) => joinBy(join, length + 1);
|
|
28
|
+
exports.createInternalArrayCode = createInternalArrayCode;
|
|
29
|
+
//# sourceMappingURL=internal-tuple.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal-tuple.js","sourceRoot":"","sources":["../../src/utils/internal-tuple.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAa,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;AACxC,MAAM,UAAU,GAAa,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;AAEnD,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAY,EAAE;IAC9D,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,MAAM,GAAG,CAAC,QAAkB,EAAE,MAAc,EAAE,YAAoB,IAAI,EAAU,EAAE;IACtF,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAExC,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAChC,CAAC,CAAC;AAEF,MAAM,IAAI,GAAa,CAAC,KAAK,EAAE,EAAE;IAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAEjD,MAAM,IAAI,GAAG,0BAA0B,KAAK,EAAE,CAAC;IAC/C,MAAM,KAAK,GAAG,6BAA6B,CAAC;IAE5C,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,UAAU,IAAI,OAAO,KAAK,cAAc,CAAA;IACjD,CAAC;IAED,OAAO,UAAU,IAAI,IAAI,KAAK,KAAK,SAAS,MAAM,KAAK,IAAI,KAAK,IAAI,CAAC;AACvE,CAAC,CAAC;AAEK,MAAM,uBAAuB,GAAG,CAAC,MAAc,EAAU,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;AAA/E,QAAA,uBAAuB,2BAAwD"}
|
|
@@ -19,8 +19,7 @@ export declare const parseTsClassesToNaslStructsAndLogics: (tsNode: ts.Node) =>
|
|
|
19
19
|
Array<{
|
|
20
20
|
name: string;
|
|
21
21
|
typeAnnotation: TypeAnnotation;
|
|
22
|
-
}
|
|
23
|
-
Map<string, Array<TypeAnnotation>>
|
|
22
|
+
}>
|
|
24
23
|
];
|
|
25
24
|
export declare const simpleCreateFnTyFromLogic: (nd: Logic) => TypeAnnotation;
|
|
26
25
|
export declare const parseTsTypeWithoutNsp: (prevTps: Array<string>) => (tsTypeNode: ts.TypeNode | ts.TypeParameterDeclaration | undefined) => TypeAnnotation | undefined;
|
|
@@ -28,7 +27,4 @@ export declare function tryParsePrimitiveTyStr(ty: string, tyNd?: ts.TypeNode):
|
|
|
28
27
|
export declare const createLogicFromTsNode: (nsp: string, tsNode: ts.FunctionDeclaration) => Logic;
|
|
29
28
|
export declare const getTypeParamsFromTsNode: (prevTps: Array<string>) => (node: ts.FunctionDeclaration | ts.FunctionTypeNode | ts.ClassDeclaration | ts.MethodDeclaration) => Array<TypeParam>;
|
|
30
29
|
export declare const enumBuiltinFns: string[];
|
|
31
|
-
export declare const overloadedBuiltinFns: string[];
|
|
32
|
-
export declare const overloadedSqlFns: string[];
|
|
33
|
-
export declare const overloadedFns: string[];
|
|
34
30
|
//# sourceMappingURL=parseTsClassType.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqB9H;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,
|
|
1
|
+
{"version":3,"file":"parseTsClassType.d.ts","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,KAAK,EAAiB,SAAS,EAAqB,cAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAqB9H;;;;;;GAMG;AACH,eAAO,MAAM,WAAW,QAEhB,MAAM,eAKC,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAoQnB,CAAC;AAWR;;GAEG;AACH,eAAO,MAAM,0BAA0B,WAAY,OAAO,gBAsFzD,CAAC;AAOF,eAAO,MAAM,oCAAoC,WAAY,OAAO,KAAG;IAAC,MAAM,SAAS,CAAC;IAAE,MAAM,KAAK,CAAC;IAAE,MAAM,QAAQ,CAAC;IAAE,MAAM;QAC7H,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,cAAc,CAAC;KAChC,CAAC;CAqJD,CAAC;AAEF,eAAO,MAAM,yBAAyB,OAAQ,KAAK,mBAYlD,CAAC;AAIF,eAAO,MAAM,qBAAqB,YA7hBnB,MAAM,MAAM,CAAC,kBAGR,GAAG,QAAQ,GAAG,GAAG,wBAAwB,GAAG,SAAS,KAChE,cAAc,GAAG,SAyhB0B,CAAC;AAGrD,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,QAAQ,GAAG,cAAc,GAAG,SAAS,CAmCjG;AAwBD,eAAO,MAAM,qBAAqB,QAAS,MAAM,UAAU,GAAG,mBAAmB,KAAG,KAgDnF,CAAC;AAEF,eAAO,MAAM,uBAAuB,YACxB,MAAM,MAAM,CAAC,YACd,GAAG,mBAAmB,GAAG,GAAG,gBAAgB,GAAG,GAAG,gBAAgB,GAAG,GAAG,iBAAiB,KAAG,MAAM,SAAS,CAYjH,CAAC;AAIN,eAAO,MAAM,cAAc,UAAwE,CAAC"}
|
|
@@ -23,7 +23,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
23
23
|
return result;
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.
|
|
26
|
+
exports.enumBuiltinFns = exports.getTypeParamsFromTsNode = exports.createLogicFromTsNode = exports.tryParsePrimitiveTyStr = exports.parseTsTypeWithoutNsp = exports.simpleCreateFnTyFromLogic = exports.parseTsClassesToNaslStructsAndLogics = exports.parseTsClassesToNaslStruct = exports.parseTsType = void 0;
|
|
27
27
|
const ts = __importStar(require("typescript"));
|
|
28
28
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
29
29
|
const fp_macros_1 = require("../utils/fp-macros");
|
|
@@ -111,7 +111,7 @@ prevTps) => (tsTypeNode) => {
|
|
|
111
111
|
ty.indexType = indexType;
|
|
112
112
|
return ty;
|
|
113
113
|
}
|
|
114
|
-
// (item : T) => R
|
|
114
|
+
// <S>(item : T) => R
|
|
115
115
|
if (ts.isFunctionTypeNode(tsTypeNode)) {
|
|
116
116
|
// typeParameters
|
|
117
117
|
const newTyParams = (0, exports.getTypeParamsFromTsNode)(prevTps)(tsTypeNode).filter(types_1.isNotNil);
|
|
@@ -119,13 +119,16 @@ prevTps) => (tsTypeNode) => {
|
|
|
119
119
|
const allTyParamNames = prevTps.concat(newTyParamNames);
|
|
120
120
|
const paramTys = tsTypeNode.parameters
|
|
121
121
|
.map((param) => {
|
|
122
|
+
const spread = param.dotDotDotToken !== undefined;
|
|
123
|
+
const paramName = param.name.getText();
|
|
122
124
|
if ((0, types_1.isNotNil)(param.type)) {
|
|
123
125
|
const pType = parseTsTypeWithFixedNsp(allTyParamNames)(param.type);
|
|
124
|
-
|
|
125
|
-
return { type: pType ?? type_manager_1.naslAnyTy, name: paramName };
|
|
126
|
+
return { type: pType ?? type_manager_1.naslAnyTy, name: paramName, spread };
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
-
|
|
128
|
+
else {
|
|
129
|
+
return { type: type_manager_1.naslAnyTy, name: paramName, spread };
|
|
130
|
+
}
|
|
131
|
+
});
|
|
129
132
|
const retTy = parseTsTypeWithFixedNsp(allTyParamNames)(tsTypeNode.type);
|
|
130
133
|
if (!retTy) {
|
|
131
134
|
throw new Error('parseTsType failed for retTy');
|
|
@@ -193,6 +196,20 @@ prevTps) => (tsTypeNode) => {
|
|
|
193
196
|
}
|
|
194
197
|
// T<K, V>
|
|
195
198
|
if (ts.isTypeReferenceNode(tsTypeNode)) {
|
|
199
|
+
// 首先检查是否为类型参数(即使不在prevTps中,也可能是当前函数的类型参数)
|
|
200
|
+
const typeName = ts.isQualifiedName(tsTypeNode.typeName) ?
|
|
201
|
+
tsTypeNode.typeName.right.getText() :
|
|
202
|
+
tsTypeNode.typeName.getText();
|
|
203
|
+
// 如果是简单标识符且没有类型参数,检查是否为类型参数
|
|
204
|
+
if (!ts.isQualifiedName(tsTypeNode.typeName) && !tsTypeNode.typeArguments) {
|
|
205
|
+
// 只有在明确的类型参数上下文中才识别为类型参数
|
|
206
|
+
if (prevTps.includes(typeName)) {
|
|
207
|
+
return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
208
|
+
typeName: typeName,
|
|
209
|
+
typeKind: 'typeParam',
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
}
|
|
196
213
|
const naslTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
197
214
|
typeKind: 'reference',
|
|
198
215
|
});
|
|
@@ -202,7 +219,7 @@ prevTps) => (tsTypeNode) => {
|
|
|
202
219
|
naslTy.typeNamespace = tsTypeNode.typeName.left.getText();
|
|
203
220
|
}
|
|
204
221
|
else {
|
|
205
|
-
naslTy.typeName =
|
|
222
|
+
naslTy.typeName = typeName;
|
|
206
223
|
naslTy.typeNamespace = nsp;
|
|
207
224
|
}
|
|
208
225
|
if (tsTypeNode.typeArguments) {
|
|
@@ -241,6 +258,35 @@ prevTps) => (tsTypeNode) => {
|
|
|
241
258
|
const elemTy = parseTsTypeWithFixedNsp(prevTps)(tsTypeNode.elementType);
|
|
242
259
|
return (0, type_manager_1.createListTyAnn)(elemTy ?? type_manager_1.naslAnyTy);
|
|
243
260
|
}
|
|
261
|
+
// 元组类型 [T, U, V]
|
|
262
|
+
if (ts.isTupleTypeNode(tsTypeNode)) {
|
|
263
|
+
const elementTypes = tsTypeNode.elements.map(element => {
|
|
264
|
+
// 处理可选元素和剩余元素
|
|
265
|
+
if (ts.isOptionalTypeNode(element)) {
|
|
266
|
+
// 忽略optional标记
|
|
267
|
+
return parseTsTypeWithFixedNsp(prevTps)(element.type);
|
|
268
|
+
}
|
|
269
|
+
else if (ts.isRestTypeNode(element)) {
|
|
270
|
+
// 剩余元素(...)解释为 InternalSpreadTupleType
|
|
271
|
+
const innerType = parseTsTypeWithFixedNsp(prevTps)(element.type);
|
|
272
|
+
return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
273
|
+
typeName: 'InternalSpreadTupleType',
|
|
274
|
+
typeNamespace: 'nasl.core',
|
|
275
|
+
typeKind: 'generic',
|
|
276
|
+
typeArguments: innerType ? [innerType] : [],
|
|
277
|
+
});
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
return parseTsTypeWithFixedNsp(prevTps)(element);
|
|
281
|
+
}
|
|
282
|
+
}).filter(types_1.isNotNil);
|
|
283
|
+
return nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
284
|
+
typeName: 'InternalTupleType',
|
|
285
|
+
typeNamespace: 'nasl.core',
|
|
286
|
+
typeKind: 'generic',
|
|
287
|
+
typeArguments: elementTypes,
|
|
288
|
+
});
|
|
289
|
+
}
|
|
244
290
|
// FIXME wudengke 目前没有设计如何将never嵌入到nasl的类型系统中。可以先忽略
|
|
245
291
|
// console.debug(`parseTsType 无法解析 ${tsTypeNode.getText()}`);
|
|
246
292
|
return undefined;
|
|
@@ -248,11 +294,9 @@ prevTps) => (tsTypeNode) => {
|
|
|
248
294
|
exports.parseTsType = parseTsType;
|
|
249
295
|
// 获取 nasl.xxx 的命名空间。没有办法,找不到任何可以用的 ts.isNamespaceDeclaration 或者 syntax kind
|
|
250
296
|
const getNamespace = (str) => {
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
return res1;
|
|
255
|
-
}
|
|
297
|
+
const re = /declare\s+namespace\s+([^\s{;]+)/;
|
|
298
|
+
const m = re.exec(str);
|
|
299
|
+
return m ? m[1] : undefined;
|
|
256
300
|
};
|
|
257
301
|
// Note: using side effect to push result to the res array due to Ts only provides forEachChild but not mapEachChild method
|
|
258
302
|
/**
|
|
@@ -294,25 +338,33 @@ const parseTsClassesToNaslStruct = (tsNode) => {
|
|
|
294
338
|
}
|
|
295
339
|
else if (ts.isMethodDeclaration(member) && member.name && ts.isIdentifier(member.name)) {
|
|
296
340
|
const propertyName = member.name.getText();
|
|
341
|
+
// 先收集方法的类型参数
|
|
342
|
+
const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
|
|
343
|
+
const methodTypeParamNames = typeParams.map(tp => tp.name).filter(types_1.isNotNil);
|
|
344
|
+
const allTypeParamNames = tyParamInScope.concat(methodTypeParamNames);
|
|
297
345
|
const paramTys = member.parameters.map((param) => {
|
|
298
346
|
(0, assertion_1.assertTrusy)(param.type);
|
|
299
|
-
const pType = parseWithNsp(
|
|
347
|
+
const pType = parseWithNsp(allTypeParamNames)(param.type);
|
|
300
348
|
(0, assertion_1.assertTrusy)(pType);
|
|
301
|
-
|
|
349
|
+
// 检查是否为spread参数
|
|
350
|
+
const isSpread = param.dotDotDotToken !== undefined;
|
|
351
|
+
return { type: pType, name: param.name.getText(), spread: isSpread };
|
|
302
352
|
});
|
|
303
|
-
const typeParams = member.typeParameters?.map((param) => {
|
|
304
|
-
const pType = parseWithNsp(tyParamInScope)(param);
|
|
305
|
-
(0, assertion_1.assertTrusy)(pType);
|
|
306
|
-
return pType;
|
|
307
|
-
}) ?? [];
|
|
308
353
|
(0, assertion_1.assertTrusy)(member.type);
|
|
309
|
-
const retTy = parseWithNsp(
|
|
354
|
+
const retTy = parseWithNsp(allTypeParamNames)(member.type);
|
|
310
355
|
(0, assertion_1.assertTrusy)(retTy);
|
|
311
356
|
const funcTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
312
357
|
typeKind: 'function',
|
|
313
|
-
typeArguments: paramTys.map(x =>
|
|
358
|
+
typeArguments: paramTys.map((x) => {
|
|
359
|
+
// 将spread属性传递给typeArguments中的类型
|
|
360
|
+
const argType = x.type;
|
|
361
|
+
if (x.spread) {
|
|
362
|
+
argType.spread = true;
|
|
363
|
+
}
|
|
364
|
+
return argType;
|
|
365
|
+
}),
|
|
314
366
|
fnArgs: paramTys,
|
|
315
|
-
typeParams,
|
|
367
|
+
typeParams: typeParams.map(type_manager_1.tyParam2TyAnn),
|
|
316
368
|
returnType: [retTy],
|
|
317
369
|
});
|
|
318
370
|
struct.properties.push(nasl_concepts_1.StructureProperty.createProtoTypeOnly({
|
|
@@ -332,6 +384,8 @@ exports.parseTsClassesToNaslStruct = parseTsClassesToNaslStruct;
|
|
|
332
384
|
// Note: using side effect to push result to the res array due to Ts only provides forEachChild but not mapEachChild method
|
|
333
385
|
// 最长调用的入口函数
|
|
334
386
|
const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
|
|
387
|
+
// Register overload signatures for later resolution
|
|
388
|
+
// Note: import placed at top-level of module
|
|
335
389
|
const nsp = getNamespace(tsNode.getText());
|
|
336
390
|
const parseWithNsp = (0, exports.parseTsType)(nsp);
|
|
337
391
|
const resS = [];
|
|
@@ -339,9 +393,8 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
|
|
|
339
393
|
const resV = [];
|
|
340
394
|
const resA = [];
|
|
341
395
|
// Build overload parameter types cache during parsing
|
|
342
|
-
const overloadCache = new Map();
|
|
343
396
|
__parse(tsNode);
|
|
344
|
-
return [resS, resL, resV, resA
|
|
397
|
+
return [resS, resL, resV, resA];
|
|
345
398
|
function __parse(tsNode) {
|
|
346
399
|
if (ts.isClassDeclaration(tsNode) && tsNode.name) {
|
|
347
400
|
const structNsp = `${nsp}.${tsNode.name.getText()}`;
|
|
@@ -371,19 +424,31 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
|
|
|
371
424
|
} // 除了 UI 好像不太有 method decl,先不动了
|
|
372
425
|
else if (ts.isMethodDeclaration(member) && member.name && ts.isIdentifier(member.name)) {
|
|
373
426
|
const propertyName = member.name.getText();
|
|
427
|
+
// 先收集方法的类型参数
|
|
428
|
+
const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
|
|
429
|
+
const methodTypeParamNames = typeParams.map(tp => tp.name).filter(types_1.isNotNil);
|
|
430
|
+
const allTypeParamNames = tyParamInScope.concat(methodTypeParamNames);
|
|
374
431
|
const paramTys = member.parameters.map((param) => {
|
|
375
432
|
(0, assertion_1.assertTrusy)(param.type);
|
|
376
|
-
const pType = parseWithNsp(
|
|
433
|
+
const pType = parseWithNsp(allTypeParamNames)(param.type);
|
|
377
434
|
(0, assertion_1.assertTrusy)(pType);
|
|
378
|
-
|
|
435
|
+
// 检查是否为spread参数
|
|
436
|
+
const isSpread = param.dotDotDotToken !== undefined;
|
|
437
|
+
return { type: pType, name: param.name.getText(), spread: isSpread };
|
|
379
438
|
});
|
|
380
|
-
const typeParams = (0, exports.getTypeParamsFromTsNode)(tyParamInScope)(member) ?? [];
|
|
381
439
|
(0, assertion_1.assertTrusy)(member.type);
|
|
382
|
-
const retTy = parseWithNsp(
|
|
440
|
+
const retTy = parseWithNsp(allTypeParamNames)(member.type);
|
|
383
441
|
(0, assertion_1.assertTrusy)(retTy);
|
|
384
442
|
const funcTy = nasl_concepts_1.TypeAnnotation.createProtoTypeOnly({
|
|
385
443
|
typeKind: 'function',
|
|
386
|
-
typeArguments: paramTys.map((x) =>
|
|
444
|
+
typeArguments: paramTys.map((x) => {
|
|
445
|
+
// 将spread属性传递给typeArguments中的类型
|
|
446
|
+
const argType = x.type;
|
|
447
|
+
if (x.spread) {
|
|
448
|
+
argType.spread = true;
|
|
449
|
+
}
|
|
450
|
+
return argType;
|
|
451
|
+
}),
|
|
387
452
|
fnArgs: paramTys,
|
|
388
453
|
typeParams: typeParams.map(type_manager_1.tyParam2TyAnn),
|
|
389
454
|
returnType: [retTy],
|
|
@@ -404,31 +469,11 @@ const parseTsClassesToNaslStructsAndLogics = (tsNode) => {
|
|
|
404
469
|
}
|
|
405
470
|
const lgc = (0, exports.createLogicFromTsNode)(nsp ?? '', tsNode);
|
|
406
471
|
let funcTy = (0, exports.simpleCreateFnTyFromLogic)(lgc);
|
|
407
|
-
|
|
408
|
-
if (!funcTy.typeArguments) {
|
|
409
|
-
throw new Error('Cannot get type arguments of Logic ' + funcName);
|
|
410
|
-
}
|
|
411
|
-
// Build overload cache while processing overloaded functions
|
|
412
|
-
const paramIdx = (0, overload_helper_1.getOvParamIdx)(funcName);
|
|
413
|
-
if (paramIdx !== undefined && funcTy.typeArguments[paramIdx]) {
|
|
414
|
-
const cacheKey = `${nsp}.${funcName}`;
|
|
415
|
-
if (!overloadCache.has(cacheKey)) {
|
|
416
|
-
overloadCache.set(cacheKey, []);
|
|
417
|
-
}
|
|
418
|
-
const paramTypes = overloadCache.get(cacheKey);
|
|
419
|
-
const paramType = funcTy.typeArguments[paramIdx];
|
|
420
|
-
// Avoid duplicates by checking if type already exists
|
|
421
|
-
const exists = paramTypes.some(existingType => existingType.typeKind === paramType.typeKind &&
|
|
422
|
-
existingType.typeName === paramType.typeName &&
|
|
423
|
-
existingType.literal === paramType.literal);
|
|
424
|
-
if (!exists) {
|
|
425
|
-
paramTypes.push(paramType);
|
|
426
|
-
}
|
|
427
|
-
}
|
|
428
|
-
funcName = (0, overload_helper_1.mangleOvFnName)(funcName, funcTy.typeArguments[(0, overload_helper_1.getOvParamIdx)(funcName)]);
|
|
429
|
-
}
|
|
472
|
+
// Normalize special/builtin signatures (e.g., Convert returns T instead of <T>() => T) before registering
|
|
430
473
|
funcTy = reshapeBuiltinTys(funcName, funcTy);
|
|
431
|
-
|
|
474
|
+
// Register this signature under the base (unmangled) name for overload resolution
|
|
475
|
+
(0, overload_helper_1.registerOverloadSignature)(nsp ?? '', funcName, funcTy.typeArguments ?? [], funcTy.returnType?.[0] ?? type_manager_1.naslVoidTy, funcTy.typeParams ?? []);
|
|
476
|
+
funcName = `${nsp}.${funcName}`; // 已经加了 namespace(base name only for overloaded functions)
|
|
432
477
|
// 暂时这样挂上去
|
|
433
478
|
lgc.__TypeAnnotation = funcTy;
|
|
434
479
|
lgc.name = funcName;
|
|
@@ -467,7 +512,7 @@ const simpleCreateFnTyFromLogic = (nd) => {
|
|
|
467
512
|
typeKind: 'function',
|
|
468
513
|
typeArguments: nd.params.map((p) => p.typeAnnotation ?? type_manager_1.naslAnyTy),
|
|
469
514
|
fnArgs: nd.params.map((p) => {
|
|
470
|
-
return { type: p.typeAnnotation ?? type_manager_1.naslAnyTy, name: p.name };
|
|
515
|
+
return { type: p.typeAnnotation ?? type_manager_1.naslAnyTy, name: p.name, spread: p.spread };
|
|
471
516
|
}),
|
|
472
517
|
typeParams: nd.typeParams?.map(type_manager_1.tyParam2TyAnn),
|
|
473
518
|
returnType: nd.returns[0] ? [nd.returns[0].typeAnnotation ?? type_manager_1.naslAnyTy] : [],
|
|
@@ -512,21 +557,16 @@ function tryParsePrimitiveTyStr(ty, tyNd) {
|
|
|
512
557
|
else if (ty === 'boolean') {
|
|
513
558
|
return type_manager_1.naslBooleanTy;
|
|
514
559
|
}
|
|
560
|
+
else if (ty === 'number') {
|
|
561
|
+
return (0, type_manager_1.createPrimitiveTyAnn)('Decimal');
|
|
562
|
+
}
|
|
515
563
|
return undefined;
|
|
516
564
|
}
|
|
517
565
|
exports.tryParsePrimitiveTyStr = tryParsePrimitiveTyStr;
|
|
518
566
|
// 对奇葩签名进行重整形
|
|
519
567
|
function reshapeBuiltinTys(fnName, ty) {
|
|
520
568
|
switch (fnName) {
|
|
521
|
-
case '
|
|
522
|
-
case 'ConvertDecimal':
|
|
523
|
-
case 'ConvertBinary':
|
|
524
|
-
case 'ConvertString':
|
|
525
|
-
case 'ConvertDate':
|
|
526
|
-
case 'ConvertTime':
|
|
527
|
-
case 'ConvertDateTime':
|
|
528
|
-
case 'ConvertBoolean':
|
|
529
|
-
case 'Convertany': // Any any null object Object 都转成了 any
|
|
569
|
+
case 'Convert':
|
|
530
570
|
case 'FromString': {
|
|
531
571
|
// Convert、FromString 调用的时候是 Convert<T>(arg) 形式,所以要给签名解析出来的结果 Convert(): <T>(arg: string) => T 再改改
|
|
532
572
|
ty.typeParams = ty.returnType[0].typeParams;
|
|
@@ -601,7 +641,4 @@ const getTypeParamsFromTsNode = (prevTps) => (node) => {
|
|
|
601
641
|
exports.getTypeParamsFromTsNode = getTypeParamsFromTsNode;
|
|
602
642
|
// 特殊处理一下好了,省得更麻烦
|
|
603
643
|
exports.enumBuiltinFns = ['EnumToList', 'EnumItemToText', 'ToEnumItem', 'EnumItemToStructure'];
|
|
604
|
-
exports.overloadedBuiltinFns = ['Convert', 'Length'];
|
|
605
|
-
exports.overloadedSqlFns = ['CAST', 'MAX', 'MIN', 'SUM', 'LAST_DAY', 'ADD_MONTHS'];
|
|
606
|
-
exports.overloadedFns = [...exports.overloadedBuiltinFns, ...exports.overloadedSqlFns];
|
|
607
644
|
//# sourceMappingURL=parseTsClassType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseTsClassType.js","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parseTsClassType.js","sourceRoot":"","sources":["../../src/utils/parseTsClassType.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { TypeAnnotation } from '@lcap/nasl-concepts';
|
|
2
2
|
import { type SemEnv } from '../typer/typer';
|
|
3
|
+
export { applyCheckUniqueKeys } from './type-operators/CheckUniqueKeys';
|
|
3
4
|
type TypeMapper = (ty: TypeAnnotation | undefined) => TypeAnnotation;
|
|
4
5
|
/**
|
|
5
6
|
* 输入 DataSourceLike 类型,返回其对应的 Item 类型
|
|
@@ -24,6 +25,33 @@ export declare function typePick(env: SemEnv, obj: TypeAnnotation, index: TypeAn
|
|
|
24
25
|
export declare const NaslCoreBinaryOperator: {
|
|
25
26
|
add: string;
|
|
26
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* 处理 InternalTupleType 的类型替换
|
|
30
|
+
* @param env 语义环境
|
|
31
|
+
* @param ty InternalTupleType 类型
|
|
32
|
+
* @param pSubst 类型替换函数
|
|
33
|
+
* @returns 处理后的类型
|
|
34
|
+
*/
|
|
35
|
+
export declare function applyInternalTupleType(env: SemEnv, ty: TypeAnnotation, pSubst: TypeMapper): TypeAnnotation;
|
|
27
36
|
export declare function selectBinaryOverload(env: SemEnv, functionName: string, leftTy: TypeAnnotation, rightTy: TypeAnnotation): TypeAnnotation;
|
|
28
|
-
|
|
37
|
+
/**
|
|
38
|
+
* 处理 InternalMergeType 类型操作符
|
|
39
|
+
* 将多个匿名结构类型合并为一个新的匿名结构类型
|
|
40
|
+
*
|
|
41
|
+
* @param env 语义环境
|
|
42
|
+
* @param ty InternalMergeType 类型
|
|
43
|
+
* @param pSubst 类型替换函数
|
|
44
|
+
* @returns 合并后的类型或原类型
|
|
45
|
+
*/
|
|
46
|
+
export declare function applyInternalMergeType(env: SemEnv, ty: TypeAnnotation, pSubst: TypeMapper): TypeAnnotation;
|
|
47
|
+
/**
|
|
48
|
+
* 处理 InternalGetQueryResult 类型操作符
|
|
49
|
+
* 替代原来的 TuplifyUnion 和 GetFinalType 逻辑
|
|
50
|
+
*
|
|
51
|
+
* @param env 语义环境
|
|
52
|
+
* @param ty InternalGetQueryResult 类型
|
|
53
|
+
* @param pSubst 类型替换函数
|
|
54
|
+
* @returns 处理后的类型
|
|
55
|
+
*/
|
|
56
|
+
export declare function applyInternalGetQueryResult(env: SemEnv, ty: TypeAnnotation, isNoList: boolean, pSubst: TypeMapper): TypeAnnotation;
|
|
29
57
|
//# sourceMappingURL=type-operator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-operator.d.ts","sourceRoot":"","sources":["../../src/utils/type-operator.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"type-operator.d.ts","sourceRoot":"","sources":["../../src/utils/type-operator.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAuB7B,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAM7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE,KAAK,UAAU,GAAG,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,CAAC;AAErE;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,kBAgEpF;AAID,wBAAgB,+BAA+B,CAAC,aAAa,EAAE,cAAc,kBAE5E;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,cAAc,EACrB,MAAM,EAAE,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,GACzD,cAAc,GAAG,SAAS,CAuC5B;AAED,eAAO,MAAM,sBAAsB;;CAElC,CAAC;AASF;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,UAAU,GACjB,cAAc,CAkChB;AAED,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,cAAc,kBAiBxB;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,MAAM,EAAE,UAAU,GACjB,cAAc,CAuEhB;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CACzC,GAAG,EAAE,MAAM,EACX,EAAE,EAAE,cAAc,EAClB,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,UAAU,GACjB,cAAc,CAkDhB"}
|