@zzzen/pyright-internal 1.2.0-dev.20260920 → 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 +15 -1
- 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 +98 -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 +4 -0
- package/dist/analyzer/typeCacheUtils.js +36 -0
- 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 +10 -1
- package/dist/analyzer/typeEvaluator.js +351 -11
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +30 -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 +1 -0
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +16 -2
- package/dist/analyzer/types.js +94 -2
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +2 -0
- package/dist/common/configOptions.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/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/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 +59 -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 +237 -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/nativeAdapter.js +1 -5
- package/dist/trace/nativeAdapter.js.map +1 -1
- 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 +1 -1
|
@@ -128,11 +128,140 @@ describe(`Basic language server tests`, () => {
|
|
|
128
128
|
const completionItem = completionResult.items.find((i) => i.label === 'path');
|
|
129
129
|
(0, assert_1.default)(completionItem);
|
|
130
130
|
});
|
|
131
|
+
test.each([
|
|
132
|
+
{ decorated: false, direction: 'incoming' },
|
|
133
|
+
{ decorated: false, direction: 'outgoing' },
|
|
134
|
+
{ decorated: true, direction: 'incoming' },
|
|
135
|
+
{ decorated: true, direction: 'outgoing' },
|
|
136
|
+
])('Call hierarchy round trip: decorated=$decorated, direction=$direction', async ({ decorated, direction }) => {
|
|
137
|
+
const code = `
|
|
138
|
+
// @filename: test.py
|
|
139
|
+
//// from typing import Callable, TypeVar
|
|
140
|
+
//// F = TypeVar("F", bound=Callable[..., object])
|
|
141
|
+
//// def identity(f: F) -> F:
|
|
142
|
+
//// return f
|
|
143
|
+
////
|
|
144
|
+
//// def /*leaf*/leaf/*leafNameEnd*/():
|
|
145
|
+
//// pass
|
|
146
|
+
////
|
|
147
|
+
//// /*callerStart*/${decorated ? '@identity\n//// ' : ''}def /*caller*/caller/*callerNameEnd*/():
|
|
148
|
+
//// /*leafCall*/leaf/*leafCallEnd*/()/*callerEnd*/
|
|
149
|
+
////
|
|
150
|
+
//// /*parentStart*/def /*parent*/parent/*parentNameEnd*/():
|
|
151
|
+
//// /*callerCall*/caller/*callerCallEnd*/()/*parentEnd*/
|
|
152
|
+
`;
|
|
153
|
+
const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code);
|
|
154
|
+
await (0, languageServerTestUtils_1.openFile)(info, 'leaf');
|
|
155
|
+
const marker = info.testData.markerPositions.get('leaf');
|
|
156
|
+
const uri = marker.fileUri.toString();
|
|
157
|
+
const text = info.testData.files.find((file) => file.fileName === marker.fileName).content;
|
|
158
|
+
const lines = (0, languageServerTestUtils_1.getParseResults)(text).tokenizerOutput.lines;
|
|
159
|
+
const position = (name) => (0, positionUtils_1.convertOffsetToPosition)(info.testData.markerPositions.get(name).position, lines);
|
|
160
|
+
const range = (start, end) => ({ start: position(start), end: position(end) });
|
|
161
|
+
const prepared = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyPrepareRequest.type, { textDocument: { uri }, position: position('leaf') }, vscode_languageserver_1.CancellationToken.None);
|
|
162
|
+
(0, assert_1.default)(prepared);
|
|
163
|
+
assert_1.default.strictEqual(prepared.length, 1);
|
|
164
|
+
const incoming = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyIncomingCallsRequest.type, { item: prepared[0] }, vscode_languageserver_1.CancellationToken.None);
|
|
165
|
+
(0, assert_1.default)(incoming);
|
|
166
|
+
assert_1.default.strictEqual(incoming.length, 1);
|
|
167
|
+
const caller = incoming[0].from;
|
|
168
|
+
expect(caller).toEqual(expect.objectContaining({
|
|
169
|
+
name: 'caller',
|
|
170
|
+
kind: vscode_languageserver_1.SymbolKind.Function,
|
|
171
|
+
uri,
|
|
172
|
+
range: range('callerStart', 'callerEnd'),
|
|
173
|
+
selectionRange: range('caller', 'callerNameEnd'),
|
|
174
|
+
}));
|
|
175
|
+
expect(incoming[0].fromRanges).toEqual([range('leafCall', 'leafCallEnd')]);
|
|
176
|
+
// Send the returned item unchanged, as a client expanding the hierarchy would.
|
|
177
|
+
if (direction === 'incoming') {
|
|
178
|
+
const parents = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyIncomingCallsRequest.type, { item: caller }, vscode_languageserver_1.CancellationToken.None);
|
|
179
|
+
expect(parents).toEqual([
|
|
180
|
+
{
|
|
181
|
+
from: expect.objectContaining({
|
|
182
|
+
name: 'parent',
|
|
183
|
+
kind: vscode_languageserver_1.SymbolKind.Function,
|
|
184
|
+
uri,
|
|
185
|
+
range: range('parentStart', 'parentEnd'),
|
|
186
|
+
selectionRange: range('parent', 'parentNameEnd'),
|
|
187
|
+
}),
|
|
188
|
+
fromRanges: [range('callerCall', 'callerCallEnd')],
|
|
189
|
+
},
|
|
190
|
+
]);
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
const outgoing = await info.connection.sendRequest(vscode_languageserver_1.CallHierarchyOutgoingCallsRequest.type, { item: caller }, vscode_languageserver_1.CancellationToken.None);
|
|
194
|
+
(0, assert_1.default)(outgoing);
|
|
195
|
+
assert_1.default.strictEqual(outgoing.length, 1);
|
|
196
|
+
assert_1.default.strictEqual(outgoing[0].to.name, 'leaf');
|
|
197
|
+
assert_1.default.strictEqual(outgoing[0].to.uri, uri);
|
|
198
|
+
expect(outgoing[0].to.selectionRange).toEqual(range('leaf', 'leafNameEnd'));
|
|
199
|
+
expect(outgoing[0].fromRanges).toEqual([range('leafCall', 'leafCallEnd')]);
|
|
200
|
+
}
|
|
201
|
+
});
|
|
131
202
|
[false, true].forEach((supportsPullDiagnostics) => {
|
|
132
203
|
describe(`Diagnostics ${supportsPullDiagnostics ? 'pull' : 'push'}`, () => {
|
|
133
204
|
// Background analysis takes longer than 5 seconds sometimes, so we need to
|
|
134
205
|
// increase the timeout.
|
|
135
206
|
jest.setTimeout(200000);
|
|
207
|
+
test.each([false, true])('automatic overload results default with background thread=%s', async (supportsBackgroundThread) => {
|
|
208
|
+
const code = `
|
|
209
|
+
// @filename: root/test.py
|
|
210
|
+
//// from typing import Any, overload
|
|
211
|
+
//// @overload
|
|
212
|
+
//// def choose(value: list[int]) -> list[int]: ...
|
|
213
|
+
//// @overload
|
|
214
|
+
//// def choose(value: list[str]) -> list[str]: ...
|
|
215
|
+
//// def choose(value: Any) -> Any:
|
|
216
|
+
//// return value
|
|
217
|
+
//// def check(value: list[Any]) -> None:
|
|
218
|
+
//// [|/*result*/result|] = choose(value)
|
|
219
|
+
//// integer: list[int] = result
|
|
220
|
+
//// string: list[str] = result
|
|
221
|
+
//// result.append(1)
|
|
222
|
+
//// result.append("x")
|
|
223
|
+
//// bad: list[bytes] = result
|
|
224
|
+
//// result.append(3.14)
|
|
225
|
+
//// result.nonexistent()
|
|
226
|
+
//// def ordinary(value: list[int]) -> None:
|
|
227
|
+
//// [|/*concrete*/concrete|] = choose(value)
|
|
228
|
+
//// concrete.append("bad")
|
|
229
|
+
`;
|
|
230
|
+
const info = await runLanguageServer(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, code, true, [
|
|
231
|
+
{
|
|
232
|
+
item: {
|
|
233
|
+
scopeUri: `file://${(0, pathUtils_1.normalizeSlashes)(languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, '/')}`,
|
|
234
|
+
section: 'python.analysis',
|
|
235
|
+
},
|
|
236
|
+
value: { typeCheckingMode: 'standard' },
|
|
237
|
+
},
|
|
238
|
+
], undefined, supportsBackgroundThread, supportsPullDiagnostics);
|
|
239
|
+
await (0, languageServerTestUtils_1.openFile)(info, 'result');
|
|
240
|
+
for (const [marker, type] of [
|
|
241
|
+
['result', 'OverloadResult[list[int], list[str]]'],
|
|
242
|
+
['concrete', 'list[int]'],
|
|
243
|
+
]) {
|
|
244
|
+
const result = await (0, languageServerTestUtils_1.hover)(info, marker);
|
|
245
|
+
(0, assert_1.default)(result && vscode_languageserver_1.MarkupContent.is(result.contents));
|
|
246
|
+
assert_1.default.strictEqual(result.contents.value, `\`\`\`python\n(variable) ${marker}: ${type}\n\`\`\``);
|
|
247
|
+
}
|
|
248
|
+
const diagnostics = (await (0, languageServerTestUtils_1.waitForDiagnostics)(info)).find((d) => d.uri.endsWith('root/test.py'));
|
|
249
|
+
(0, assert_1.default)(diagnostics);
|
|
250
|
+
const marker = info.testData.markerPositions.get('result');
|
|
251
|
+
const content = info.testData.files.find((f) => f.fileName === marker.fileName).content;
|
|
252
|
+
const expected = [
|
|
253
|
+
['bad: list[bytes]', 'reportAssignmentType'],
|
|
254
|
+
['result.append(3.14)', 'reportArgumentType'],
|
|
255
|
+
['result.nonexistent()', 'reportAttributeAccessIssue'],
|
|
256
|
+
['concrete.append("bad")', 'reportArgumentType'],
|
|
257
|
+
];
|
|
258
|
+
assert_1.default.deepStrictEqual(Array.from(diagnostics.diagnostics)
|
|
259
|
+
.filter((d) => d.severity === vscode_languageserver_1.DiagnosticSeverity.Error)
|
|
260
|
+
.map((d) => [d.range.start.line, d.code]), expected.map(([text, rule]) => [
|
|
261
|
+
content.slice(0, content.indexOf(text)).split('\n').length - 1,
|
|
262
|
+
rule,
|
|
263
|
+
]));
|
|
264
|
+
});
|
|
136
265
|
test('background thread diagnostics', async () => {
|
|
137
266
|
const code = `
|
|
138
267
|
// @filename: root/test.py
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"languageServer.test.js","sourceRoot":"","sources":["../../../../../src/tests/languageServer.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -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 {};
|