@zzzen/pyright-internal 1.2.0-dev.20260913 → 1.2.0-dev.20260927
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/dist/analyzer/checker.d.ts +2 -1
- package/dist/analyzer/checker.js +17 -4
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +9 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/operations.js +1 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/overloadResult.d.ts +15 -0
- package/dist/analyzer/overloadResult.js +233 -0
- package/dist/analyzer/overloadResult.js.map +1 -0
- package/dist/analyzer/overloadResultAdmission.d.ts +20 -0
- package/dist/analyzer/overloadResultAdmission.js +448 -0
- package/dist/analyzer/overloadResultAdmission.js.map +1 -0
- package/dist/analyzer/overloadResultController.d.ts +227 -0
- package/dist/analyzer/overloadResultController.js +904 -0
- package/dist/analyzer/overloadResultController.js.map +1 -0
- package/dist/analyzer/overloadResultSelector.d.ts +24 -0
- package/dist/analyzer/overloadResultSelector.js +131 -0
- package/dist/analyzer/overloadResultSelector.js.map +1 -0
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +4 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/program.d.ts +13 -2
- package/dist/analyzer/program.js +99 -46
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +1 -0
- package/dist/analyzer/protocols.js +286 -6
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +6 -2
- package/dist/analyzer/sourceFile.js +9 -3
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +4 -0
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeCacheUtils.d.ts +5 -0
- package/dist/analyzer/typeCacheUtils.js +64 -1
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeComplexity.js +2 -0
- package/dist/analyzer/typeComplexity.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +11 -2
- package/dist/analyzer/typeEvaluator.js +358 -21
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +31 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +8 -0
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +29 -26
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.d.ts +2 -1
- package/dist/analyzer/typeWalker.js +12 -0
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -7
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +16 -2
- package/dist/analyzer/types.js +101 -2
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/configOptions.d.ts +2 -0
- package/dist/common/configOptions.js +18 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/envVarUtils.js +3 -3
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/languageServerBase.js +2 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +3 -2
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +4 -1
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/tests/config.test.js +48 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/envVarUtils.test.js +16 -0
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/evaluationTrace.integration.test.d.ts +1 -0
- package/dist/tests/evaluationTrace.integration.test.js +266 -0
- package/dist/tests/evaluationTrace.integration.test.js.map +1 -0
- package/dist/tests/evaluationTrace.test.d.ts +1 -0
- package/dist/tests/evaluationTrace.test.js +422 -0
- package/dist/tests/evaluationTrace.test.js.map +1 -0
- package/dist/tests/evaluationTrace.viewer.test.d.ts +1 -0
- package/dist/tests/evaluationTrace.viewer.test.js +529 -0
- package/dist/tests/evaluationTrace.viewer.test.js.map +1 -0
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +10 -6
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +16 -10
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +10 -9
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/languageServer.test.js +129 -0
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/mypyPrimerAnalysis.test.js +1193 -47
- package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
- package/dist/tests/mypyPrimerMcp.test.d.ts +1 -0
- package/dist/tests/mypyPrimerMcp.test.js +186 -0
- package/dist/tests/mypyPrimerMcp.test.js.map +1 -0
- package/dist/tests/overloadResult.test.d.ts +1 -0
- package/dist/tests/overloadResult.test.js +182 -0
- package/dist/tests/overloadResult.test.js.map +1 -0
- package/dist/tests/overloadResultController.test.d.ts +1 -0
- package/dist/tests/overloadResultController.test.js +2146 -0
- package/dist/tests/overloadResultController.test.js.map +1 -0
- package/dist/tests/protocolRequirement.test.d.ts +1 -0
- package/dist/tests/protocolRequirement.test.js +122 -0
- package/dist/tests/protocolRequirement.test.js.map +1 -0
- package/dist/tests/protocolRequirementAdversarial.test.d.ts +1 -0
- package/dist/tests/protocolRequirementAdversarial.test.js +92 -0
- package/dist/tests/protocolRequirementAdversarial.test.js.map +1 -0
- package/dist/tests/protocolRequirementBoundary.test.d.ts +1 -0
- package/dist/tests/protocolRequirementBoundary.test.js +119 -0
- package/dist/tests/protocolRequirementBoundary.test.js.map +1 -0
- package/dist/tests/protocolRequirementComplexity.test.d.ts +1 -0
- package/dist/tests/protocolRequirementComplexity.test.js +159 -0
- package/dist/tests/protocolRequirementComplexity.test.js.map +1 -0
- package/dist/tests/protocolRequirementCycles.test.d.ts +1 -0
- package/dist/tests/protocolRequirementCycles.test.js +160 -0
- package/dist/tests/protocolRequirementCycles.test.js.map +1 -0
- package/dist/tests/protocolRequirementGeneral.test.d.ts +1 -0
- package/dist/tests/protocolRequirementGeneral.test.js +120 -0
- package/dist/tests/protocolRequirementGeneral.test.js.map +1 -0
- package/dist/tests/protocolRequirementInstances.test.d.ts +1 -0
- package/dist/tests/protocolRequirementInstances.test.js +164 -0
- package/dist/tests/protocolRequirementInstances.test.js.map +1 -0
- package/dist/tests/protocolRequirementListStub.test.d.ts +1 -0
- package/dist/tests/protocolRequirementListStub.test.js +244 -0
- package/dist/tests/protocolRequirementListStub.test.js.map +1 -0
- package/dist/tests/protocolRequirementPopulated.test.d.ts +1 -0
- package/dist/tests/protocolRequirementPopulated.test.js +172 -0
- package/dist/tests/protocolRequirementPopulated.test.js.map +1 -0
- package/dist/tests/protocolRequirementRecursive.test.d.ts +1 -0
- package/dist/tests/protocolRequirementRecursive.test.js +118 -0
- package/dist/tests/protocolRequirementRecursive.test.js.map +1 -0
- package/dist/tests/protocolRequirementSpeculative.test.d.ts +1 -0
- package/dist/tests/protocolRequirementSpeculative.test.js +200 -0
- package/dist/tests/protocolRequirementSpeculative.test.js.map +1 -0
- package/dist/tests/protocolRequirementState.test.d.ts +1 -0
- package/dist/tests/protocolRequirementState.test.js +161 -0
- package/dist/tests/protocolRequirementState.test.js.map +1 -0
- package/dist/tests/testState.test.js +64 -0
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testUtils.d.ts +6 -1
- package/dist/tests/testUtils.js +11 -6
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeCacheIsolation.test.d.ts +1 -0
- package/dist/tests/typeCacheIsolation.test.js +109 -0
- package/dist/tests/typeCacheIsolation.test.js.map +1 -0
- package/dist/tests/typeCacheUtils.test.js +74 -0
- package/dist/tests/typeCacheUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +5 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +25 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +7 -23
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +241 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeServer/typeServer.inProc.test.js +86 -0
- package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
- package/dist/tests/typeUtils.test.js +36 -0
- package/dist/tests/typeUtils.test.js.map +1 -1
- package/dist/trace/capture.d.ts +31 -0
- package/dist/trace/capture.js +272 -0
- package/dist/trace/capture.js.map +1 -0
- package/dist/trace/cli.d.ts +1 -0
- package/dist/trace/cli.js +196 -0
- package/dist/trace/cli.js.map +1 -0
- package/dist/trace/nativeAdapter.d.ts +16 -0
- package/dist/trace/nativeAdapter.js +418 -0
- package/dist/trace/nativeAdapter.js.map +1 -0
- package/dist/trace/nativeBridge.d.ts +46 -0
- package/dist/trace/nativeBridge.js +416 -0
- package/dist/trace/nativeBridge.js.map +1 -0
- package/dist/trace/reader.d.ts +83 -0
- package/dist/trace/reader.js +296 -0
- package/dist/trace/reader.js.map +1 -0
- package/dist/trace/recorder.d.ts +59 -0
- package/dist/trace/recorder.js +303 -0
- package/dist/trace/recorder.js.map +1 -0
- package/dist/trace/runtimeLoader.d.ts +23 -0
- package/dist/trace/runtimeLoader.js +172 -0
- package/dist/trace/runtimeLoader.js.map +1 -0
- package/dist/trace/viewerAssets.d.ts +2 -0
- package/dist/trace/viewerAssets.js +76 -0
- package/dist/trace/viewerAssets.js.map +1 -0
- package/dist/trace/viewerClient.d.ts +1 -0
- package/dist/trace/viewerClient.js +485 -0
- package/dist/trace/viewerClient.js.map +1 -0
- package/dist/trace/viewerModel.d.ts +308 -0
- package/dist/trace/viewerModel.js +524 -0
- package/dist/trace/viewerModel.js.map +1 -0
- package/dist/trace/viewerServer.d.ts +7 -0
- package/dist/trace/viewerServer.js +185 -0
- package/dist/trace/viewerServer.js.map +1 -0
- package/dist/typeServer/protocol/typeServerProtocol.d.ts +8 -2
- package/dist/typeServer/protocol/typeServerProtocol.js +1 -0
- package/dist/typeServer/protocol/typeServerProtocol.js.map +1 -1
- package/dist/typeServer/typeServerConversionUtils.js +9 -0
- package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* overloadResult.test.ts
|
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
|
5
|
+
* Licensed under the MIT license.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
const assert_1 = require("assert");
|
|
9
|
+
const overloadResult_1 = require("../analyzer/overloadResult");
|
|
10
|
+
const typePrinter_1 = require("../analyzer/typePrinter");
|
|
11
|
+
const types_1 = require("../analyzer/types");
|
|
12
|
+
const uri_1 = require("../common/uri/uri");
|
|
13
|
+
function instance(name) {
|
|
14
|
+
return types_1.ClassType.cloneAsInstance(types_1.ClassType.createInstantiable(name, name, '', uri_1.Uri.empty(), 0 /* ClassTypeFlags.None */, 0, undefined, undefined));
|
|
15
|
+
}
|
|
16
|
+
const intType = instance('int');
|
|
17
|
+
const strType = instance('str');
|
|
18
|
+
const listType = instance('list');
|
|
19
|
+
const intList = types_1.ClassType.specialize(listType, [intType]);
|
|
20
|
+
const strList = types_1.ClassType.specialize(listType, [strType]);
|
|
21
|
+
function alternatives(reverse = false) {
|
|
22
|
+
return types_1.OverloadResultType.create(reverse ? [strList, intList] : [intList, strList], intList, 2 /* TypeCategory.Any */);
|
|
23
|
+
}
|
|
24
|
+
function signature(defaultType) {
|
|
25
|
+
const fn = types_1.FunctionType.createSynthesizedInstance('f');
|
|
26
|
+
types_1.FunctionType.addParam(fn, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'x', defaultType));
|
|
27
|
+
fn.shared.declaredReturnType = intType;
|
|
28
|
+
return fn;
|
|
29
|
+
}
|
|
30
|
+
function projected(type) {
|
|
31
|
+
const result = (0, overloadResult_1.projectOverloadResultBaseline)(type);
|
|
32
|
+
assert_1.strict.strictEqual(result.kind, 'projected');
|
|
33
|
+
(0, assert_1.strict)(result.kind === 'projected');
|
|
34
|
+
return result.type;
|
|
35
|
+
}
|
|
36
|
+
test('OverloadResult retains complete payload without pretending to be an ordinary type', () => {
|
|
37
|
+
const candidates = [intList, strList];
|
|
38
|
+
const result = types_1.OverloadResultType.create(candidates, intList, 2 /* TypeCategory.Any */);
|
|
39
|
+
candidates.reverse();
|
|
40
|
+
assert_1.strict.deepStrictEqual(result.priv.candidates, [intList, strList]);
|
|
41
|
+
(0, assert_1.strict)(Object.isFrozen(result.priv.candidates));
|
|
42
|
+
assert_1.strict.strictEqual(result.priv.baselineType, intList);
|
|
43
|
+
(0, assert_1.strict)((0, types_1.isOverloadResult)(result));
|
|
44
|
+
(0, assert_1.strict)(!(0, types_1.isUnion)(result));
|
|
45
|
+
(0, assert_1.strict)(!(0, types_1.isClass)(result));
|
|
46
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(result, types_1.ClassType.specialize(listType, [types_1.AnyType.create()])));
|
|
47
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(result, (0, types_1.combineTypes)([intList, strList])));
|
|
48
|
+
});
|
|
49
|
+
test('OverloadResult comparison retains uncertainty and baseline but ignores candidate order', () => {
|
|
50
|
+
(0, assert_1.strict)((0, types_1.isTypeSame)(alternatives(), alternatives(true)));
|
|
51
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(alternatives(), types_1.OverloadResultType.create([intList, strList], strList, 2 /* TypeCategory.Any */)));
|
|
52
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(alternatives(), types_1.OverloadResultType.create([intList, strList], intList, 1 /* TypeCategory.Unknown */)));
|
|
53
|
+
});
|
|
54
|
+
test('OverloadResult uses an honest display and ordinary baseline for Python-only syntax', () => {
|
|
55
|
+
const callback = (type) => type.shared.declaredReturnType ?? types_1.UnknownType.create();
|
|
56
|
+
assert_1.strict.strictEqual((0, typePrinter_1.printType)(alternatives(), 0 /* PrintTypeFlags.None */, callback), 'OverloadResult[list[int], list[str]]');
|
|
57
|
+
assert_1.strict.strictEqual((0, typePrinter_1.printType)(alternatives(), 256 /* PrintTypeFlags.PythonSyntax */, callback), 'list[int]');
|
|
58
|
+
});
|
|
59
|
+
test('OverloadResult survives ordinary union normalization in both orders', () => {
|
|
60
|
+
const ordinary = types_1.ClassType.specialize(listType, [types_1.AnyType.create()]);
|
|
61
|
+
for (const items of [
|
|
62
|
+
[alternatives(), ordinary],
|
|
63
|
+
[ordinary, alternatives()],
|
|
64
|
+
]) {
|
|
65
|
+
const union = (0, types_1.combineTypes)(items);
|
|
66
|
+
(0, assert_1.strict)((0, types_1.isUnion)(union));
|
|
67
|
+
assert_1.strict.strictEqual(union.priv.subtypes.length, 2);
|
|
68
|
+
(0, assert_1.strict)(union.priv.subtypes.some(types_1.isOverloadResult));
|
|
69
|
+
(0, assert_1.strict)((0, types_1.isTypeSame)(projected(union), (0, types_1.combineTypes)([intList, ordinary])));
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
test('OverloadResult equality does not erase callable defaults, receiver or stripped state', () => {
|
|
73
|
+
const first = signature(intType);
|
|
74
|
+
const second = signature(strType);
|
|
75
|
+
(0, assert_1.strict)((0, types_1.isTypeSame)(first, second));
|
|
76
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(first, second, { honorCallBehavior: true }));
|
|
77
|
+
for (const field of ['boundToType', 'strippedFirstParamType']) {
|
|
78
|
+
const left = signature(intType);
|
|
79
|
+
const right = signature(intType);
|
|
80
|
+
left.priv[field] = intList;
|
|
81
|
+
right.priv[field] = strList;
|
|
82
|
+
(0, assert_1.strict)((0, types_1.isTypeSame)(left, right));
|
|
83
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(left, right, { honorCallBehavior: true }));
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
test('OverloadResult equality retains ordered overloads, implementations and signature ownership', () => {
|
|
87
|
+
const first = signature(intType);
|
|
88
|
+
const second = signature(strType);
|
|
89
|
+
const implementation1 = signature(intType);
|
|
90
|
+
const implementation2 = signature(strType);
|
|
91
|
+
const owner1 = types_1.OverloadedType.create([first], implementation1);
|
|
92
|
+
const owner2 = types_1.OverloadedType.create([second], implementation2);
|
|
93
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(owner1, owner2, { honorCallBehavior: true }));
|
|
94
|
+
const sameSignature = signature(intType);
|
|
95
|
+
types_1.OverloadedType.create([sameSignature], signature(strType));
|
|
96
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(first, sameSignature, { honorCallBehavior: true }));
|
|
97
|
+
(0, assert_1.strict)(!(0, types_1.isTypeSame)(types_1.OverloadedType.create([signature(intType), signature(strType)]), types_1.OverloadedType.create([signature(strType), signature(intType)]), { honorCallBehavior: true }));
|
|
98
|
+
});
|
|
99
|
+
test('OverloadResult baseline projection preserves ordinary alias and tuple metadata', () => {
|
|
100
|
+
const tuple = types_1.ClassType.specialize(types_1.ClassType.cloneForTypingAlias(instance('tuple'), 'Tuple'), [alternatives()], false, true, [{ type: alternatives(), isUnbounded: false, isOptional: true }]);
|
|
101
|
+
const result = projected(tuple);
|
|
102
|
+
(0, assert_1.strict)((0, types_1.isClass)(result));
|
|
103
|
+
assert_1.strict.strictEqual(result.priv.aliasName, 'Tuple');
|
|
104
|
+
assert_1.strict.strictEqual(result.priv.isTypeArgExplicit, false);
|
|
105
|
+
assert_1.strict.strictEqual(result.priv.includeSubclasses, true);
|
|
106
|
+
assert_1.strict.strictEqual(result.priv.typeArgs[0], intList);
|
|
107
|
+
assert_1.strict.deepStrictEqual(result.priv.tupleTypeArgs, [{ type: intList, isUnbounded: false, isOptional: true }]);
|
|
108
|
+
(0, assert_1.strict)((0, types_1.isOverloadResult)(tuple.priv.typeArgs[0]));
|
|
109
|
+
});
|
|
110
|
+
test('OverloadResult projects callable parameters, defaults, return and bound payload without reparenting', () => {
|
|
111
|
+
const fn = signature(alternatives());
|
|
112
|
+
fn.shared.parameters[0] = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, alternatives(), types_1.FunctionParamFlags.TypeDeclared, 'x', alternatives());
|
|
113
|
+
fn.shared.declaredReturnType = alternatives();
|
|
114
|
+
fn.priv.strippedFirstParamType = alternatives();
|
|
115
|
+
fn.priv.boundToType = types_1.ClassType.specialize(listType, [alternatives()]);
|
|
116
|
+
const unchanged = signature(intType);
|
|
117
|
+
const implementation = signature(intType);
|
|
118
|
+
const owner = types_1.OverloadedType.create([fn, unchanged], implementation);
|
|
119
|
+
const result = projected(owner);
|
|
120
|
+
(0, assert_1.strict)((0, types_1.isOverloaded)(result));
|
|
121
|
+
const [projectedFn, projectedUnchanged] = types_1.OverloadedType.getOverloads(result);
|
|
122
|
+
assert_1.strict.strictEqual(types_1.FunctionType.getParamType(projectedFn, 0), intList);
|
|
123
|
+
assert_1.strict.strictEqual(types_1.FunctionType.getParamDefaultType(projectedFn, 0), intList);
|
|
124
|
+
assert_1.strict.strictEqual(types_1.FunctionType.getEffectiveReturnType(projectedFn), intList);
|
|
125
|
+
assert_1.strict.strictEqual(projectedFn.priv.strippedFirstParamType, intList);
|
|
126
|
+
assert_1.strict.strictEqual(projectedFn.priv.boundToType.priv.typeArgs[0], intList);
|
|
127
|
+
assert_1.strict.strictEqual(projectedFn.priv.overloaded, result);
|
|
128
|
+
assert_1.strict.strictEqual(projectedUnchanged.priv.overloaded, result);
|
|
129
|
+
assert_1.strict.strictEqual(fn.priv.overloaded, owner);
|
|
130
|
+
assert_1.strict.strictEqual(unchanged.priv.overloaded, owner);
|
|
131
|
+
assert_1.strict.strictEqual(implementation.priv.overloaded, owner);
|
|
132
|
+
(0, assert_1.strict)((0, types_1.isFunction)(types_1.OverloadedType.getImplementation(result)));
|
|
133
|
+
assert_1.strict.notStrictEqual(types_1.OverloadedType.getImplementation(result), implementation);
|
|
134
|
+
});
|
|
135
|
+
test('OverloadResult does not treat a mixed Never payload as ordinary Never', () => {
|
|
136
|
+
const never = types_1.NeverType.createNever();
|
|
137
|
+
const result = types_1.OverloadResultType.create([never, intList], never, 2 /* TypeCategory.Any */);
|
|
138
|
+
assert_1.strict.notStrictEqual(result.category, 3 /* TypeCategory.Never */);
|
|
139
|
+
assert_1.strict.strictEqual(projected(result), never);
|
|
140
|
+
});
|
|
141
|
+
test('OverloadResult baseline projection retains unchanged inputs by identity', () => {
|
|
142
|
+
assert_1.strict.strictEqual(projected(intList), intList);
|
|
143
|
+
assert_1.strict.strictEqual(projected(signature(intType)).category, 4 /* TypeCategory.Function */);
|
|
144
|
+
});
|
|
145
|
+
test('OverloadResult projection reports depth cutoff without pretending to have a baseline', () => {
|
|
146
|
+
let nested = alternatives();
|
|
147
|
+
for (let depth = 0; depth < 21; depth++) {
|
|
148
|
+
nested = types_1.ClassType.specialize(listType, [nested]);
|
|
149
|
+
}
|
|
150
|
+
const result = (0, overloadResult_1.projectOverloadResultBaseline)(nested);
|
|
151
|
+
assert_1.strict.strictEqual(result.kind, 'blocked');
|
|
152
|
+
(0, assert_1.strict)(result.kind === 'blocked');
|
|
153
|
+
assert_1.strict.strictEqual(result.reason, 'depth');
|
|
154
|
+
(0, assert_1.strict)(!('type' in result));
|
|
155
|
+
const largerBudget = (0, overloadResult_1.projectOverloadResultBaseline)(nested, { maxDepth: 24 });
|
|
156
|
+
assert_1.strict.strictEqual(largerBudget.kind, 'projected');
|
|
157
|
+
});
|
|
158
|
+
test('OverloadResult projection reports node cutoff even for a shallow ordinary enclosing value', () => {
|
|
159
|
+
const args = Array.from({ length: 4096 }, (_, index) => ({
|
|
160
|
+
type: types_1.ClassType.cloneWithLiteral(intType, index),
|
|
161
|
+
isUnbounded: false,
|
|
162
|
+
}));
|
|
163
|
+
args.push({ type: types_1.ClassType.specialize(listType, [alternatives()]), isUnbounded: false });
|
|
164
|
+
const tuple = types_1.ClassType.specialize(instance('tuple'), [types_1.AnyType.create()], true, false, args);
|
|
165
|
+
const result = (0, overloadResult_1.projectOverloadResultBaseline)(tuple);
|
|
166
|
+
assert_1.strict.strictEqual(result.kind, 'blocked');
|
|
167
|
+
(0, assert_1.strict)(result.kind === 'blocked');
|
|
168
|
+
assert_1.strict.strictEqual(result.reason, 'nodes');
|
|
169
|
+
assert_1.strict.strictEqual(result.visitedNodes, 4096);
|
|
170
|
+
(0, assert_1.strict)(!('type' in result));
|
|
171
|
+
assert_1.strict.strictEqual((0, overloadResult_1.projectOverloadResultBaseline)(tuple, { maxNodes: 4110 }).kind, 'projected');
|
|
172
|
+
});
|
|
173
|
+
test('OverloadResult projection rejects recursive value edges rather than leaking a wrapper', () => {
|
|
174
|
+
const cyclic = types_1.TypeBase.cloneType(listType);
|
|
175
|
+
cyclic.priv.typeArgs = [cyclic, alternatives()];
|
|
176
|
+
const result = (0, overloadResult_1.projectOverloadResultBaseline)(cyclic);
|
|
177
|
+
assert_1.strict.strictEqual(result.kind, 'blocked');
|
|
178
|
+
(0, assert_1.strict)(result.kind === 'blocked');
|
|
179
|
+
assert_1.strict.strictEqual(result.reason, 'cycle');
|
|
180
|
+
(0, assert_1.strict)(!('type' in result));
|
|
181
|
+
});
|
|
182
|
+
//# sourceMappingURL=overloadResult.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"overloadResult.test.js","sourceRoot":"","sources":["../../../../../src/tests/overloadResult.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|