@zzzen/pyright-internal 1.2.0-dev.20231001 → 1.2.0-dev.20231008
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 +3 -1
- package/dist/analyzer/checker.js +55 -17
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +10 -3
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/decorators.d.ts +6 -1
- package/dist/analyzer/decorators.js +31 -24
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -0
- package/dist/analyzer/parseTreeUtils.js +21 -2
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/properties.js +4 -0
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +7 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/scopeUtils.js +3 -2
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.d.ts +2 -1
- package/dist/analyzer/typeEvaluator.js +147 -222
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +7 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +55 -43
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.js +1 -1
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -0
- package/dist/analyzer/types.js +3 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -6
- package/dist/common/extensibility.js +6 -7
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +1 -1
- package/dist/common/pythonVersion.js +1 -1
- package/dist/common/realFileSystem.js +9 -16
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +1 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +3 -2
- package/dist/common/serviceProviderExtensions.js +2 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -0
- package/dist/languageServerBase.js +28 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +0 -1
- package/dist/languageService/callHierarchyProvider.js +33 -16
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +4 -5
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +5 -2
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +32 -23
- package/dist/languageService/documentSymbolCollector.js +170 -267
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +1 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +6 -6
- package/dist/languageService/referencesProvider.js +23 -8
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.js +3 -3
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +21 -0
- package/dist/localization/localize.js +7 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +4 -0
- package/dist/localization/package.nls.de.json +4 -0
- package/dist/localization/package.nls.en-us.json +7 -0
- package/dist/localization/package.nls.es.json +4 -0
- package/dist/localization/package.nls.fr.json +4 -0
- package/dist/localization/package.nls.it.json +4 -0
- package/dist/localization/package.nls.ja.json +4 -0
- package/dist/localization/package.nls.ko.json +4 -0
- package/dist/localization/package.nls.pl.json +4 -0
- package/dist/localization/package.nls.pt-br.json +4 -0
- package/dist/localization/package.nls.qps-ploc.json +4 -0
- package/dist/localization/package.nls.ru.json +4 -0
- package/dist/localization/package.nls.tr.json +4 -0
- package/dist/localization/package.nls.zh-cn.json +4 -0
- package/dist/localization/package.nls.zh-tw.json +4 -0
- package/dist/parser/stringTokenUtils.js +9 -5
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +1 -0
- package/dist/parser/tokenizer.js +5 -5
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/tests/checker.test.js +8 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +8 -363
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +3 -0
- package/dist/tests/testStateUtils.js +25 -1
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +9 -5
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +7 -3
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +8 -8
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +4 -2
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +2 -1
- package/dist/workspaceFactory.js +3 -1
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +0 -1
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +0 -40
- package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js.map +0 -1
@@ -6,18 +6,9 @@
|
|
6
6
|
*
|
7
7
|
* Tests documentSymbolCollector
|
8
8
|
*/
|
9
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
10
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
11
|
-
};
|
12
9
|
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
-
const assert_1 = __importDefault(require("assert"));
|
14
|
-
const vscode_languageserver_1 = require("vscode-languageserver");
|
15
|
-
const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
|
16
|
-
const collectionUtils_1 = require("../common/collectionUtils");
|
17
|
-
const core_1 = require("../common/core");
|
18
|
-
const textRange_1 = require("../common/textRange");
|
19
|
-
const documentSymbolCollector_1 = require("../languageService/documentSymbolCollector");
|
20
10
|
const testState_1 = require("./harness/fourslash/testState");
|
11
|
+
const testStateUtils_1 = require("./testStateUtils");
|
21
12
|
test('folder reference', () => {
|
22
13
|
const code = `
|
23
14
|
// @filename: common/__init__.py
|
@@ -67,7 +58,7 @@ test('folder reference', () => {
|
|
67
58
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
68
59
|
const ranges = state.getRangesByText().get('io2');
|
69
60
|
for (const range of ranges) {
|
70
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'io2', range.fileName, range.pos, ranges);
|
61
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'io2', range.fileName, range.pos, ranges);
|
71
62
|
}
|
72
63
|
});
|
73
64
|
test('__init__ wildcard import', () => {
|
@@ -119,7 +110,7 @@ test('__init__ wildcard import', () => {
|
|
119
110
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
120
111
|
const ranges = state.getRangesByText().get('tools');
|
121
112
|
for (const range of ranges) {
|
122
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'tools', range.fileName, range.pos, ranges);
|
113
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'tools', range.fileName, range.pos, ranges);
|
123
114
|
}
|
124
115
|
});
|
125
116
|
test('submodule wildcard import', () => {
|
@@ -171,7 +162,7 @@ test('submodule wildcard import', () => {
|
|
171
162
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
172
163
|
const ranges = state.getRangesByText().get('pathUtils');
|
173
164
|
for (const range of ranges) {
|
174
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'pathUtils', range.fileName, range.pos, ranges);
|
165
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'pathUtils', range.fileName, range.pos, ranges);
|
175
166
|
}
|
176
167
|
});
|
177
168
|
test('use localName import alias', () => {
|
@@ -320,7 +311,7 @@ test('import dotted name', () => {
|
|
320
311
|
function verify(name) {
|
321
312
|
const ranges = state.getRangesByText().get(name);
|
322
313
|
for (const range of ranges) {
|
323
|
-
verifyReferencesAtPosition(state.program, state.configOptions, name, range.fileName, range.pos, ranges);
|
314
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, name, range.fileName, range.pos, ranges);
|
324
315
|
}
|
325
316
|
}
|
326
317
|
verify('nest1');
|
@@ -347,10 +338,10 @@ test('import alias', () => {
|
|
347
338
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
348
339
|
const marker1 = state.getMarkerByName('marker1');
|
349
340
|
const ranges1 = state.getRangesByText().get('module1');
|
350
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'module1', marker1.fileName, marker1.position, ranges1);
|
341
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'module1', marker1.fileName, marker1.position, ranges1);
|
351
342
|
const marker2 = state.getMarkerByName('marker2');
|
352
343
|
const ranges2 = state.getRangesByText().get('module2');
|
353
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'module2', marker2.fileName, marker2.position, ranges2);
|
344
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'module2', marker2.fileName, marker2.position, ranges2);
|
354
345
|
});
|
355
346
|
test('string in __all__', () => {
|
356
347
|
const code = `
|
@@ -365,352 +356,6 @@ test('string in __all__', () => {
|
|
365
356
|
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
366
357
|
const marker1 = state.getMarkerByName('marker1');
|
367
358
|
const ranges1 = state.getRangesByText().get('A');
|
368
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'A', marker1.fileName, marker1.position, ranges1);
|
359
|
+
(0, testStateUtils_1.verifyReferencesAtPosition)(state.program, state.configOptions, 'A', marker1.fileName, marker1.position, ranges1);
|
369
360
|
});
|
370
|
-
test('overridden symbols test', () => {
|
371
|
-
const code = `
|
372
|
-
// @filename: test.py
|
373
|
-
//// class B:
|
374
|
-
//// def [|foo|](self):
|
375
|
-
//// pass
|
376
|
-
////
|
377
|
-
//// class C(B):
|
378
|
-
//// def [|foo|](self):
|
379
|
-
//// pass
|
380
|
-
////
|
381
|
-
//// B().[|foo|]()
|
382
|
-
//// C().[|foo|]()
|
383
|
-
`;
|
384
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
385
|
-
const ranges = state.getRangesByText().get('foo');
|
386
|
-
for (const range of ranges) {
|
387
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
388
|
-
}
|
389
|
-
});
|
390
|
-
test('overridden symbols multi inheritance test', () => {
|
391
|
-
const code = `
|
392
|
-
// @filename: test.py
|
393
|
-
//// class A:
|
394
|
-
//// def [|foo|](self):
|
395
|
-
//// pass
|
396
|
-
////
|
397
|
-
//// class B:
|
398
|
-
//// def [|foo|](self):
|
399
|
-
//// pass
|
400
|
-
////
|
401
|
-
//// class C(A, B):
|
402
|
-
//// def [|/*marker*/foo|](self):
|
403
|
-
//// pass
|
404
|
-
////
|
405
|
-
//// A().[|foo|]()
|
406
|
-
//// B().[|foo|]()
|
407
|
-
//// C().[|foo|]()
|
408
|
-
`;
|
409
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
410
|
-
const marker = state.getMarkerByName('marker');
|
411
|
-
const ranges = state.getRangesByText().get('foo');
|
412
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', marker.fileName, marker.position, ranges);
|
413
|
-
});
|
414
|
-
test('__init__ test', () => {
|
415
|
-
const code = `
|
416
|
-
// @filename: test.py
|
417
|
-
//// class A:
|
418
|
-
//// def __init__(self):
|
419
|
-
//// pass
|
420
|
-
////
|
421
|
-
//// class B:
|
422
|
-
//// def __init__(self):
|
423
|
-
//// pass
|
424
|
-
////
|
425
|
-
//// class C(A, B):
|
426
|
-
//// def [|/*marker*/__init__|](self):
|
427
|
-
//// pass
|
428
|
-
////
|
429
|
-
//// A()
|
430
|
-
//// B()
|
431
|
-
//// [|C|]()
|
432
|
-
`;
|
433
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
434
|
-
const marker = state.getMarkerByName('marker');
|
435
|
-
const ranges = state.getRangesByText().get('__init__');
|
436
|
-
ranges.push(...state.getRangesByText().get('C'));
|
437
|
-
verifyReferencesAtPosition(state.program, state.configOptions, ['__init__', 'C'], marker.fileName, marker.position, ranges);
|
438
|
-
});
|
439
|
-
test('super __init__ test', () => {
|
440
|
-
const code = `
|
441
|
-
// @filename: test.py
|
442
|
-
//// class A:
|
443
|
-
//// def [|__init__|](self):
|
444
|
-
//// pass
|
445
|
-
////
|
446
|
-
//// class B:
|
447
|
-
//// def __init__(self):
|
448
|
-
//// pass
|
449
|
-
////
|
450
|
-
//// class C(A, B):
|
451
|
-
//// def __init__(self):
|
452
|
-
//// super().[|/*marker*/__init__|]()
|
453
|
-
//// pass
|
454
|
-
////
|
455
|
-
//// [|A|]()
|
456
|
-
//// B()
|
457
|
-
//// C()
|
458
|
-
`;
|
459
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
460
|
-
const marker = state.getMarkerByName('marker');
|
461
|
-
const ranges = state.getRangesByText().get('__init__');
|
462
|
-
ranges.push(...state.getRangesByText().get('A'));
|
463
|
-
verifyReferencesAtPosition(state.program, state.configOptions, ['__init__', 'A'], marker.fileName, marker.position, ranges);
|
464
|
-
});
|
465
|
-
test('__init__ internal class test', () => {
|
466
|
-
const code = `
|
467
|
-
// @filename: test.py
|
468
|
-
//// class A:
|
469
|
-
//// def __init__(self):
|
470
|
-
//// class A_inner:
|
471
|
-
//// def [|/*marker*/__init__|](self):
|
472
|
-
//// pass
|
473
|
-
//// self.inner = [|A_inner|]()
|
474
|
-
////
|
475
|
-
////
|
476
|
-
//// class B:
|
477
|
-
//// def __init__(self):
|
478
|
-
//// pass
|
479
|
-
////
|
480
|
-
//// class C(A, B):
|
481
|
-
//// def __init__(self):
|
482
|
-
//// pass
|
483
|
-
////
|
484
|
-
//// A()
|
485
|
-
//// B()
|
486
|
-
//// C()
|
487
|
-
`;
|
488
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
489
|
-
const marker = state.getMarkerByName('marker');
|
490
|
-
const ranges = state.getRangesByText().get('__init__');
|
491
|
-
ranges.push(...state.getRangesByText().get('A_inner'));
|
492
|
-
verifyReferencesAtPosition(state.program, state.configOptions, ['__init__', 'A_inner'], marker.fileName, marker.position, ranges);
|
493
|
-
});
|
494
|
-
test('overridden symbols multi inheritance with multiple base with same name test', () => {
|
495
|
-
const code = `
|
496
|
-
// @filename: test.py
|
497
|
-
//// class A:
|
498
|
-
//// def [|/*marker*/foo|](self):
|
499
|
-
//// pass
|
500
|
-
////
|
501
|
-
//// class B:
|
502
|
-
//// def foo(self):
|
503
|
-
//// pass
|
504
|
-
////
|
505
|
-
//// class C(A, B):
|
506
|
-
//// def [|foo|](self):
|
507
|
-
//// pass
|
508
|
-
////
|
509
|
-
//// A().[|foo|]()
|
510
|
-
//// B().foo()
|
511
|
-
//// C().[|foo|]()
|
512
|
-
`;
|
513
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
514
|
-
const marker = state.getMarkerByName('marker');
|
515
|
-
const ranges = state.getRangesByText().get('foo');
|
516
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', marker.fileName, marker.position, ranges);
|
517
|
-
});
|
518
|
-
test('protocol member symbol test', () => {
|
519
|
-
const code = `
|
520
|
-
// @filename: test.py
|
521
|
-
//// from typing import Protocol
|
522
|
-
////
|
523
|
-
//// class A:
|
524
|
-
//// def foo(self):
|
525
|
-
//// pass
|
526
|
-
////
|
527
|
-
//// class P(Protocol):
|
528
|
-
//// def [|foo|](self): ...
|
529
|
-
////
|
530
|
-
//// def foo(p: P):
|
531
|
-
//// p.[|/*marker*/foo|]()
|
532
|
-
////
|
533
|
-
//// foo(A().foo())
|
534
|
-
`;
|
535
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
536
|
-
const marker = state.getMarkerByName('marker');
|
537
|
-
const ranges = state.getRangesByText().get('foo');
|
538
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', marker.fileName, marker.position, ranges);
|
539
|
-
});
|
540
|
-
test('overridden symbols nested inheritance test', () => {
|
541
|
-
const code = `
|
542
|
-
// @filename: test.py
|
543
|
-
//// class A:
|
544
|
-
//// def [|foo|](self):
|
545
|
-
//// pass
|
546
|
-
////
|
547
|
-
//// class B(A):
|
548
|
-
//// def [|foo|](self):
|
549
|
-
//// pass
|
550
|
-
////
|
551
|
-
//// class C(B):
|
552
|
-
//// def [|foo|](self):
|
553
|
-
//// pass
|
554
|
-
////
|
555
|
-
//// A().[|foo|]()
|
556
|
-
//// B().[|foo|]()
|
557
|
-
//// C().[|foo|]()
|
558
|
-
`;
|
559
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
560
|
-
const ranges = state.getRangesByText().get('foo');
|
561
|
-
for (const range of ranges) {
|
562
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
563
|
-
}
|
564
|
-
});
|
565
|
-
test('overridden symbols nested inheritance no direct override test', () => {
|
566
|
-
const code = `
|
567
|
-
// @filename: test.py
|
568
|
-
//// class A:
|
569
|
-
//// def [|foo|](self):
|
570
|
-
//// pass
|
571
|
-
////
|
572
|
-
//// class B(A):
|
573
|
-
//// def [|foo|](self):
|
574
|
-
//// pass
|
575
|
-
////
|
576
|
-
//// class C(B):
|
577
|
-
//// pass
|
578
|
-
////
|
579
|
-
//// A().[|foo|]()
|
580
|
-
//// B().[|foo|]()
|
581
|
-
//// C().[|foo|]()
|
582
|
-
`;
|
583
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
584
|
-
const ranges = state.getRangesByText().get('foo');
|
585
|
-
for (const range of ranges) {
|
586
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
587
|
-
}
|
588
|
-
});
|
589
|
-
test('overridden symbols different type test', () => {
|
590
|
-
const code = `
|
591
|
-
// @filename: test.py
|
592
|
-
//// class A:
|
593
|
-
//// def [|foo|](self):
|
594
|
-
//// pass
|
595
|
-
////
|
596
|
-
//// class B:
|
597
|
-
//// foo: int
|
598
|
-
////
|
599
|
-
//// class C(A, B):
|
600
|
-
//// def [|foo|](self):
|
601
|
-
//// pass
|
602
|
-
////
|
603
|
-
//// A().[|foo|]()
|
604
|
-
//// B().foo = 1
|
605
|
-
//// C().[|/*marker*/foo|]()
|
606
|
-
`;
|
607
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
608
|
-
const marker = state.getMarkerByName('marker');
|
609
|
-
const ranges = state.getRangesByText().get('foo');
|
610
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', marker.fileName, marker.position, ranges);
|
611
|
-
});
|
612
|
-
test('overridden and overloaded symbol test', () => {
|
613
|
-
const code = `
|
614
|
-
// @filename: test.py
|
615
|
-
//// from typing import overload
|
616
|
-
////
|
617
|
-
//// class A:
|
618
|
-
//// def [|foo|](self):
|
619
|
-
//// pass
|
620
|
-
////
|
621
|
-
//// class B(A):
|
622
|
-
//// @overload
|
623
|
-
//// def [|foo|](self):
|
624
|
-
//// pass
|
625
|
-
//// @overload
|
626
|
-
//// def [|foo|](self, a):
|
627
|
-
//// pass
|
628
|
-
////
|
629
|
-
//// A().[|foo|]()
|
630
|
-
//// B().[|foo|](1)
|
631
|
-
`;
|
632
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
633
|
-
const ranges = state.getRangesByText().get('foo');
|
634
|
-
for (const range of ranges) {
|
635
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
636
|
-
}
|
637
|
-
});
|
638
|
-
test('library method override test', () => {
|
639
|
-
const code = `
|
640
|
-
// @filename: test.py
|
641
|
-
//// from lib import BaseType
|
642
|
-
////
|
643
|
-
//// class A(BaseType):
|
644
|
-
//// def [|foo|](self):
|
645
|
-
//// pass
|
646
|
-
////
|
647
|
-
//// A().[|foo|]()
|
648
|
-
|
649
|
-
// @filename: lib/__init__.py
|
650
|
-
// @library: true
|
651
|
-
//// class BaseType:
|
652
|
-
//// def foo(self):
|
653
|
-
//// pass
|
654
|
-
`;
|
655
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
656
|
-
const ranges = state.getRangesByText().get('foo');
|
657
|
-
for (const range of ranges) {
|
658
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
659
|
-
}
|
660
|
-
});
|
661
|
-
test('variable overridden test 1', () => {
|
662
|
-
const code = `
|
663
|
-
// @filename: test.py
|
664
|
-
//// class A:
|
665
|
-
//// [|foo|] = 1
|
666
|
-
////
|
667
|
-
//// class B(A):
|
668
|
-
//// foo = 2
|
669
|
-
////
|
670
|
-
//// a = A().[|foo|]
|
671
|
-
//// b = B().foo
|
672
|
-
`;
|
673
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
674
|
-
const ranges = state.getRangesByText().get('foo');
|
675
|
-
for (const range of ranges) {
|
676
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
677
|
-
}
|
678
|
-
});
|
679
|
-
test('variable overridden test 2', () => {
|
680
|
-
const code = `
|
681
|
-
// @filename: test.py
|
682
|
-
//// class A:
|
683
|
-
//// foo = 1
|
684
|
-
////
|
685
|
-
//// class B(A):
|
686
|
-
//// [|foo|] = 2
|
687
|
-
////
|
688
|
-
//// a = A().foo
|
689
|
-
//// b = B().[|foo|]
|
690
|
-
`;
|
691
|
-
const state = (0, testState_1.parseAndGetTestState)(code).state;
|
692
|
-
const ranges = state.getRangesByText().get('foo');
|
693
|
-
for (const range of ranges) {
|
694
|
-
verifyReferencesAtPosition(state.program, state.configOptions, 'foo', range.fileName, range.pos, ranges);
|
695
|
-
}
|
696
|
-
});
|
697
|
-
function verifyReferencesAtPosition(program, configOption, symbolNames, fileName, position, ranges) {
|
698
|
-
const sourceFile = program.getBoundSourceFile(fileName);
|
699
|
-
(0, assert_1.default)(sourceFile);
|
700
|
-
const node = (0, parseTreeUtils_1.findNodeByOffset)(sourceFile.getParseResults().parseTree, position);
|
701
|
-
const decls = documentSymbolCollector_1.DocumentSymbolCollector.getDeclarationsForNode(program, node,
|
702
|
-
/* resolveLocalName */ true, documentSymbolCollector_1.DocumentSymbolCollectorUseCase.Reference, vscode_languageserver_1.CancellationToken.None);
|
703
|
-
const rangesByFile = (0, collectionUtils_1.createMapFromItems)(ranges, (r) => r.fileName);
|
704
|
-
for (const rangeFileName of rangesByFile.keys()) {
|
705
|
-
const collector = new documentSymbolCollector_1.DocumentSymbolCollector(program, (0, core_1.isArray)(symbolNames) ? symbolNames : [symbolNames], decls, vscode_languageserver_1.CancellationToken.None, program.getBoundSourceFile(rangeFileName).getParseResults().parseTree,
|
706
|
-
/* treatModuleInImportAndFromImportSame */ true,
|
707
|
-
/* skipUnreachableCode */ false, documentSymbolCollector_1.DocumentSymbolCollectorUseCase.Reference);
|
708
|
-
const results = collector.collect();
|
709
|
-
const rangesOnFile = rangesByFile.get(rangeFileName);
|
710
|
-
assert_1.default.strictEqual(results.length, rangesOnFile.length, `${rangeFileName}@${symbolNames}`);
|
711
|
-
for (const result of results) {
|
712
|
-
(0, assert_1.default)(rangesOnFile.some((r) => r.pos === result.range.start && r.end === textRange_1.TextRange.getEnd(result.range)));
|
713
|
-
}
|
714
|
-
}
|
715
|
-
}
|
716
361
|
//# sourceMappingURL=documentSymbolCollector.test.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"documentSymbolCollector.test.js","sourceRoot":"","sources":["../../../src/tests/documentSymbolCollector.test.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"documentSymbolCollector.test.js","sourceRoot":"","sources":["../../../src/tests/documentSymbolCollector.test.ts"],"names":[],"mappings":"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"}
|
@@ -3,8 +3,11 @@ import { FileEditAction, FileEditActions } from '../common/editAction';
|
|
3
3
|
import { FileSystem } from '../common/fileSystem';
|
4
4
|
import { Range } from './harness/fourslash/fourSlashTypes';
|
5
5
|
import { TestState } from './harness/fourslash/testState';
|
6
|
+
import { Program } from '../analyzer/program';
|
7
|
+
import { ConfigOptions } from '../common/configOptions';
|
6
8
|
export declare function convertFileEditActionToString(edit: FileEditAction): string;
|
7
9
|
export declare function convertRangeToFileEditAction(state: TestState, range: Range, replacementText?: string): FileEditAction;
|
8
10
|
export declare function verifyEdits(state: TestState, fileEditActions: FileEditActions, ranges: Range[], replacementText: string | undefined): void;
|
9
11
|
export declare function applyFileEditActions(state: TestState, fileEditActions: FileEditActions): void;
|
10
12
|
export declare function convertWorkspaceEditToFileEditActions(fs: FileSystem, edit: WorkspaceEdit): FileEditActions;
|
13
|
+
export declare function verifyReferencesAtPosition(program: Program, configOption: ConfigOptions, symbolNames: string | string[], fileName: string, position: number, ranges: Range[]): void;
|
@@ -10,7 +10,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
10
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
11
11
|
};
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
13
|
-
exports.convertWorkspaceEditToFileEditActions = exports.applyFileEditActions = exports.verifyEdits = exports.convertRangeToFileEditAction = exports.convertFileEditActionToString = void 0;
|
13
|
+
exports.verifyReferencesAtPosition = exports.convertWorkspaceEditToFileEditActions = exports.applyFileEditActions = exports.verifyEdits = exports.convertRangeToFileEditAction = exports.convertFileEditActionToString = void 0;
|
14
14
|
const assert_1 = __importDefault(require("assert"));
|
15
15
|
const collectionUtils_1 = require("../common/collectionUtils");
|
16
16
|
const debug_1 = require("../common/debug");
|
@@ -18,6 +18,9 @@ const pathUtils_1 = require("../common/pathUtils");
|
|
18
18
|
const textRange_1 = require("../common/textRange");
|
19
19
|
const workspaceEditUtils_1 = require("../common/workspaceEditUtils");
|
20
20
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
21
|
+
const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
|
22
|
+
const documentSymbolCollector_1 = require("../languageService/documentSymbolCollector");
|
23
|
+
const core_1 = require("../common/core");
|
21
24
|
function convertFileEditActionToString(edit) {
|
22
25
|
return `'${edit.replacementText.replace(/\n/g, '!n!')}'@'${edit.filePath}:(${edit.range.start.line},${edit.range.start.character})-(${edit.range.end.line},${edit.range.end.character})'`;
|
23
26
|
}
|
@@ -140,4 +143,25 @@ function convertWorkspaceEditToFileEditActions(fs, edit) {
|
|
140
143
|
return { edits, fileOperations: fileOperations };
|
141
144
|
}
|
142
145
|
exports.convertWorkspaceEditToFileEditActions = convertWorkspaceEditToFileEditActions;
|
146
|
+
function verifyReferencesAtPosition(program, configOption, symbolNames, fileName, position, ranges) {
|
147
|
+
const sourceFile = program.getBoundSourceFile(fileName);
|
148
|
+
(0, assert_1.default)(sourceFile);
|
149
|
+
const node = (0, parseTreeUtils_1.findNodeByOffset)(sourceFile.getParseResults().parseTree, position);
|
150
|
+
const decls = documentSymbolCollector_1.DocumentSymbolCollector.getDeclarationsForNode(program, node,
|
151
|
+
/* resolveLocalName */ true, vscode_languageserver_1.CancellationToken.None);
|
152
|
+
const rangesByFile = (0, collectionUtils_1.createMapFromItems)(ranges, (r) => r.fileName);
|
153
|
+
for (const rangeFileName of rangesByFile.keys()) {
|
154
|
+
const collector = new documentSymbolCollector_1.DocumentSymbolCollector(program, (0, core_1.isArray)(symbolNames) ? symbolNames : [symbolNames], decls, program.getBoundSourceFile(rangeFileName).getParseResults().parseTree, vscode_languageserver_1.CancellationToken.None, {
|
155
|
+
treatModuleInImportAndFromImportSame: true,
|
156
|
+
skipUnreachableCode: false,
|
157
|
+
});
|
158
|
+
const results = collector.collect();
|
159
|
+
const rangesOnFile = rangesByFile.get(rangeFileName);
|
160
|
+
assert_1.default.strictEqual(results.length, rangesOnFile.length, `${rangeFileName}@${symbolNames}`);
|
161
|
+
for (const result of results) {
|
162
|
+
(0, assert_1.default)(rangesOnFile.some((r) => r.pos === result.range.start && r.end === textRange_1.TextRange.getEnd(result.range)));
|
163
|
+
}
|
164
|
+
}
|
165
|
+
}
|
166
|
+
exports.verifyReferencesAtPosition = verifyReferencesAtPosition;
|
143
167
|
//# sourceMappingURL=testStateUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"testStateUtils.js","sourceRoot":"","sources":["../../../src/tests/testStateUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAEH,oDAA4B;AAG5B,+DAA+D;AAC/D,2CAA8C;AAG9C,mDAAiF;AACjF,
|
1
|
+
{"version":3,"file":"testStateUtils.js","sourceRoot":"","sources":["../../../src/tests/testStateUtils.ts"],"names":[],"mappings":"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"}
|
@@ -953,7 +953,7 @@ test('Tuple6', () => {
|
|
953
953
|
});
|
954
954
|
test('Tuple7', () => {
|
955
955
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['tuple7.py']);
|
956
|
-
TestUtils.validateResults(analysisResults,
|
956
|
+
TestUtils.validateResults(analysisResults, 2);
|
957
957
|
});
|
958
958
|
test('Tuple8', () => {
|
959
959
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['tuple8.py']);
|
@@ -73,7 +73,7 @@ test('Assignment1', () => {
|
|
73
73
|
});
|
74
74
|
test('Assignment2', () => {
|
75
75
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['assignment2.py']);
|
76
|
-
TestUtils.validateResults(analysisResults,
|
76
|
+
TestUtils.validateResults(analysisResults, 3);
|
77
77
|
});
|
78
78
|
test('Assignment3', () => {
|
79
79
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['assignment3.py']);
|
@@ -133,7 +133,7 @@ test('AugmentedAssignment3', () => {
|
|
133
133
|
});
|
134
134
|
test('Super1', () => {
|
135
135
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['super1.py']);
|
136
|
-
TestUtils.validateResults(analysisResults,
|
136
|
+
TestUtils.validateResults(analysisResults, 5);
|
137
137
|
});
|
138
138
|
test('Super2', () => {
|
139
139
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['super2.py']);
|
@@ -215,10 +215,10 @@ test('isInstance3', () => {
|
|
215
215
|
const configOptions = new configOptions_1.ConfigOptions('.');
|
216
216
|
configOptions.defaultPythonVersion = pythonVersion_1.PythonVersion.V3_9;
|
217
217
|
const analysisResults1 = TestUtils.typeAnalyzeSampleFiles(['isinstance3.py'], configOptions);
|
218
|
-
TestUtils.validateResults(analysisResults1,
|
218
|
+
TestUtils.validateResults(analysisResults1, 2);
|
219
219
|
configOptions.defaultPythonVersion = pythonVersion_1.PythonVersion.V3_10;
|
220
220
|
const analysisResults2 = TestUtils.typeAnalyzeSampleFiles(['isinstance3.py'], configOptions);
|
221
|
-
TestUtils.validateResults(analysisResults2,
|
221
|
+
TestUtils.validateResults(analysisResults2, 2);
|
222
222
|
});
|
223
223
|
test('isInstance4', () => {
|
224
224
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['isinstance4.py']);
|
@@ -910,6 +910,10 @@ test('Protocol44', () => {
|
|
910
910
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['protocol44.py']);
|
911
911
|
TestUtils.validateResults(analysisResults, 0);
|
912
912
|
});
|
913
|
+
test('Protocol45', () => {
|
914
|
+
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['protocol45.py']);
|
915
|
+
TestUtils.validateResults(analysisResults, 0);
|
916
|
+
});
|
913
917
|
test('TypedDict1', () => {
|
914
918
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typedDict1.py']);
|
915
919
|
TestUtils.validateResults(analysisResults, 7);
|
@@ -956,7 +960,7 @@ test('TypedDict11', () => {
|
|
956
960
|
});
|
957
961
|
test('TypedDict12', () => {
|
958
962
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typedDict12.py']);
|
959
|
-
TestUtils.validateResults(analysisResults,
|
963
|
+
TestUtils.validateResults(analysisResults, 7);
|
960
964
|
});
|
961
965
|
test('TypedDict13', () => {
|
962
966
|
const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typedDict13.py']);
|