@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.
Files changed (110) hide show
  1. package/dist/analyzer/checker.d.ts +3 -1
  2. package/dist/analyzer/checker.js +55 -17
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +10 -3
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/decorators.d.ts +6 -1
  7. package/dist/analyzer/decorators.js +31 -24
  8. package/dist/analyzer/decorators.js.map +1 -1
  9. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  10. package/dist/analyzer/parseTreeUtils.js +21 -2
  11. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  12. package/dist/analyzer/properties.js +4 -0
  13. package/dist/analyzer/properties.js.map +1 -1
  14. package/dist/analyzer/protocols.js +7 -1
  15. package/dist/analyzer/protocols.js.map +1 -1
  16. package/dist/analyzer/scopeUtils.js +3 -2
  17. package/dist/analyzer/scopeUtils.js.map +1 -1
  18. package/dist/analyzer/typeEvaluator.d.ts +2 -1
  19. package/dist/analyzer/typeEvaluator.js +147 -222
  20. package/dist/analyzer/typeEvaluator.js.map +1 -1
  21. package/dist/analyzer/typeEvaluatorTypes.d.ts +7 -0
  22. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  23. package/dist/analyzer/typeGuards.d.ts +1 -1
  24. package/dist/analyzer/typeGuards.js +55 -43
  25. package/dist/analyzer/typeGuards.js.map +1 -1
  26. package/dist/analyzer/typeUtils.js +1 -1
  27. package/dist/analyzer/typeUtils.js.map +1 -1
  28. package/dist/analyzer/types.d.ts +1 -0
  29. package/dist/analyzer/types.js +3 -0
  30. package/dist/analyzer/types.js.map +1 -1
  31. package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
  32. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  33. package/dist/common/extensibility.d.ts +19 -6
  34. package/dist/common/extensibility.js +6 -7
  35. package/dist/common/extensibility.js.map +1 -1
  36. package/dist/common/pythonVersion.d.ts +1 -1
  37. package/dist/common/pythonVersion.js +1 -1
  38. package/dist/common/realFileSystem.js +9 -16
  39. package/dist/common/realFileSystem.js.map +1 -1
  40. package/dist/common/serviceProvider.d.ts +1 -1
  41. package/dist/common/serviceProvider.js.map +1 -1
  42. package/dist/common/serviceProviderExtensions.d.ts +3 -2
  43. package/dist/common/serviceProviderExtensions.js +2 -1
  44. package/dist/common/serviceProviderExtensions.js.map +1 -1
  45. package/dist/languageServerBase.d.ts +2 -0
  46. package/dist/languageServerBase.js +28 -1
  47. package/dist/languageServerBase.js.map +1 -1
  48. package/dist/languageService/callHierarchyProvider.d.ts +0 -1
  49. package/dist/languageService/callHierarchyProvider.js +33 -16
  50. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  51. package/dist/languageService/definitionProvider.js +4 -5
  52. package/dist/languageService/definitionProvider.js.map +1 -1
  53. package/dist/languageService/documentHighlightProvider.js +5 -2
  54. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  55. package/dist/languageService/documentSymbolCollector.d.ts +32 -23
  56. package/dist/languageService/documentSymbolCollector.js +170 -267
  57. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  58. package/dist/languageService/hoverProvider.js +1 -5
  59. package/dist/languageService/hoverProvider.js.map +1 -1
  60. package/dist/languageService/referencesProvider.d.ts +6 -6
  61. package/dist/languageService/referencesProvider.js +23 -8
  62. package/dist/languageService/referencesProvider.js.map +1 -1
  63. package/dist/languageService/renameProvider.js +3 -3
  64. package/dist/languageService/renameProvider.js.map +1 -1
  65. package/dist/localization/localize.d.ts +21 -0
  66. package/dist/localization/localize.js +7 -0
  67. package/dist/localization/localize.js.map +1 -1
  68. package/dist/localization/package.nls.cs.json +4 -0
  69. package/dist/localization/package.nls.de.json +4 -0
  70. package/dist/localization/package.nls.en-us.json +7 -0
  71. package/dist/localization/package.nls.es.json +4 -0
  72. package/dist/localization/package.nls.fr.json +4 -0
  73. package/dist/localization/package.nls.it.json +4 -0
  74. package/dist/localization/package.nls.ja.json +4 -0
  75. package/dist/localization/package.nls.ko.json +4 -0
  76. package/dist/localization/package.nls.pl.json +4 -0
  77. package/dist/localization/package.nls.pt-br.json +4 -0
  78. package/dist/localization/package.nls.qps-ploc.json +4 -0
  79. package/dist/localization/package.nls.ru.json +4 -0
  80. package/dist/localization/package.nls.tr.json +4 -0
  81. package/dist/localization/package.nls.zh-cn.json +4 -0
  82. package/dist/localization/package.nls.zh-tw.json +4 -0
  83. package/dist/parser/stringTokenUtils.js +9 -5
  84. package/dist/parser/stringTokenUtils.js.map +1 -1
  85. package/dist/parser/tokenizer.d.ts +1 -0
  86. package/dist/parser/tokenizer.js +5 -5
  87. package/dist/parser/tokenizer.js.map +1 -1
  88. package/dist/tests/checker.test.js +8 -0
  89. package/dist/tests/checker.test.js.map +1 -1
  90. package/dist/tests/documentSymbolCollector.test.js +8 -363
  91. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  92. package/dist/tests/testStateUtils.d.ts +3 -0
  93. package/dist/tests/testStateUtils.js +25 -1
  94. package/dist/tests/testStateUtils.js.map +1 -1
  95. package/dist/tests/typeEvaluator1.test.js +1 -1
  96. package/dist/tests/typeEvaluator2.test.js +9 -5
  97. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  98. package/dist/tests/typeEvaluator3.test.js +7 -3
  99. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  100. package/dist/tests/typeEvaluator4.test.js +8 -8
  101. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  102. package/dist/tests/typeEvaluator5.test.js +4 -2
  103. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  104. package/dist/workspaceFactory.d.ts +2 -1
  105. package/dist/workspaceFactory.js +3 -1
  106. package/dist/workspaceFactory.js.map +1 -1
  107. package/package.json +1 -1
  108. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +0 -1
  109. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +0 -40
  110. 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":"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"}
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,mDAAgE;AAChE,qEAAsE;AAGtE,iEAAgH;AAGhH,+DAA8D;AAC9D,wFAAqF;AAErF,yCAAyC;AAEzC,SAAgB,6BAA6B,CAAC,IAAoB;IAC9D,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAC9F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SACrB,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC;AAC9D,CAAC;AAJD,sEAIC;AAED,SAAgB,4BAA4B,CAAC,KAAgB,EAAE,KAAY,EAAE,eAAwB;;IACjG,MAAM,IAAI,GAAG,MAAA,KAAK,CAAC,MAAM,0CAAE,IAAiC,CAAC;IAC7D,OAAO;QACH,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,eAAe,EAAE,CAAC,MAAA,eAAe,aAAf,eAAe,cAAf,eAAe,GAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,CAAC,mCAAI,KAAK,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC;QAC5E,KAAK,EAAE,KAAK,CAAC,oBAAoB,CAAC,KAAK,CAAC;KAC3C,CAAC;AACN,CAAC;AAPD,oEAOC;AAED,SAAgB,WAAW,CACvB,KAAgB,EAChB,eAAgC,EAChC,MAAe,EACf,eAAmC;IAEnC,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,KAAK,EAAE;QACtC,MAAM,QAAQ,GAAqB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,4BAA4B,CAAC,KAAK,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;QAC9G,IAAA,gBAAM,EACF,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAChB,OAAO,CACH,CAAC,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ;gBAC5B,IAAA,0BAAc,EAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC;gBACnC,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC,eAAe,CAC7C,CAAC;QACN,CAAC,CAAC,EACF,cAAc,6BAA6B,CAAC,IAAI,CAAC,OAAO,QAAQ;aAC3D,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC;aAC5C,IAAI,CAAC,GAAG,CAAC,EAAE,CACnB,CAAC;KACL;AACL,CAAC;AArBD,kCAqBC;AAED,SAAgB,oBAAoB,CAAC,KAAgB,EAAE,eAAgC;IACnF,gBAAgB;IAChB,4BAA4B;IAC5B,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAErF,KAAK,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,IAAI,eAAe,EAAE;QACxD,MAAM,MAAM,GAAG,WAAW,CAAC,KAAK,EAAE,YAAY,EAAE,YAAY,CAAC,CAAC;QAC9D,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,2DAA2D;QAC3D,IAAI,MAAM,CAAC,OAAO,EAAE;YAChB,IAAI,cAAc,GAAG,YAAY,CAAC;YAClC,MAAM,OAAO,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,KAAK,YAAY,CAC/D,CAAC;YACF,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,QAAQ,EAAE;gBAC5B,cAAc,GAAG,OAAO,CAAC,WAAW,CAAC;gBACrC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;aACpD;YAED,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,GAAG,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;SAChF;KACJ;IAED,6DAA6D;IAC7D,KAAK,MAAM,aAAa,IAAI,eAAe,CAAC,cAAc,EAAE;QACxD,QAAQ,aAAa,CAAC,IAAI,EAAE;YACxB,KAAK,QAAQ,CAAC,CAAC;gBACX,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAA,4BAAgB,EAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClE,KAAK,CAAC,MAAM,CAAC,aAAa,CAAC,aAAa,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;gBACvD,MAAM;aACT;YACD,KAAK,QAAQ,CAAC,CAAC;gBACX,IAAI,IAAA,kBAAM,EAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,WAAW,CAAC,EAAE;oBACjD,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,IAAA,4BAAgB,EAAC,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC;oBACrE,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;oBAE9E,+BAA+B;oBAC/B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;iBAC3D;qBAAM;oBACH,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;iBACjF;gBACD,MAAM;aACT;YACD,KAAK,QAAQ,CAAC,CAAC;gBACX,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;gBAChD,MAAM;aACT;YACD;gBACI,IAAA,mBAAW,EAAC,aAAa,CAAC,CAAC;SAClC;KACJ;IAED,uBAAuB;IACvB,KAAK,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;IACvC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAxDD,oDAwDC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,QAAgB,EAAE,KAAuB;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAE,CAAC;IAC/D,MAAM,YAAY,GAAG,UAAU,CAAC,eAAe,EAAG,CAAC;IAEnD,MAAM,OAAO,GAAG,IAAA,2CAAsB,EAClC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,EAC5C,YAAY,CAAC,eAAe,CAAC,KAAK,EAClC,YAAY,CAAC,IAAI,CACpB,CAAC;IAEF,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AACrE,CAAC;AAED,SAAgB,qCAAqC,CAAC,EAAc,EAAE,IAAmB;IACrF,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,cAAc,GAAqB,EAAE,CAAC;IAE5C,IAAI,IAAI,CAAC,OAAO,EAAE;QACd,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE;YAC3C,MAAM,QAAQ,GAAG,IAAA,4BAAgB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;SAC9F;KACJ;IAED,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,eAAe,EAAE;YACvC,IAAI,wCAAgB,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC7B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,KAAK,EAAE;oBAC1B,KAAK,CAAC,IAAI,CAAC;wBACP,QAAQ,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC;wBACvD,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,eAAe,EAAE,CAAC,CAAC,OAAO;qBAC7B,CAAC,CAAC;iBACN;aACJ;iBAAM,IAAI,kCAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9B,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvF;iBAAM,IAAI,kCAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9B,cAAc,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;oBAChD,WAAW,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC;iBACnD,CAAC,CAAC;aACN;iBAAM,IAAI,kCAAU,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE;gBAC9B,cAAc,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAA,4BAAgB,EAAC,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;aACvF;SACJ;KACJ;IACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AACrD,CAAC;AAnCD,sFAmCC;AAED,SAAgB,0BAA0B,CACtC,OAAgB,EAChB,YAA2B,EAC3B,WAA8B,EAC9B,QAAgB,EAChB,QAAgB,EAChB,MAAe;IAEf,MAAM,UAAU,GAAG,OAAO,CAAC,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAA,gBAAM,EAAC,UAAU,CAAC,CAAC;IAEnB,MAAM,IAAI,GAAG,IAAA,iCAAgB,EAAC,UAAU,CAAC,eAAe,EAAG,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACjF,MAAM,KAAK,GAAG,iDAAuB,CAAC,sBAAsB,CACxD,OAAO,EACP,IAAgB;IAChB,sBAAsB,CAAC,IAAI,EAC3B,yCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,MAAM,YAAY,GAAG,IAAA,oCAAkB,EAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACnE,KAAK,MAAM,aAAa,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE;QAC7C,MAAM,SAAS,GAAG,IAAI,iDAAuB,CACzC,OAAO,EACP,IAAA,cAAO,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,EAClD,KAAK,EACL,OAAO,CAAC,kBAAkB,CAAC,aAAa,CAAE,CAAC,eAAe,EAAG,CAAC,SAAS,EACvE,yCAAiB,CAAC,IAAI,EACtB;YACI,oCAAoC,EAAE,IAAI;YAC1C,mBAAmB,EAAE,KAAK;SAC7B,CACJ,CAAC;QAEF,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC;QACpC,MAAM,YAAY,GAAG,YAAY,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;QACtD,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,EAAE,GAAG,aAAa,IAAI,WAAW,EAAE,CAAC,CAAC;QAE3F,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,IAAA,gBAAM,EAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,KAAK,qBAAS,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;SAC9G;KACJ;AACL,CAAC;AAzCD,gEAyCC"}
@@ -953,7 +953,7 @@ test('Tuple6', () => {
953
953
  });
954
954
  test('Tuple7', () => {
955
955
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['tuple7.py']);
956
- TestUtils.validateResults(analysisResults, 1);
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, 2);
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, 4);
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, 1);
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, 1);
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, 6);
963
+ TestUtils.validateResults(analysisResults, 7);
960
964
  });
961
965
  test('TypedDict13', () => {
962
966
  const analysisResults = TestUtils.typeAnalyzeSampleFiles(['typedDict13.py']);