@lcap/nasl-language-server-core 4.4.0-beta.3 → 4.4.0-beta.30
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 +4 -1
- package/out/checker.d.ts.map +1 -1
- package/out/checker.js +996 -96
- package/out/checker.js.map +1 -1
- package/out/index.d.ts +1 -1
- package/out/index.d.ts.map +1 -1
- package/out/index.js +5 -3
- 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 +11 -0
- package/out/reference-manager/build-q-name-def.js.map +1 -1
- package/out/reference-manager/builtin-q-name.js +2 -2
- package/out/reference-manager/builtin-q-name.js.map +1 -1
- package/out/reference-manager/collect-q-name.d.ts +1 -1
- package/out/reference-manager/collect-q-name.d.ts.map +1 -1
- package/out/reference-manager/collect-q-name.js +64 -27
- package/out/reference-manager/collect-q-name.js.map +1 -1
- package/out/reference-manager/def-key-helpers.d.ts +38 -0
- package/out/reference-manager/def-key-helpers.d.ts.map +1 -0
- package/out/reference-manager/{get-q-name.js → def-key-helpers.js} +195 -23
- package/out/reference-manager/def-key-helpers.js.map +1 -0
- package/out/reference-manager/helper.js +2 -2
- package/out/reference-manager/helper.js.map +1 -1
- package/out/reference-manager/reference-manager.d.ts +146 -47
- package/out/reference-manager/reference-manager.d.ts.map +1 -1
- package/out/reference-manager/reference-manager.js +632 -204
- package/out/reference-manager/reference-manager.js.map +1 -1
- package/out/reference-manager/remove-q-name.d.ts +1 -1
- package/out/reference-manager/remove-q-name.d.ts.map +1 -1
- package/out/reference-manager/remove-q-name.js +14 -14
- package/out/reference-manager/remove-q-name.js.map +1 -1
- package/out/reference-manager/rename-q-name.d.ts +26 -26
- package/out/reference-manager/rename-q-name.d.ts.map +1 -1
- package/out/reference-manager/rename-q-name.js +48 -167
- package/out/reference-manager/rename-q-name.js.map +1 -1
- package/out/reference-manager/symbol-type.d.ts +8 -3
- package/out/reference-manager/symbol-type.d.ts.map +1 -1
- package/out/reference-manager/symbol-type.js +9 -2
- package/out/reference-manager/symbol-type.js.map +1 -1
- package/out/reference-manager/update-nasl-fragment.d.ts +2 -2
- package/out/reference-manager/update-nasl-fragment.d.ts.map +1 -1
- package/out/reference-manager/update-nasl-fragment.js +33 -28
- package/out/reference-manager/update-nasl-fragment.js.map +1 -1
- package/out/services/bindable-logic-service.js.map +1 -1
- package/out/symbol/traverse/concepts/index.d.ts +1 -1
- package/out/symbol/traverse/concepts/index.d.ts.map +1 -1
- package/out/symbol/traverse/concepts/logic/expression/member-expression.js.map +1 -1
- package/out/typer/collectGlobalDefs.d.ts +8 -0
- package/out/typer/collectGlobalDefs.d.ts.map +1 -1
- package/out/typer/collectGlobalDefs.js +102 -54
- package/out/typer/collectGlobalDefs.js.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.d.ts +16 -0
- package/out/typer/component-def-manager/component-def-manager.d.ts.map +1 -1
- package/out/typer/component-def-manager/component-def-manager.js +63 -2
- package/out/typer/component-def-manager/component-def-manager.js.map +1 -1
- package/out/typer/component-def-manager/utils.d.ts.map +1 -1
- package/out/typer/component-def-manager/utils.js +26 -0
- package/out/typer/component-def-manager/utils.js.map +1 -1
- package/out/typer/dispatch-all.d.ts +3 -1
- package/out/typer/dispatch-all.d.ts.map +1 -1
- package/out/typer/dispatch-all.js +51 -6
- package/out/typer/dispatch-all.js.map +1 -1
- package/out/typer/dispatch-call.d.ts +27 -1
- package/out/typer/dispatch-call.d.ts.map +1 -1
- package/out/typer/dispatch-call.js +151 -107
- 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 +51 -23
- package/out/typer/dispatch-def.js.map +1 -1
- package/out/typer/dispatch-expr.d.ts +2 -1
- package/out/typer/dispatch-expr.d.ts.map +1 -1
- package/out/typer/dispatch-expr.js +240 -199
- package/out/typer/dispatch-expr.js.map +1 -1
- package/out/typer/dispatch-process.d.ts +8 -1
- package/out/typer/dispatch-process.d.ts.map +1 -1
- package/out/typer/dispatch-process.js +37 -4
- package/out/typer/dispatch-process.js.map +1 -1
- package/out/typer/dispatch-stmt.d.ts.map +1 -1
- package/out/typer/dispatch-stmt.js +39 -25
- package/out/typer/dispatch-stmt.js.map +1 -1
- package/out/typer/dispatch-view.d.ts +1 -1
- package/out/typer/dispatch-view.d.ts.map +1 -1
- package/out/typer/dispatch-view.js +87 -48
- package/out/typer/dispatch-view.js.map +1 -1
- package/out/typer/fix-use-before-assign.js.map +1 -1
- package/out/typer/get-oql-files.d.ts.map +1 -1
- package/out/typer/get-oql-files.js +3 -9
- package/out/typer/get-oql-files.js.map +1 -1
- package/out/typer/incremental-update.d.ts +14 -7
- package/out/typer/incremental-update.d.ts.map +1 -1
- package/out/typer/incremental-update.js +396 -43
- package/out/typer/incremental-update.js.map +1 -1
- package/out/typer/oql-checker/chain-call-transformer.d.ts.map +1 -1
- package/out/typer/oql-checker/chain-call-transformer.js +17 -4
- package/out/typer/oql-checker/chain-call-transformer.js.map +1 -1
- package/out/typer/oql-checker/ts-parser.d.ts.map +1 -1
- package/out/typer/oql-checker/ts-parser.js +252 -37
- package/out/typer/oql-checker/ts-parser.js.map +1 -1
- package/out/typer/overload-helper.d.ts.map +1 -1
- package/out/typer/overload-helper.js +190 -23
- package/out/typer/overload-helper.js.map +1 -1
- package/out/typer/solver.d.ts +8 -9
- package/out/typer/solver.d.ts.map +1 -1
- package/out/typer/solver.js +54 -31
- package/out/typer/solver.js.map +1 -1
- package/out/typer/subster.d.ts +1 -1
- package/out/typer/subster.d.ts.map +1 -1
- package/out/typer/subster.js +251 -57
- package/out/typer/subster.js.map +1 -1
- package/out/typer/topo-sort.d.ts +38 -0
- package/out/typer/topo-sort.d.ts.map +1 -1
- package/out/typer/topo-sort.js +272 -3
- package/out/typer/topo-sort.js.map +1 -1
- package/out/typer/type-manager.d.ts +1 -0
- package/out/typer/type-manager.d.ts.map +1 -1
- package/out/typer/type-manager.js +14 -11
- package/out/typer/type-manager.js.map +1 -1
- package/out/typer/type-predicate.d.ts +1 -0
- package/out/typer/type-predicate.d.ts.map +1 -1
- package/out/typer/type-predicate.js +83 -14
- package/out/typer/type-predicate.js.map +1 -1
- package/out/typer/typer.d.ts +51 -6
- package/out/typer/typer.d.ts.map +1 -1
- package/out/typer/typer.js +248 -46
- package/out/typer/typer.js.map +1 -1
- package/out/typer/unifier.d.ts +12 -1
- package/out/typer/unifier.d.ts.map +1 -1
- package/out/typer/unifier.js +110 -37
- package/out/typer/unifier.js.map +1 -1
- package/out/utils/debug.js.map +1 -1
- package/out/utils/type-operator.d.ts +15 -0
- package/out/utils/type-operator.d.ts.map +1 -1
- package/out/utils/type-operator.js +65 -3
- package/out/utils/type-operator.js.map +1 -1
- package/package.json +6 -6
- package/out/reference-manager/get-q-name.d.ts +0 -9
- package/out/reference-manager/get-q-name.d.ts.map +0 -1
- package/out/reference-manager/get-q-name.js.map +0 -1
- package/out/reference-manager/view-elem-logic.d.ts +0 -44
- package/out/reference-manager/view-elem-logic.d.ts.map +0 -1
- package/out/reference-manager/view-elem-logic.js +0 -164
- package/out/reference-manager/view-elem-logic.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ts-parser.js","sourceRoot":"","sources":["../../../src/typer/oql-checker/ts-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overload-helper.d.ts","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAa,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"overload-helper.d.ts","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,YAAY,EAAiB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAE7F,OAAO,EAAa,MAAM,EAAE,KAAK,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAuBpE,eAAO,MAAM,yBAAyB,cACvB,MAAM,QACX,MAAM,WACJ,cAAc,EAAE,QACnB,cAAc,eACN,cAAc,EAAE,SAyChC,CAAC;AAEF,eAAO,MAAM,sBAAsB,cAAe,MAAM,QAAQ,MAAM,KAAG,iBAAiB,EAEzF,CAAC;AAGF,eAAO,MAAM,oBAAoB,cAAe,MAAM,QAAQ,MAAM,KAAG,OAEtE,CAAC;AAgDF,eAAO,MAAM,4BAA4B,eAAgB,iBAAiB,EAAE,KAAG,MA0B9E,CAAC;AAEF,eAAO,MAAM,2BAA2B,cAAe,MAAM,QAAQ,MAAM,KAAG,MACL,CAAC;AA8T1E,KAAK,qBAAqB,GAAG;IAAE,KAAK,EAAE,cAAc,GAAG,SAAS,CAAC;IAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtI,eAAO,MAAM,yBAAyB,EAAE,CACpC,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,cAAc,EAAE,EACxB,QAAQ,CAAC,EAAE,cAAc,EAAE,KAC1B,qBAgHA,CAAC;AAKN,eAAO,MAAM,yBAAyB,QAAS,MAAM,MAAM,YAAY,GAAG,SAAS,aAAa,OAAO,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,KAAG,MAAM,cAAc,CAqB/J,CAAA;AAGD;;GAEG;AACH,eAAO,MAAM,yBAAyB,eAAgB,MAAM,aAAa,MAAM,aAAa,MAAM,KAAG,GAWpG,CAAA;AAOD,eAAO,MAAM,qBAAqB,UAAW,MAAM,mBAKjD,CAAC;AAGH,eAAO,MAAM,uBAAuB,UAAW,MAAM,mBAKnD,CAAC"}
|
|
@@ -4,13 +4,21 @@ exports.createStringLiteralType = exports.createCastLiteralType = exports.create
|
|
|
4
4
|
const nasl_concepts_1 = require("@lcap/nasl-concepts");
|
|
5
5
|
const typer_1 = require("./typer");
|
|
6
6
|
const subster_1 = require("./subster");
|
|
7
|
-
const type_predicate_1 = require("./type-predicate");
|
|
8
7
|
const type_manager_1 = require("./type-manager");
|
|
8
|
+
const type_predicate_1 = require("./type-predicate");
|
|
9
|
+
const type_manager_2 = require("./type-manager");
|
|
10
|
+
const def_key_helpers_1 = require("../reference-manager/def-key-helpers");
|
|
9
11
|
// ---- General overload registry and resolution ----
|
|
12
|
+
// Penalty constants for overload resolution
|
|
13
|
+
const UNION_PENALTY = 0.1; // Penalty for matching union types (both param and arg unions)
|
|
14
|
+
const ENUM_MATCH_PENALTY = 10; // Penalty for matching enum through its valueType
|
|
15
|
+
// Set to a large value (>5) to ensure it has lower priority than:
|
|
16
|
+
// - Generic type parameter matching (penalty 2)
|
|
17
|
+
// - Any type matching (penalty 5)
|
|
10
18
|
// Helpers to read signature components from unified fn (single source of truth)
|
|
11
19
|
const getSigParams = (sig) => sig.fn.typeArguments ?? [];
|
|
12
20
|
const getSigRet = (sig) => sig.fn.returnType?.[0];
|
|
13
|
-
const registerOverloadSignature = (namespace, name, params = [], ret =
|
|
21
|
+
const registerOverloadSignature = (namespace, name, params = [], ret = type_manager_2.naslAnyTy, typeParams) => {
|
|
14
22
|
// Normalize special cases to avoid storing <T>()=>T shapes
|
|
15
23
|
if (name === 'Convert' || name === 'FromString') {
|
|
16
24
|
if (ret && ret.typeKind === 'function' && Array.isArray(ret.returnType) && ret.returnType[0]) {
|
|
@@ -71,6 +79,20 @@ const shallowTyEqual = (a, b) => {
|
|
|
71
79
|
// For reference/generic etc. compare type name + namespace only
|
|
72
80
|
return a.typeName === b.typeName && a.typeNamespace === b.typeNamespace;
|
|
73
81
|
};
|
|
82
|
+
// 参数类型与实参类型的“接近度”:2=同类型,1=兼容(子类型或均数值),0=不接近。用于强制返回时的 tie-break。
|
|
83
|
+
const paramArgCloseness = (env, arg, param) => {
|
|
84
|
+
if (!arg || !param)
|
|
85
|
+
return 0;
|
|
86
|
+
if (shallowTyEqual(arg, param) || (0, type_predicate_1.isEqualTy)(env, arg, param))
|
|
87
|
+
return 2;
|
|
88
|
+
if ((0, type_predicate_1.isSubTy)(env, arg, param) || (0, type_predicate_1.isSubTy)(env, param, arg))
|
|
89
|
+
return 1;
|
|
90
|
+
const argNumeric = (0, type_predicate_1.isDecimalTy)(arg) || (0, type_predicate_1.isLongTy)(arg) || (0, type_predicate_1.isDecimalUnionLongTy)(arg);
|
|
91
|
+
const paramNumeric = (0, type_predicate_1.isDecimalTy)(param) || (0, type_predicate_1.isLongTy)(param) || (0, type_predicate_1.isDecimalUnionLongTy)(param);
|
|
92
|
+
if (argNumeric && paramNumeric)
|
|
93
|
+
return 1;
|
|
94
|
+
return 0;
|
|
95
|
+
};
|
|
74
96
|
// Find the parameter position that best discriminates overloads:
|
|
75
97
|
// choose the index with the highest number of distinct shallow types; tie-break by preferring indices
|
|
76
98
|
// that contain literal types; finally choose the smallest index deterministically.
|
|
@@ -117,7 +139,8 @@ const getTypeParamConstraint = (sig, tpName) => {
|
|
|
117
139
|
return found?.constraints;
|
|
118
140
|
};
|
|
119
141
|
// Determine if arg fits parameter and compute simple score
|
|
120
|
-
|
|
142
|
+
// Internal implementation with cycle detection for enum types
|
|
143
|
+
const matchArgToParamInternal = (env, sig, arg, param, visitedEnums = new Set()) => {
|
|
121
144
|
if ((0, type_predicate_1.isUnionTy)(arg)) {
|
|
122
145
|
arg = (0, typer_1.normalize)(env, arg);
|
|
123
146
|
}
|
|
@@ -134,7 +157,13 @@ const matchArgToParam = (env, sig, arg, param) => {
|
|
|
134
157
|
// heavy penalty so specific overloads are preferred when available
|
|
135
158
|
return { ok: true, exact: (0, type_predicate_1.isAnyTy)(arg), penalty: 5 };
|
|
136
159
|
}
|
|
160
|
+
// Check if arg is any - this should match any param type (except literal)
|
|
161
|
+
// This must come before checking param types, because any can match any concrete type
|
|
162
|
+
if ((0, type_predicate_1.isAnyTy)(arg)) {
|
|
163
|
+
return { ok: true, exact: (0, type_predicate_1.isAnyTy)(param), penalty: 5 };
|
|
164
|
+
}
|
|
137
165
|
// Generic type parameter (e.g., T) accepts any type, subject to optional constraints
|
|
166
|
+
// This check must come before enum matching to ensure generics have higher priority
|
|
138
167
|
if (param.typeKind === 'typeParam') {
|
|
139
168
|
const constraint = getTypeParamConstraint(sig, param.typeName);
|
|
140
169
|
if (constraint) {
|
|
@@ -147,9 +176,16 @@ const matchArgToParam = (env, sig, arg, param) => {
|
|
|
147
176
|
}
|
|
148
177
|
// Union: ok if any member matches
|
|
149
178
|
if ((0, type_predicate_1.isUnionTy)(param)) {
|
|
179
|
+
// 如果实参类型和参数类型完全一致(双向子类型关系),则认为是精确匹配
|
|
180
|
+
// 这允许 Decimal | Long 匹配 Decimal | Long 时,优先于 Decimal 匹配 Decimal | Long
|
|
181
|
+
// 注意:只有当 arg 也是 union 时才进行精确匹配检查,避免单个类型(如 Decimal)被误判为与 union(如 Decimal | Long)相等
|
|
182
|
+
// 因为 isNumericImplicitCast 中的 HACK 会让 Decimal | Long 被视为 Decimal 的子类型
|
|
183
|
+
if ((0, type_predicate_1.isUnionTy)(arg) && (0, type_predicate_1.isEqualTy)(env, arg, param)) {
|
|
184
|
+
return { ok: true, exact: true, penalty: 0 };
|
|
185
|
+
}
|
|
150
186
|
let best = { ok: false, exact: false, penalty: Number.MAX_SAFE_INTEGER };
|
|
151
187
|
for (const m of unionMembers(param)) {
|
|
152
|
-
const res =
|
|
188
|
+
const res = matchArgToParamInternal(env, sig, arg, m, visitedEnums);
|
|
153
189
|
if (res.ok) {
|
|
154
190
|
if (!best.ok || res.penalty < best.penalty || (res.penalty === best.penalty && res.exact)) {
|
|
155
191
|
best = res;
|
|
@@ -162,13 +198,93 @@ const matchArgToParam = (env, sig, arg, param) => {
|
|
|
162
198
|
// widening(1), generic(2), any(5). This reduces ambiguous ties while preserving expected
|
|
163
199
|
// behavior: concrete exact matches still win, and exact member matches inside a union win
|
|
164
200
|
// over candidates that require a widening conversion.
|
|
165
|
-
const UNION_PENALTY = 0.1;
|
|
166
201
|
return best.ok ? { ok: true, exact: false, penalty: best.penalty + UNION_PENALTY } : { ok: false, exact: false, penalty: 0 };
|
|
167
202
|
}
|
|
203
|
+
/**
|
|
204
|
+
* 数值 union 类型参数(如 Decimal | Long)的特殊处理
|
|
205
|
+
* 允许数值 union 类型匹配具体数值类型,但需要所有成员都能匹配目标类型
|
|
206
|
+
* 这符合类型安全的规则:如果参数可能是 Long 或 Decimal,那么只有当所有可能的值都能匹配目标类型时,才认为匹配成功
|
|
207
|
+
* 例如:Decimal | Long 可以匹配 Decimal(因为 Long 可以转换为 Decimal),但不能匹配 Long(因为 Decimal 不能转换为 Long)
|
|
208
|
+
* 注意:只针对数值 union 类型,不影响其他类型的 union 匹配
|
|
209
|
+
* 例子:重载函数SUM
|
|
210
|
+
* A: function SUM(value: nasl.core.Long): nasl.core.Long;
|
|
211
|
+
* B: function SUM(value: nasl.core.Decimal): nasl.core.Decimal;
|
|
212
|
+
* let a: Decimal | Long;
|
|
213
|
+
* SUM(a);
|
|
214
|
+
* 可以匹配到函数B
|
|
215
|
+
*/
|
|
216
|
+
if ((0, type_predicate_1.isDecimalUnionLongTy)(arg)) {
|
|
217
|
+
let best = { ok: false, exact: false, penalty: Number.MAX_SAFE_INTEGER };
|
|
218
|
+
let allMatch = true;
|
|
219
|
+
for (const m of unionMembers(arg)) {
|
|
220
|
+
const res = matchArgToParamInternal(env, sig, m, param, visitedEnums);
|
|
221
|
+
if (res.ok) {
|
|
222
|
+
// 记录最好的匹配(penalty 最小的)
|
|
223
|
+
if (!best.ok || res.penalty < best.penalty || (res.penalty === best.penalty && res.exact)) {
|
|
224
|
+
best = res;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
else {
|
|
228
|
+
// 如果有任何一个成员不能匹配,则整个 union 不能匹配
|
|
229
|
+
allMatch = false;
|
|
230
|
+
break;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
// 只有当 union 的所有成员都能匹配参数类型时,才认为匹配成功
|
|
234
|
+
// 选择最好的匹配(penalty 最小的),并加上 union penalty
|
|
235
|
+
if (allMatch && best.ok) {
|
|
236
|
+
return { ok: true, exact: false, penalty: best.penalty + UNION_PENALTY };
|
|
237
|
+
}
|
|
238
|
+
return { ok: false, exact: false, penalty: 0 };
|
|
239
|
+
}
|
|
168
240
|
// Exact name match
|
|
169
241
|
if (arg.typeName === param.typeName && arg.typeNamespace === param.typeNamespace) {
|
|
170
242
|
return { ok: true, exact: true, penalty: 0 };
|
|
171
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* Enum 类型特殊处理:如果精确匹配失败,尝试使用 enum 的 valueType 来匹配
|
|
246
|
+
* 这允许 enum 类型可以匹配其 valueType 对应的参数类型
|
|
247
|
+
* 例如:如果 enum 的 valueType 是 String,那么 enum 可以匹配 String 类型的参数
|
|
248
|
+
* 例子:重载函数SUM
|
|
249
|
+
* A: function SUM(value: nasl.core.Long): nasl.core.Long;
|
|
250
|
+
* B: function SUM(value: nasl.core.Decimal): nasl.core.Decimal;
|
|
251
|
+
* let a: nasl.core.Enum; EnumValue为nasl.core.Long;
|
|
252
|
+
* SUM(a);
|
|
253
|
+
* 可以匹配到函数A
|
|
254
|
+
*/
|
|
255
|
+
if ((0, type_predicate_1.isEnumTy)(arg)) {
|
|
256
|
+
const enumDef = env.resolveRef(arg);
|
|
257
|
+
if (enumDef?.concept === 'Enum') {
|
|
258
|
+
// 获取当前 enum 的限定名,用于循环检测
|
|
259
|
+
const enumQName = (0, def_key_helpers_1.getGlobalDefKey)(arg);
|
|
260
|
+
// 如果当前 enum 已经在访问路径中,说明存在循环,跳过以避免无限递归
|
|
261
|
+
if (enumQName && visitedEnums.has(enumQName)) {
|
|
262
|
+
return { ok: false, exact: false, penalty: 0 };
|
|
263
|
+
}
|
|
264
|
+
// 获取 valueType,如果不存在则默认为 String
|
|
265
|
+
const valueType = enumDef.valueType ?? type_manager_2.naslStringTy;
|
|
266
|
+
// 如果 valueType 也是 enum,需要递归处理并更新 visitedEnums
|
|
267
|
+
if ((0, type_predicate_1.isEnumTy)(valueType)) {
|
|
268
|
+
// 只有当 enumQName 存在时才进行循环检测
|
|
269
|
+
const newVisitedEnums = enumQName ? (() => {
|
|
270
|
+
const set = new Set(visitedEnums);
|
|
271
|
+
set.add(enumQName);
|
|
272
|
+
return set;
|
|
273
|
+
})() : visitedEnums;
|
|
274
|
+
const valueTypeRes = matchArgToParamInternal(env, sig, valueType, param, newVisitedEnums);
|
|
275
|
+
if (valueTypeRes.ok) {
|
|
276
|
+
return { ok: true, exact: false, penalty: valueTypeRes.penalty + ENUM_MATCH_PENALTY };
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
else {
|
|
280
|
+
// valueType 不是 enum,直接递归调用
|
|
281
|
+
const valueTypeRes = matchArgToParamInternal(env, sig, valueType, param, visitedEnums);
|
|
282
|
+
if (valueTypeRes.ok) {
|
|
283
|
+
return { ok: true, exact: false, penalty: valueTypeRes.penalty + ENUM_MATCH_PENALTY };
|
|
284
|
+
}
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
}
|
|
172
288
|
// Long can satisfy Decimal with a minor penalty (numeric widening)
|
|
173
289
|
if ((0, type_predicate_1.isDecimalTy)(param) && (0, type_predicate_1.isLongTy)(arg)) {
|
|
174
290
|
return { ok: true, exact: false, penalty: 1 };
|
|
@@ -176,6 +292,10 @@ const matchArgToParam = (env, sig, arg, param) => {
|
|
|
176
292
|
// Otherwise, not compatible under current simple rules
|
|
177
293
|
return { ok: false, exact: false, penalty: 0 };
|
|
178
294
|
};
|
|
295
|
+
// Public wrapper that initializes visitedEnums set
|
|
296
|
+
const matchArgToParam = (env, sig, arg, param) => {
|
|
297
|
+
return matchArgToParamInternal(env, sig, arg, param, new Set());
|
|
298
|
+
};
|
|
179
299
|
const scoreSignature = (env, args, sig) => {
|
|
180
300
|
const params = getSigParams(sig);
|
|
181
301
|
const pLen = params?.length ?? 0;
|
|
@@ -195,7 +315,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
195
315
|
for (let i = 0; i < prefixLen; i++) {
|
|
196
316
|
const res = matchArgToParam(env, sig, args[i], params[i]);
|
|
197
317
|
if (!res.ok) {
|
|
198
|
-
return { compatible: false, exactCount
|
|
318
|
+
return { compatible: false, exactCount, penalty };
|
|
199
319
|
}
|
|
200
320
|
if (res.exact)
|
|
201
321
|
exactCount++;
|
|
@@ -212,7 +332,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
212
332
|
const elemArgTy = extra.typeArguments[0];
|
|
213
333
|
const res = matchArgToParam(env, sig, elemArgTy, elemTy);
|
|
214
334
|
if (!res.ok) {
|
|
215
|
-
return { compatible: false, exactCount
|
|
335
|
+
return { compatible: false, exactCount, penalty };
|
|
216
336
|
}
|
|
217
337
|
if (res.exact)
|
|
218
338
|
exactCount++;
|
|
@@ -223,7 +343,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
223
343
|
// otherwise treat it as a single variadic element
|
|
224
344
|
const res = matchArgToParam(env, sig, args[prefixLen], elemTy);
|
|
225
345
|
if (!res.ok) {
|
|
226
|
-
return { compatible: false, exactCount
|
|
346
|
+
return { compatible: false, exactCount, penalty };
|
|
227
347
|
}
|
|
228
348
|
if (res.exact)
|
|
229
349
|
exactCount++;
|
|
@@ -234,7 +354,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
234
354
|
for (let i = prefixLen; i < (args?.length ?? 0); i++) {
|
|
235
355
|
const res = matchArgToParam(env, sig, args[i], elemTy);
|
|
236
356
|
if (!res.ok) {
|
|
237
|
-
return { compatible: false, exactCount
|
|
357
|
+
return { compatible: false, exactCount, penalty };
|
|
238
358
|
}
|
|
239
359
|
if (res.exact)
|
|
240
360
|
exactCount++;
|
|
@@ -245,7 +365,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
245
365
|
else {
|
|
246
366
|
// If not variadic but args longer than params => incompatible
|
|
247
367
|
if ((args?.length ?? 0) !== pLen) {
|
|
248
|
-
return { compatible: false, exactCount
|
|
368
|
+
return { compatible: false, exactCount, penalty };
|
|
249
369
|
}
|
|
250
370
|
}
|
|
251
371
|
/**
|
|
@@ -276,7 +396,7 @@ const scoreSignature = (env, args, sig) => {
|
|
|
276
396
|
const eq = (a, b) => (0, type_predicate_1.isSubTy)(env, a, b) && (0, type_predicate_1.isSubTy)(env, b, a);
|
|
277
397
|
const base = args[idxs[0]];
|
|
278
398
|
if (!idxs.every(j => eq(base, args[j]))) {
|
|
279
|
-
return { compatible: false, exactCount
|
|
399
|
+
return { compatible: false, exactCount, penalty };
|
|
280
400
|
}
|
|
281
401
|
// Reward having a single type var reused across positions (T,T) vs (T1,T2).
|
|
282
402
|
// Use a slightly larger bonus (2) so coherent generics more strongly influence
|
|
@@ -284,6 +404,20 @@ const scoreSignature = (env, args, sig) => {
|
|
|
284
404
|
coherenceBonus += 2;
|
|
285
405
|
}
|
|
286
406
|
penalty = Math.max(0, penalty - coherenceBonus);
|
|
407
|
+
// 当有足够参数时,优先选择非可变参数更多的重载
|
|
408
|
+
// 这有助于在多个兼容的重载中选择更具体的重载(例如,CASE_WHEN 带 caseElse 参数 vs 不带 caseElse 参数)
|
|
409
|
+
// 但我们只在以下情况下应用此规则:
|
|
410
|
+
// 1. 函数有可变参数
|
|
411
|
+
// 2. 实际参数数量超过最小必需数量(即部分参数会进入可变参数)
|
|
412
|
+
// 3. penalty 值非常小(每个额外参数 0.1),仅用于打破平局,不会覆盖类型匹配质量(exactCount)
|
|
413
|
+
// 或其他 penalty(any=5, generic=2 等)
|
|
414
|
+
// 这是一种保守的方法,只应在两个重载在其他方面得分相同的情况下影响选择,优先选择更具体的重载
|
|
415
|
+
if (isVariadic && (args?.length ?? 0) > prefixLen) {
|
|
416
|
+
const variadicArgCount = (args?.length ?? 0) - prefixLen;
|
|
417
|
+
// 使用非常小的 penalty(0.1),仅影响平局情况
|
|
418
|
+
// 这确保不会覆盖有意义的类型匹配差异
|
|
419
|
+
penalty += variadicArgCount * 0.1;
|
|
420
|
+
}
|
|
287
421
|
return { compatible: true, exactCount, penalty };
|
|
288
422
|
};
|
|
289
423
|
const resolveOverloadedFunction = (env, namespace, name, argTys,
|
|
@@ -293,20 +427,44 @@ typeArgs) => {
|
|
|
293
427
|
if (!candidates.length) {
|
|
294
428
|
return { retTy: undefined };
|
|
295
429
|
}
|
|
296
|
-
// Compute scores
|
|
297
|
-
const
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
430
|
+
// Compute scores for all candidates (needed for forceReturnClosest to pick partial best)
|
|
431
|
+
const allScored = candidates.map(sig => ({ sig, score: scoreSignature(env, argTys, sig) }));
|
|
432
|
+
const scored = allScored.filter(x => x.score.compatible);
|
|
433
|
+
// 无完全匹配时:若启用“强制返回”且所有实参类型已求解,则从全部候选中选最接近的一个。
|
|
434
|
+
// 若有任一实参未求解(SelectOverload、类型变量等),不强制返回,避免延迟求解后真正匹配与当前“最接近”不一致。
|
|
435
|
+
const allArgsResolved = (argTys?.length ?? 0) === 0 || (argTys ?? []).every(ty => !(0, type_predicate_1.isUnResolvedTy)(ty));
|
|
436
|
+
const toUse = scored.length > 0
|
|
437
|
+
? scored
|
|
438
|
+
: (allArgsResolved && allScored.length > 0 ? allScored : []);
|
|
439
|
+
if (!toUse.length) {
|
|
301
440
|
return { retTy: undefined };
|
|
302
441
|
}
|
|
303
442
|
// Prefer highest exact matches; then lowest penalty (Long over Decimal); if tie remains, ambiguous
|
|
304
|
-
|
|
443
|
+
// The penalty already includes a component that prefers overloads with more non-variadic parameters
|
|
444
|
+
// when we have enough arguments, making more specific overloads preferred automatically
|
|
445
|
+
const usedForceClosest = scored.length === 0 && toUse.length > 0;
|
|
446
|
+
// 强制返回时 tie-break:优先选“形参类型与实参类型更接近”的重载(如第二实参是 Decimal 则优先第二形参是 Decimal 的)
|
|
447
|
+
const paramClosenessScore = (sig) => {
|
|
448
|
+
const params = getSigParams(sig);
|
|
449
|
+
let s = 0;
|
|
450
|
+
for (let i = 0; i < (argTys?.length ?? 0) && i < params.length; i++) {
|
|
451
|
+
s += paramArgCloseness(env, argTys[i], params[i]);
|
|
452
|
+
}
|
|
453
|
+
return s;
|
|
454
|
+
};
|
|
455
|
+
toUse.sort((a, b) => {
|
|
305
456
|
if (b.score.exactCount !== a.score.exactCount)
|
|
306
457
|
return b.score.exactCount - a.score.exactCount;
|
|
307
|
-
|
|
458
|
+
if (a.score.penalty !== b.score.penalty)
|
|
459
|
+
return a.score.penalty - b.score.penalty;
|
|
460
|
+
if (usedForceClosest) {
|
|
461
|
+
const diff = paramClosenessScore(b.sig) - paramClosenessScore(a.sig);
|
|
462
|
+
if (diff !== 0)
|
|
463
|
+
return diff;
|
|
464
|
+
}
|
|
465
|
+
return 0;
|
|
308
466
|
});
|
|
309
|
-
const best =
|
|
467
|
+
const best = toUse[0];
|
|
310
468
|
// Work on the unified function type to reuse existing utilities
|
|
311
469
|
const fnTy = best.sig.fn;
|
|
312
470
|
// Step 1: freshen type params (build mapping oldName -> freshTyVar)
|
|
@@ -337,17 +495,26 @@ typeArgs) => {
|
|
|
337
495
|
// Step 3: infer remaining generic type parameters from argument positions
|
|
338
496
|
// If a parameter is a (freshened) typeParam, bind it to the corresponding argument type
|
|
339
497
|
// Example: IFNULL<T>(a: T, b: T): T and args (Long, Long) => T := Long
|
|
498
|
+
// IMPORTANT: Save return type before unification for non-generic functions
|
|
499
|
+
// For non-generic functions like SUM(Decimal): Decimal, the return type is fixed and should not
|
|
500
|
+
// be affected by parameter type unification. However, for generic functions, return type may
|
|
501
|
+
// contain type parameters that need to be resolved through unification, so we need to get it after.
|
|
502
|
+
// We need to deep copy the return type to avoid it being modified by type unification.
|
|
503
|
+
const isGenericFunction = (freshenedFn.typeParams?.length ?? 0) > 0;
|
|
504
|
+
const originalRetTy = isGenericFunction ? undefined : (freshenedFn.returnType?.[0] ? (0, type_manager_1.copyTyAnn)(freshenedFn.returnType[0]) : type_manager_2.naslAnyTy);
|
|
340
505
|
const paramsAfterPartial = freshenedFn.typeArguments ?? [];
|
|
341
506
|
for (let i = 0; i < paramsAfterPartial.length && i < argTys.length; i++) {
|
|
342
507
|
let p = paramsAfterPartial[i];
|
|
343
508
|
const a = argTys[i];
|
|
344
509
|
// 对函数参数中的可变参数标记,直接取出其中的Item类型作为p
|
|
345
510
|
if (p.spread && (0, type_predicate_1.isListTy)(p)) {
|
|
346
|
-
p = p.typeArguments?.[0] ??
|
|
511
|
+
p = p.typeArguments?.[0] ?? type_manager_2.naslAnyTy;
|
|
347
512
|
}
|
|
348
513
|
env.unifier.unify(a, p);
|
|
349
514
|
}
|
|
350
|
-
|
|
515
|
+
// For non-generic functions, use the original return type to avoid being affected by parameter unification
|
|
516
|
+
// For generic functions, get return type after unification so type parameters can be resolved
|
|
517
|
+
const outRet = isGenericFunction ? (freshenedFn.returnType?.[0] ?? type_manager_2.naslAnyTy) : originalRetTy;
|
|
351
518
|
// Build a resolved, freshened signature for downstream consumers
|
|
352
519
|
const resolvedSig = {
|
|
353
520
|
name: best.sig.name,
|
|
@@ -392,8 +559,8 @@ const createFallbackOverloadDef = (calleeName, namespace, numOfArgs) => {
|
|
|
392
559
|
name: `${namespace}.${calleeName}Any`,
|
|
393
560
|
__TypeAnnotation: {
|
|
394
561
|
typeKind: 'function',
|
|
395
|
-
typeArguments: Array(numOfArgs).fill(
|
|
396
|
-
returnType: [
|
|
562
|
+
typeArguments: Array(numOfArgs).fill(type_manager_2.naslAnyTy), // Accept any type for the determining parameter
|
|
563
|
+
returnType: [type_manager_2.naslAnyTy] // Return any type
|
|
397
564
|
}
|
|
398
565
|
};
|
|
399
566
|
return lgc;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overload-helper.js","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"overload-helper.js","sourceRoot":"","sources":["../../src/typer/overload-helper.ts"],"names":[],"mappings":";;;AAAA,uDAA6F;AAE7F,mCAAoE;AACpE,uCAAuC;AACvC,iDAAyE;AACzE,qDAAwK;AACxK,iDAGwB;AACxB,0EAAuE;AAEvE,qDAAqD;AAErD,4CAA4C;AAC5C,MAAM,aAAa,GAAG,GAAG,CAAC,CAAQ,+DAA+D;AACjG,MAAM,kBAAkB,GAAG,EAAE,CAAC,CAAI,kDAAkD;AAClD,kEAAkE;AAClE,gDAAgD;AAChD,kCAAkC;AAEpE,gFAAgF;AAChF,MAAM,YAAY,GAAG,CAAC,GAAsB,EAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,aAAa,IAAI,EAAE,CAAC;AAC9F,MAAM,SAAS,GAAG,CAAC,GAAsB,EAA8B,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;AAE1F,MAAM,yBAAyB,GAAG,CACrC,SAAiB,EACjB,IAAY,EACZ,SAA2B,EAAE,EAC7B,MAAsB,wBAAS,EAC/B,UAA6B,EAC/B,EAAE;IACA,2DAA2D;IAC3D,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,QAAQ,KAAK,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3F,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACL,CAAC;IACD,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,cAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IACpD,gGAAgG;IAChG,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;QAC9C,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;YACpB,MAAM,MAAM,GAAG,GAAG,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,IAAI,MAAM,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACtF,iDAAiD;gBACjD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;gBAClC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxG,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;gBACtB,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IACD,qEAAqE;IACrE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAC3B,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;QAClD,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CACtC,CAAC;IACF,IAAI,CAAC,MAAM,EAAE,CAAC;QACV,MAAM,EAAE,GAAG,8BAAc,CAAC,mBAAmB,CAAC;YAC1C,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,MAAM,IAAI,EAAE;YAC3B,MAAM,EAAE,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YAClE,UAAU,EAAE,UAAU,IAAI,EAAE;YAC5B,UAAU,EAAE,CAAC,GAAG,CAAC;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,cAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC;AACL,CAAC,CAAC;AA9CW,QAAA,yBAAyB,6BA8CpC;AAEK,MAAM,sBAAsB,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAuB,EAAE;IAC3F,OAAO,cAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC;AACrE,CAAC,CAAC;AAFW,QAAA,sBAAsB,0BAEjC;AAEF,2EAA2E;AACpE,MAAM,oBAAoB,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAW,EAAE;IAC7E,OAAO,IAAA,8BAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAC9D,CAAC,CAAC;AAFW,QAAA,oBAAoB,wBAE/B;AAEF,qEAAqE;AACrE,MAAM,cAAc,GAAG,CAAC,CAAkB,EAAE,CAAkB,EAAW,EAAE;IACvE,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAAC;IACvG,CAAC;IACD,gEAAgE;IAChE,OAAO,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa,CAAC;AAC5E,CAAC,CAAC;AAEF,gEAAgE;AAChE,MAAM,iBAAiB,GAAG,CAAC,GAAW,EAAE,GAA+B,EAAE,KAAiC,EAAU,EAAE;IAClH,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAC7B,IAAI,cAAc,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IACvE,IAAI,IAAA,wBAAO,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC;QAAE,OAAO,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,IAAA,4BAAW,EAAC,GAAG,CAAC,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,IAAI,IAAA,qCAAoB,EAAC,GAAG,CAAC,CAAC;IAClF,MAAM,YAAY,GAAG,IAAA,4BAAW,EAAC,KAAK,CAAC,IAAI,IAAA,yBAAQ,EAAC,KAAK,CAAC,IAAI,IAAA,qCAAoB,EAAC,KAAK,CAAC,CAAC;IAC1F,IAAI,UAAU,IAAI,YAAY;QAAE,OAAO,CAAC,CAAC;IACzC,OAAO,CAAC,CAAC;AACb,CAAC,CAAC;AAuBF,iEAAiE;AACjE,sGAAsG;AACtG,mFAAmF;AAC5E,MAAM,4BAA4B,GAAG,CAAC,UAA+B,EAAU,EAAE;IACpF,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9E,IAAI,OAAO,GAAG,CAAC,CAAC;IAChB,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC;IACnB,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;QACpC,MAAM,IAAI,GAAqB,EAAE,CAAC;QAClC,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACtB,IAAI,CAAC,CAAC;gBAAE,SAAS;YACjB,IAAI,IAAA,4BAAW,EAAC,CAAC,CAAC;gBAAE,UAAU,GAAG,IAAI,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC;QACL,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC;QAC9B,IAAI,SAAS,GAAG,SAAS,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,CAAC,UAAU,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;YACxF,SAAS,GAAG,SAAS,CAAC;YACtB,OAAO,GAAG,GAAG,CAAC;YACd,cAAc,GAAG,UAAU,CAAC;QAChC,CAAC;IACL,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC;AA1BW,QAAA,4BAA4B,gCA0BvC;AAEK,MAAM,2BAA2B,GAAG,CAAC,SAAiB,EAAE,IAAY,EAAU,EAAE,CACnF,IAAA,oCAA4B,EAAC,IAAA,8BAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;AAD7D,QAAA,2BAA2B,+BACkC;AAE1E,MAAM,YAAY,GAAG,CAAC,CAAkB,EAAoB,EAAE,CAAC,CAAC,IAAA,0BAAS,EAAC,CAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAErH,sGAAsG;AACtG,MAAM,sBAAsB,GAAG,CAAC,GAAsB,EAAE,MAA0B,EAA8B,EAAE;IAC9G,IAAI,CAAC,MAAM;QAAE,OAAO,SAAS,CAAC;IAC9B,MAAM,GAAG,GAAW,GAAG,CAAC,EAAE,EAAE,UAAoB,IAAI,EAAE,CAAC;IACvD,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,MAAM,CAAC,CAAC;IACpE,OAAO,KAAK,EAAE,WAAW,CAAC;AAC9B,CAAC,CAAA;AAED,2DAA2D;AAC3D,8DAA8D;AAC9D,MAAM,uBAAuB,GAAG,CAC5B,GAAW,EACX,GAAsB,EACtB,GAAmB,EACnB,KAAqB,EACrB,eAA4B,IAAI,GAAG,EAAE,EACW,EAAE;IAClD,IAAI,IAAA,0BAAS,EAAC,GAAG,CAAC,EAAE,CAAC;QACnB,GAAG,GAAG,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC3B,CAAC;IACD,6BAA6B;IAC7B,IAAI,IAAA,4BAAW,EAAC,KAAK,CAAC,EAAE,CAAC;QACrB,IAAI,IAAA,4BAAW,EAAC,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;YACpD,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,IAAI,IAAA,wBAAO,EAAC,KAAK,CAAC,EAAE,CAAC;QACjB,sEAAsE;QACtE,mEAAmE;QACnE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACzD,CAAC;IAED,0EAA0E;IAC1E,sFAAsF;IACtF,IAAI,IAAA,wBAAO,EAAC,GAAG,CAAC,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAA,wBAAO,EAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC3D,CAAC;IAED,qFAAqF;IACrF,oFAAoF;IACpF,IAAI,KAAK,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,sBAAsB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/D,IAAI,UAAU,EAAE,CAAC;YACb,IAAI,CAAC,IAAA,wBAAO,EAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,CAAC;gBACjC,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;QACL,CAAC;QACD,iEAAiE;QACjE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,kCAAkC;IAClC,IAAI,IAAA,0BAAS,EAAC,KAAK,CAAC,EAAE,CAAC;QACnB,oCAAoC;QACpC,uEAAuE;QACvE,kFAAkF;QAClF,sEAAsE;QACtE,IAAI,IAAA,0BAAS,EAAC,GAAG,CAAC,IAAI,IAAA,0BAAS,EAAC,GAAG,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;QACjD,CAAC;QAED,IAAI,IAAI,GAAqD,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3H,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;YACpE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACT,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxF,IAAI,GAAG,GAAG,CAAC;gBACf,CAAC;YACL,CAAC;QACL,CAAC;QACL,+FAA+F;QAC/F,0FAA0F;QAC1F,wFAAwF;QACxF,yFAAyF;QACzF,0FAA0F;QAC1F,sDAAsD;QACtD,OAAO,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC7H,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,IAAI,IAAA,qCAAoB,EAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAqD,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC3H,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;YAChC,MAAM,GAAG,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YACtE,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACT,uBAAuB;gBACvB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,GAAG,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;oBACxF,IAAI,GAAG,GAAG,CAAC;gBACf,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,+BAA+B;gBAC/B,QAAQ,GAAG,KAAK,CAAC;gBACjB,MAAM;YACV,CAAC;QACL,CAAC;QACD,mCAAmC;QACnC,yCAAyC;QACzC,IAAI,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACtB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,GAAG,aAAa,EAAE,CAAC;QAC7E,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACnD,CAAC;IAED,mBAAmB;IACnB,IAAI,GAAG,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC,aAAa,KAAK,KAAK,CAAC,aAAa,EAAE,CAAC;QAC/E,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;;;;;OAUG;IACH,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,OAAO,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC;YAC9B,wBAAwB;YACxB,MAAM,SAAS,GAAG,IAAA,iCAAe,EAAC,GAAG,CAAC,CAAC;YAEvC,sCAAsC;YACtC,IAAI,SAAS,IAAI,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;YACnD,CAAC;YAED,gCAAgC;YAChC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,2BAAY,CAAC;YAEpD,8CAA8C;YAC9C,IAAI,IAAA,yBAAQ,EAAC,SAAS,CAAC,EAAE,CAAC;gBACtB,2BAA2B;gBAC3B,MAAM,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE;oBACtC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;oBAClC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACnB,OAAO,GAAG,CAAC;gBACf,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC;gBACpB,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;gBAC1F,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,kBAAkB,EAAE,CAAC;gBAC1F,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,2BAA2B;gBAC3B,MAAM,YAAY,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;gBACvF,IAAI,YAAY,CAAC,EAAE,EAAE,CAAC;oBAClB,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,GAAG,kBAAkB,EAAE,CAAC;gBAC1F,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,mEAAmE;IACnE,IAAI,IAAA,4BAAW,EAAC,KAAK,CAAC,IAAI,IAAA,yBAAQ,EAAC,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAClD,CAAC;IAED,uDAAuD;IACvD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;AACnD,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,eAAe,GAAG,CACpB,GAAW,EACX,GAAsB,EACtB,GAAmB,EACnB,KAAqB,EAC2B,EAAE;IAClD,OAAO,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACpE,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,GAAW,EAAE,IAAsB,EAAE,GAAsB,EAAc,EAAE;IAC/F,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,IAAI,GAAG,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC;IACjC,4EAA4E;IAC5E,4FAA4F;IAC5F,6FAA6F;IAC7F,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,MAAO,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC3D,MAAM,UAAU,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9D,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,CAAC;QACpC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAClF,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,OAAO,GAAG,CAAC,CAAC;IAEhB,4BAA4B;IAC5B,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACV,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC;QACD,IAAI,GAAG,CAAC,KAAK;YAAE,UAAU,EAAE,CAAC;QAC5B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;IAC3B,CAAC;IAED,uDAAuD;IACvD,IAAI,UAAU,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,SAAU,CAAC,aAAc,CAAC,CAAC,CAAC,CAAC;QAC5C,mGAAmG;QACnG,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,SAAS,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YAC9B,IAAI,KAAK,EAAE,QAAQ,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,EAAE,CAAC;gBACpH,4EAA4E;gBAC5E,MAAM,SAAS,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;gBACzD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACV,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,GAAG,CAAC,KAAK;oBAAE,UAAU,EAAE,CAAC;gBAC5B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;gBACvB,gEAAgE;YACpE,CAAC;iBAAM,CAAC;gBACJ,kDAAkD;gBAClD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACV,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,GAAG,CAAC,KAAK;oBAAE,UAAU,EAAE,CAAC;gBAC5B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;YAC3B,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,KAAK,IAAI,CAAC,GAAG,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,GAAG,GAAG,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;gBACvD,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;oBACV,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;gBACtD,CAAC;gBACD,IAAI,GAAG,CAAC,KAAK;oBAAE,UAAU,EAAE,CAAC;gBAC5B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,8DAA8D;QAC9D,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,EAAE,QAAQ,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACvC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC9B,CAAC;IACL,CAAC;IACD,kFAAkF;IAClF,kFAAkF;IAClF,mFAAmF;IACnF,mEAAmE;IACnE,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC;QAChC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAC9B,uEAAuE;QACvE,MAAM,EAAE,GAAG,CAAC,CAAiB,EAAE,CAAiB,EAAE,EAAE,CAAC,IAAA,wBAAO,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,IAAI,IAAA,wBAAO,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;QACtD,CAAC;QACD,4EAA4E;QAC5E,+EAA+E;QAC/E,oEAAoE;QACpE,cAAc,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,GAAG,cAAc,CAAC,CAAC;IAEhD,yBAAyB;IACzB,sEAAsE;IACtE,mBAAmB;IACnB,aAAa;IACb,kCAAkC;IAClC,6DAA6D;IAC7D,qCAAqC;IACrC,gDAAgD;IAChD,IAAI,UAAU,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS,EAAE,CAAC;QAChD,MAAM,gBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;QACzD,8BAA8B;QAC9B,oBAAoB;QACpB,OAAO,IAAI,gBAAgB,GAAG,GAAG,CAAC;IACtC,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC;AACrD,CAAC,CAAC;AAIK,MAAM,yBAAyB,GAMT,CACzB,GAAG,EACH,SAAS,EACT,IAAI,EACJ,MAAM;AACN,sEAAsE;AACtE,QAAQ,EACV,EAAE;IACI,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3D,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;QACrB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAChC,CAAC;IAED,yFAAyF;IACzF,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5F,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAEzD,6CAA6C;IAC7C,gEAAgE;IAChE,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,IAAA,+BAAc,EAAC,EAAE,CAAC,CAAC,CAAC;IACvG,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC;QAC3B,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,CAAC,eAAe,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEjE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IAC9B,CAAC;IAED,mGAAmG;IACnG,oGAAoG;IACpG,wFAAwF;IACxF,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjE,0EAA0E;IAC1E,MAAM,mBAAmB,GAAG,CAAC,GAAsB,EAAE,EAAE;QACnD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAClE,CAAC,IAAI,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC;IACF,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QAChB,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,KAAK,CAAC,CAAC,KAAK,CAAC,UAAU;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC;QAC9F,IAAI,CAAC,CAAC,KAAK,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClF,IAAI,gBAAgB,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,IAAI,KAAK,CAAC;gBAAE,OAAO,IAAI,CAAC;QAChC,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAEtB,gEAAgE;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IACzB,oEAAoE;IACpE,IAAI,WAAW,GAAG,IAAI,CAAC;IACvB,MAAM,WAAW,GAAkB,IAAI,GAAG,EAAE,CAAC;IAC7C,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;QACjC,MAAM,GAAG,GAAG,EAAE,EAAE,QAAQ,CAAC;QACzB,IAAI,GAAG;YAAE,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IACH,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QACnB,WAAW,GAAG,IAAA,oBAAU,EAAC,GAAG,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAED,wEAAwE;IACxE,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACzD,MAAM,UAAU,GAAkB,IAAI,GAAG,EAAE,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;YAChC,MAAM,OAAO,GAAG,EAAE,EAAE,QAAQ,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAC7D,MAAM,SAAS,GAAG,KAAK,EAAE,QAAQ,CAAC;YAClC,IAAI,SAAS,IAAI,QAAQ,CAAC,GAAG,CAAC;gBAAE,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QACH,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,WAAW,GAAG,IAAA,oBAAU,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC,WAAW,CAAC,CAAC;QAC3D,CAAC;IACL,CAAC;IAED,0EAA0E;IAC1E,wFAAwF;IACxF,uEAAuE;IACvE,2EAA2E;IAC3E,gGAAgG;IAChG,6FAA6F;IAC7F,oGAAoG;IACpG,uFAAuF;IACvF,MAAM,iBAAiB,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,aAAa,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,wBAAS,EAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,wBAAS,CAAC,CAAC;IAEvI,MAAM,kBAAkB,GAAG,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC;IAC3D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE,IAAI,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QACpB,iCAAiC;QACjC,IAAG,CAAC,CAAC,MAAM,IAAI,IAAA,yBAAQ,EAAC,CAAC,CAAC,EAAC,CAAC;YAC1B,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC;QACxC,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,2GAA2G;IAC3G,8FAA8F;IAC9F,MAAM,MAAM,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,IAAI,wBAAS,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAC9F,iEAAiE;IACjE,MAAM,WAAW,GAAsB;QACnC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS;QAC7B,EAAE,EAAE,WAAW;KAClB,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;AAClD,CAAC,CAAC;AAtHO,QAAA,yBAAyB,6BAsHhC;AAEN,eAAe;AACf,+CAA+C;AAC/C,oCAAoC;AAC7B,MAAM,yBAAyB,GAAG,CAAC,GAAW,EAAE,EAA4B,EAAE,SAAoD,EAAyB,EAAE;IAChK,iDAAiD;IACjD,MAAM,kBAAkB,GAAG,EAAE,CAAC,eAAe,KAAK,kBAAkB,IAAI,SAAS;QAC7E,CAAC,CAAC,GAAG,CAAC,uBAAuB,CAAC,SAAS,CAAC;QACxC,CAAC,CAAC,CAAC,EAAE,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,IAAA,8BAAsB,EAAC,kBAAkB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC;IAC7E,IAAI,CAAC,UAAU,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAElC,qBAAqB;IACrB,MAAM,GAAG,GAAG,IAAA,oCAA4B,EAAC,UAAU,CAAC,CAAC;IAErD,MAAM,GAAG,GAAqB,EAAE,CAAC;IACjC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,CAAC;YAAE,SAAS;QACjB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACvC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC,CAAA;AArBY,QAAA,yBAAyB,6BAqBrC;AAGD;;GAEG;AACI,MAAM,yBAAyB,GAAG,CAAC,UAAkB,EAAE,SAAiB,EAAE,SAAiB,EAAO,EAAE;IACvG,MAAM,GAAG,GAAG;QACR,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,GAAG,SAAS,IAAI,UAAU,KAAK;QACrC,gBAAgB,EAAE;YACd,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,wBAAS,CAAC,EAAE,gDAAgD;YACjG,UAAU,EAAE,CAAC,wBAAS,CAAC,CAAC,kBAAkB;SAC7C;KACJ,CAAC;IACF,OAAO,GAAG,CAAC;AACf,CAAC,CAAA;AAXY,QAAA,yBAAyB,6BAWrC;AAED,iHAAiH;AAGjH,qEAAqE;AAE9D,MAAM,qBAAqB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,8BAAc,CAAC,mBAAmB,CAAC;IACvF,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,KAAK;CACjB,CAAC,CAAC;AALU,QAAA,qBAAqB,yBAK/B;AAEH,2FAA2F;AACpF,MAAM,uBAAuB,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,8BAAc,CAAC,mBAAmB,CAAC;IACzF,QAAQ,EAAE,SAAS;IACnB,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,QAAQ;IAClB,OAAO,EAAE,KAAK;CACjB,CAAC,CAAC;AALU,QAAA,uBAAuB,2BAKjC"}
|
package/out/typer/solver.d.ts
CHANGED
|
@@ -25,15 +25,14 @@ export declare class Solver {
|
|
|
25
25
|
*/
|
|
26
26
|
private getConcreteTys;
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
* 8. 下界和上界都只有 Number:选择 Long
|
|
28
|
+
* 处理特定边界(下界或上界)的类型
|
|
29
|
+
*
|
|
30
|
+
* 策略(按优先级):
|
|
31
|
+
* 1. preferUnion 且存在非纯数值 union:优先返回 union 类型
|
|
32
|
+
* 2. preferUnion 且仅存在纯数值 union:返回该 union
|
|
33
|
+
* 3. 全为数值(Decimal/Long/Number):Decimal > Long > Number(精度优先)
|
|
34
|
+
* 4. 混合(含非数值):按 boundEntries 顺序取第一个有效 bound,Null 视为无约束跳过
|
|
35
|
+
* 5. 仅 Null:返回 Null
|
|
37
36
|
*/
|
|
38
37
|
private processSingleBounds;
|
|
39
38
|
private topoSortTyVars;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,EACH,aAAa,
|
|
1
|
+
{"version":3,"file":"solver.d.ts","sourceRoot":"","sources":["../../src/typer/solver.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,cAAc,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAa,KAAK,MAAM,EAAE,MAAM,SAAS,CAAC;AAMjD,OAAO,EACH,aAAa,EAMZ,WAAW,EACZ,MAAM,EACN,kBAAkB,EACrB,MAAM,gBAAgB,CAAC;AAoBxB,qBAAa,MAAM;IACf,EAAE,EAAE,WAAW,CAAC;IAChB,KAAK,EAAE,aAAa,CAAC;IACrB,GAAG,EAAE,MAAM,CAAC;gBAEA,GAAG,EAAE,MAAM;IAOvB,sBAAsB,uCA6FpB;IAIF;;;;;OAKG;IACH,kBAAkB,UAAW,MAAM,YAAa,cAAc,mCAsB7D;IAGD,8BAA8B,kEAS5B;IAEF,uBAAuB,kDAUrB;IAGF,2BAA2B,4BASzB;IAEF;;;;;OAKG;IACH,OAAO,CAAC,cAAc,CAmBrB;IAED;;;;;;;;;OASG;IACH,OAAO,CAAC,mBAAmB,CAoF1B;IAGD,OAAO,CAAC,cAAc,CA0ErB;IAGD,UAAU,iCAIT;IAED;;;;;;;;;OASG;IAEH,iBAAiB,+DAAgE,IAAI,cAAc,EAAE,cAAc,CAAC,KAAG,MAAM;QACzH,MAAM,EAAE,cAAc,CAAC;QACvB,MAAM,EAAE,cAAc,CAAC;QACvB,WAAW,EAAE,UAAU,CAAC;QACxB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,OAAO,CAAC;KAC3B,CAAC,CAwED;IAGD,wCAAwC,sCAAuC,CAAC,EAAE,EAAE,cAAc,GAAG,SAAS,KAAK,cAAc,UAS/H;IASF,KAAK,aAGJ;CACJ;AAuDD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,QAGpC"}
|