@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.
Files changed (199) hide show
  1. package/dist/analyzer/checker.d.ts +2 -1
  2. package/dist/analyzer/checker.js +17 -4
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +9 -3
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/operations.js +1 -1
  7. package/dist/analyzer/operations.js.map +1 -1
  8. package/dist/analyzer/overloadResult.d.ts +15 -0
  9. package/dist/analyzer/overloadResult.js +233 -0
  10. package/dist/analyzer/overloadResult.js.map +1 -0
  11. package/dist/analyzer/overloadResultAdmission.d.ts +20 -0
  12. package/dist/analyzer/overloadResultAdmission.js +448 -0
  13. package/dist/analyzer/overloadResultAdmission.js.map +1 -0
  14. package/dist/analyzer/overloadResultController.d.ts +227 -0
  15. package/dist/analyzer/overloadResultController.js +904 -0
  16. package/dist/analyzer/overloadResultController.js.map +1 -0
  17. package/dist/analyzer/overloadResultSelector.d.ts +24 -0
  18. package/dist/analyzer/overloadResultSelector.js +131 -0
  19. package/dist/analyzer/overloadResultSelector.js.map +1 -0
  20. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  21. package/dist/analyzer/parseTreeUtils.js +4 -0
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/program.d.ts +13 -2
  24. package/dist/analyzer/program.js +99 -46
  25. package/dist/analyzer/program.js.map +1 -1
  26. package/dist/analyzer/protocols.d.ts +1 -0
  27. package/dist/analyzer/protocols.js +286 -6
  28. package/dist/analyzer/protocols.js.map +1 -1
  29. package/dist/analyzer/sourceFile.d.ts +6 -2
  30. package/dist/analyzer/sourceFile.js +9 -3
  31. package/dist/analyzer/sourceFile.js.map +1 -1
  32. package/dist/analyzer/tracePrinter.js +4 -0
  33. package/dist/analyzer/tracePrinter.js.map +1 -1
  34. package/dist/analyzer/typeCacheUtils.d.ts +5 -0
  35. package/dist/analyzer/typeCacheUtils.js +64 -1
  36. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  37. package/dist/analyzer/typeComplexity.js +2 -0
  38. package/dist/analyzer/typeComplexity.js.map +1 -1
  39. package/dist/analyzer/typeEvaluator.d.ts +11 -2
  40. package/dist/analyzer/typeEvaluator.js +358 -21
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +31 -1
  43. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  44. package/dist/analyzer/typeGuards.d.ts +1 -1
  45. package/dist/analyzer/typePrinter.js +8 -0
  46. package/dist/analyzer/typePrinter.js.map +1 -1
  47. package/dist/analyzer/typeUtils.d.ts +1 -1
  48. package/dist/analyzer/typeUtils.js +29 -26
  49. package/dist/analyzer/typeUtils.js.map +1 -1
  50. package/dist/analyzer/typeWalker.d.ts +2 -1
  51. package/dist/analyzer/typeWalker.js +12 -0
  52. package/dist/analyzer/typeWalker.js.map +1 -1
  53. package/dist/analyzer/typedDicts.js +4 -7
  54. package/dist/analyzer/typedDicts.js.map +1 -1
  55. package/dist/analyzer/types.d.ts +16 -2
  56. package/dist/analyzer/types.js +101 -2
  57. package/dist/analyzer/types.js.map +1 -1
  58. package/dist/common/configOptions.d.ts +2 -0
  59. package/dist/common/configOptions.js +18 -0
  60. package/dist/common/configOptions.js.map +1 -1
  61. package/dist/common/envVarUtils.js +3 -3
  62. package/dist/common/envVarUtils.js.map +1 -1
  63. package/dist/languageServerBase.js +2 -2
  64. package/dist/languageServerBase.js.map +1 -1
  65. package/dist/languageService/callHierarchyProvider.js +3 -2
  66. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  67. package/dist/languageService/completionProvider.js +4 -1
  68. package/dist/languageService/completionProvider.js.map +1 -1
  69. package/dist/tests/config.test.js +48 -0
  70. package/dist/tests/config.test.js.map +1 -1
  71. package/dist/tests/envVarUtils.test.js +16 -0
  72. package/dist/tests/envVarUtils.test.js.map +1 -1
  73. package/dist/tests/evaluationTrace.integration.test.d.ts +1 -0
  74. package/dist/tests/evaluationTrace.integration.test.js +266 -0
  75. package/dist/tests/evaluationTrace.integration.test.js.map +1 -0
  76. package/dist/tests/evaluationTrace.test.d.ts +1 -0
  77. package/dist/tests/evaluationTrace.test.js +422 -0
  78. package/dist/tests/evaluationTrace.test.js.map +1 -0
  79. package/dist/tests/evaluationTrace.viewer.test.d.ts +1 -0
  80. package/dist/tests/evaluationTrace.viewer.test.js +529 -0
  81. package/dist/tests/evaluationTrace.viewer.test.js.map +1 -0
  82. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +10 -6
  83. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  84. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +16 -10
  85. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  86. package/dist/tests/harness/fourslash/testState.js +10 -9
  87. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  88. package/dist/tests/languageServer.test.js +129 -0
  89. package/dist/tests/languageServer.test.js.map +1 -1
  90. package/dist/tests/mypyPrimerAnalysis.test.js +1193 -47
  91. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  92. package/dist/tests/mypyPrimerMcp.test.d.ts +1 -0
  93. package/dist/tests/mypyPrimerMcp.test.js +186 -0
  94. package/dist/tests/mypyPrimerMcp.test.js.map +1 -0
  95. package/dist/tests/overloadResult.test.d.ts +1 -0
  96. package/dist/tests/overloadResult.test.js +182 -0
  97. package/dist/tests/overloadResult.test.js.map +1 -0
  98. package/dist/tests/overloadResultController.test.d.ts +1 -0
  99. package/dist/tests/overloadResultController.test.js +2146 -0
  100. package/dist/tests/overloadResultController.test.js.map +1 -0
  101. package/dist/tests/protocolRequirement.test.d.ts +1 -0
  102. package/dist/tests/protocolRequirement.test.js +122 -0
  103. package/dist/tests/protocolRequirement.test.js.map +1 -0
  104. package/dist/tests/protocolRequirementAdversarial.test.d.ts +1 -0
  105. package/dist/tests/protocolRequirementAdversarial.test.js +92 -0
  106. package/dist/tests/protocolRequirementAdversarial.test.js.map +1 -0
  107. package/dist/tests/protocolRequirementBoundary.test.d.ts +1 -0
  108. package/dist/tests/protocolRequirementBoundary.test.js +119 -0
  109. package/dist/tests/protocolRequirementBoundary.test.js.map +1 -0
  110. package/dist/tests/protocolRequirementComplexity.test.d.ts +1 -0
  111. package/dist/tests/protocolRequirementComplexity.test.js +159 -0
  112. package/dist/tests/protocolRequirementComplexity.test.js.map +1 -0
  113. package/dist/tests/protocolRequirementCycles.test.d.ts +1 -0
  114. package/dist/tests/protocolRequirementCycles.test.js +160 -0
  115. package/dist/tests/protocolRequirementCycles.test.js.map +1 -0
  116. package/dist/tests/protocolRequirementGeneral.test.d.ts +1 -0
  117. package/dist/tests/protocolRequirementGeneral.test.js +120 -0
  118. package/dist/tests/protocolRequirementGeneral.test.js.map +1 -0
  119. package/dist/tests/protocolRequirementInstances.test.d.ts +1 -0
  120. package/dist/tests/protocolRequirementInstances.test.js +164 -0
  121. package/dist/tests/protocolRequirementInstances.test.js.map +1 -0
  122. package/dist/tests/protocolRequirementListStub.test.d.ts +1 -0
  123. package/dist/tests/protocolRequirementListStub.test.js +244 -0
  124. package/dist/tests/protocolRequirementListStub.test.js.map +1 -0
  125. package/dist/tests/protocolRequirementPopulated.test.d.ts +1 -0
  126. package/dist/tests/protocolRequirementPopulated.test.js +172 -0
  127. package/dist/tests/protocolRequirementPopulated.test.js.map +1 -0
  128. package/dist/tests/protocolRequirementRecursive.test.d.ts +1 -0
  129. package/dist/tests/protocolRequirementRecursive.test.js +118 -0
  130. package/dist/tests/protocolRequirementRecursive.test.js.map +1 -0
  131. package/dist/tests/protocolRequirementSpeculative.test.d.ts +1 -0
  132. package/dist/tests/protocolRequirementSpeculative.test.js +200 -0
  133. package/dist/tests/protocolRequirementSpeculative.test.js.map +1 -0
  134. package/dist/tests/protocolRequirementState.test.d.ts +1 -0
  135. package/dist/tests/protocolRequirementState.test.js +161 -0
  136. package/dist/tests/protocolRequirementState.test.js.map +1 -0
  137. package/dist/tests/testState.test.js +64 -0
  138. package/dist/tests/testState.test.js.map +1 -1
  139. package/dist/tests/testUtils.d.ts +6 -1
  140. package/dist/tests/testUtils.js +11 -6
  141. package/dist/tests/testUtils.js.map +1 -1
  142. package/dist/tests/typeCacheIsolation.test.d.ts +1 -0
  143. package/dist/tests/typeCacheIsolation.test.js +109 -0
  144. package/dist/tests/typeCacheIsolation.test.js.map +1 -0
  145. package/dist/tests/typeCacheUtils.test.js +74 -0
  146. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  147. package/dist/tests/typeEvaluator1.test.js +5 -1
  148. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  149. package/dist/tests/typeEvaluator4.test.js +6 -2
  150. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  151. package/dist/tests/typeEvaluator5.test.js +25 -0
  152. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  153. package/dist/tests/typeEvaluator6.test.js +7 -23
  154. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  155. package/dist/tests/typeEvaluator7.test.js +241 -2
  156. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  157. package/dist/tests/typeServer/typeServer.inProc.test.js +86 -0
  158. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  159. package/dist/tests/typeUtils.test.js +36 -0
  160. package/dist/tests/typeUtils.test.js.map +1 -1
  161. package/dist/trace/capture.d.ts +31 -0
  162. package/dist/trace/capture.js +272 -0
  163. package/dist/trace/capture.js.map +1 -0
  164. package/dist/trace/cli.d.ts +1 -0
  165. package/dist/trace/cli.js +196 -0
  166. package/dist/trace/cli.js.map +1 -0
  167. package/dist/trace/nativeAdapter.d.ts +16 -0
  168. package/dist/trace/nativeAdapter.js +418 -0
  169. package/dist/trace/nativeAdapter.js.map +1 -0
  170. package/dist/trace/nativeBridge.d.ts +46 -0
  171. package/dist/trace/nativeBridge.js +416 -0
  172. package/dist/trace/nativeBridge.js.map +1 -0
  173. package/dist/trace/reader.d.ts +83 -0
  174. package/dist/trace/reader.js +296 -0
  175. package/dist/trace/reader.js.map +1 -0
  176. package/dist/trace/recorder.d.ts +59 -0
  177. package/dist/trace/recorder.js +303 -0
  178. package/dist/trace/recorder.js.map +1 -0
  179. package/dist/trace/runtimeLoader.d.ts +23 -0
  180. package/dist/trace/runtimeLoader.js +172 -0
  181. package/dist/trace/runtimeLoader.js.map +1 -0
  182. package/dist/trace/viewerAssets.d.ts +2 -0
  183. package/dist/trace/viewerAssets.js +76 -0
  184. package/dist/trace/viewerAssets.js.map +1 -0
  185. package/dist/trace/viewerClient.d.ts +1 -0
  186. package/dist/trace/viewerClient.js +485 -0
  187. package/dist/trace/viewerClient.js.map +1 -0
  188. package/dist/trace/viewerModel.d.ts +308 -0
  189. package/dist/trace/viewerModel.js +524 -0
  190. package/dist/trace/viewerModel.js.map +1 -0
  191. package/dist/trace/viewerServer.d.ts +7 -0
  192. package/dist/trace/viewerServer.js +185 -0
  193. package/dist/trace/viewerServer.js.map +1 -0
  194. package/dist/typeServer/protocol/typeServerProtocol.d.ts +8 -2
  195. package/dist/typeServer/protocol/typeServerProtocol.js +1 -0
  196. package/dist/typeServer/protocol/typeServerProtocol.js.map +1 -1
  197. package/dist/typeServer/typeServerConversionUtils.js +9 -0
  198. package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
  199. 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 {};