@zzzen/pyright-internal 1.2.0-dev.20230709 → 1.2.0-dev.20230723

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 (135) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +2 -2
  2. package/dist/analyzer/backgroundAnalysisProgram.js +3 -3
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +1 -0
  5. package/dist/analyzer/binder.js +19 -2
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +1 -0
  8. package/dist/analyzer/checker.js +14 -24
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.js +12 -1
  11. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  12. package/dist/analyzer/constraintSolver.js +42 -36
  13. package/dist/analyzer/constraintSolver.js.map +1 -1
  14. package/dist/analyzer/constructorTransform.js +11 -1
  15. package/dist/analyzer/constructorTransform.js.map +1 -1
  16. package/dist/analyzer/constructors.js +11 -9
  17. package/dist/analyzer/constructors.js.map +1 -1
  18. package/dist/analyzer/enums.js +21 -8
  19. package/dist/analyzer/enums.js.map +1 -1
  20. package/dist/analyzer/namedTuples.js +33 -1
  21. package/dist/analyzer/namedTuples.js.map +1 -1
  22. package/dist/analyzer/patternMatching.d.ts +1 -1
  23. package/dist/analyzer/patternMatching.js +79 -66
  24. package/dist/analyzer/patternMatching.js.map +1 -1
  25. package/dist/analyzer/program.d.ts +5 -2
  26. package/dist/analyzer/program.js +18 -7
  27. package/dist/analyzer/program.js.map +1 -1
  28. package/dist/analyzer/protocols.js +57 -19
  29. package/dist/analyzer/protocols.js.map +1 -1
  30. package/dist/analyzer/service.js +1 -10
  31. package/dist/analyzer/service.js.map +1 -1
  32. package/dist/analyzer/sourceFile.d.ts +4 -3
  33. package/dist/analyzer/sourceFile.js +26 -22
  34. package/dist/analyzer/sourceFile.js.map +1 -1
  35. package/dist/analyzer/typeCacheUtils.d.ts +7 -2
  36. package/dist/analyzer/typeCacheUtils.js +11 -7
  37. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  38. package/dist/analyzer/typeEvaluator.js +829 -601
  39. package/dist/analyzer/typeEvaluator.js.map +1 -1
  40. package/dist/analyzer/typeEvaluatorTypes.d.ts +8 -2
  41. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  42. package/dist/analyzer/typeGuards.d.ts +2 -2
  43. package/dist/analyzer/typeGuards.js +72 -12
  44. package/dist/analyzer/typeGuards.js.map +1 -1
  45. package/dist/analyzer/typePrinter.d.ts +2 -1
  46. package/dist/analyzer/typePrinter.js +26 -5
  47. package/dist/analyzer/typePrinter.js.map +1 -1
  48. package/dist/analyzer/typeUtils.js +11 -1
  49. package/dist/analyzer/typeUtils.js.map +1 -1
  50. package/dist/analyzer/typedDicts.js +1 -3
  51. package/dist/analyzer/typedDicts.js.map +1 -1
  52. package/dist/analyzer/types.d.ts +10 -3
  53. package/dist/analyzer/types.js +11 -2
  54. package/dist/analyzer/types.js.map +1 -1
  55. package/dist/backgroundAnalysisBase.d.ts +5 -5
  56. package/dist/backgroundAnalysisBase.js +2 -2
  57. package/dist/backgroundAnalysisBase.js.map +1 -1
  58. package/dist/backgroundThreadBase.js +1 -1
  59. package/dist/backgroundThreadBase.js.map +1 -1
  60. package/dist/common/console.d.ts +4 -1
  61. package/dist/common/console.js +7 -0
  62. package/dist/common/console.js.map +1 -1
  63. package/dist/languageServerBase.d.ts +8 -3
  64. package/dist/languageServerBase.js +30 -25
  65. package/dist/languageServerBase.js.map +1 -1
  66. package/dist/languageService/callHierarchyProvider.js +7 -10
  67. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  68. package/dist/languageService/codeActionProvider.d.ts +1 -0
  69. package/dist/languageService/codeActionProvider.js +11 -0
  70. package/dist/languageService/codeActionProvider.js.map +1 -1
  71. package/dist/languageService/completionProvider.d.ts +1 -1
  72. package/dist/languageService/completionProvider.js +10 -4
  73. package/dist/languageService/completionProvider.js.map +1 -1
  74. package/dist/languageService/tooltipUtils.js +5 -2
  75. package/dist/languageService/tooltipUtils.js.map +1 -1
  76. package/dist/localization/localize.d.ts +9 -0
  77. package/dist/localization/localize.js +29 -3
  78. package/dist/localization/localize.js.map +1 -1
  79. package/dist/localization/package.nls.cs.json +719 -0
  80. package/dist/localization/package.nls.de.json +719 -1
  81. package/dist/localization/package.nls.en-us.json +7 -5
  82. package/dist/localization/package.nls.es.json +719 -1
  83. package/dist/localization/package.nls.fr.json +719 -1
  84. package/dist/localization/package.nls.it.json +719 -0
  85. package/dist/localization/package.nls.ja.json +719 -1
  86. package/dist/localization/package.nls.ko.json +719 -0
  87. package/dist/localization/package.nls.pl.json +719 -0
  88. package/dist/localization/package.nls.pt-br.json +719 -0
  89. package/dist/localization/package.nls.qps-ploc.json +719 -0
  90. package/dist/localization/package.nls.ru.json +719 -1
  91. package/dist/localization/package.nls.tr.json +719 -0
  92. package/dist/localization/package.nls.zh-cn.json +719 -1
  93. package/dist/localization/package.nls.zh-tw.json +719 -1
  94. package/dist/parser/parser.d.ts +3 -0
  95. package/dist/parser/parser.js +2 -31
  96. package/dist/parser/parser.js.map +1 -1
  97. package/dist/parser/tokenizer.d.ts +5 -2
  98. package/dist/parser/tokenizer.js +16 -4
  99. package/dist/parser/tokenizer.js.map +1 -1
  100. package/dist/parser/tokenizerTypes.d.ts +2 -2
  101. package/dist/parser/tokenizerTypes.js.map +1 -1
  102. package/dist/pprof/profiler.d.ts +36 -0
  103. package/dist/pprof/profiler.js +64 -0
  104. package/dist/pprof/profiler.js.map +1 -0
  105. package/dist/tests/checker.test.js +2 -2
  106. package/dist/tests/completions.test.js +40 -0
  107. package/dist/tests/completions.test.js.map +1 -1
  108. package/dist/tests/config.test.js +12 -0
  109. package/dist/tests/config.test.js.map +1 -1
  110. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.d.ts +1 -0
  111. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js +40 -0
  112. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.overriddenFunction.fourslash.js.map +1 -0
  113. package/dist/tests/harness/fourslash/testState.d.ts +6 -4
  114. package/dist/tests/harness/fourslash/testState.js +50 -39
  115. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  116. package/dist/tests/harness/vfs/factory.d.ts +1 -0
  117. package/dist/tests/harness/vfs/factory.js +7 -1
  118. package/dist/tests/harness/vfs/factory.js.map +1 -1
  119. package/dist/tests/harness/vfs/filesystem.d.ts +2 -2
  120. package/dist/tests/harness/vfs/filesystem.js +13 -8
  121. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  122. package/dist/tests/localizer.test.js +20 -0
  123. package/dist/tests/localizer.test.js.map +1 -1
  124. package/dist/tests/typeEvaluator1.test.js +21 -1
  125. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  126. package/dist/tests/typeEvaluator2.test.js +21 -1
  127. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  128. package/dist/tests/typeEvaluator3.test.js +1 -1
  129. package/dist/tests/typeEvaluator4.test.js +14 -2
  130. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  131. package/dist/tests/typeEvaluator5.test.js +4 -0
  132. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  133. package/dist/workspaceFactory.js +5 -3
  134. package/dist/workspaceFactory.js.map +1 -1
  135. package/package.json +10 -8
@@ -7,7 +7,7 @@ import { Range } from '../common/textRange';
7
7
  import { AnalysisCompleteCallback } from './analysis';
8
8
  import { CacheManager } from './cacheManager';
9
9
  import { ImportResolver } from './importResolver';
10
- import { MaxAnalysisTime, OpenFileOptions, Program } from './program';
10
+ import { MaxAnalysisTime, OpenFileOptions, Program, SourceFileFactory } from './program';
11
11
  export declare enum InvalidatedReason {
12
12
  Reanalyzed = 0,
13
13
  SourceWatcherChanged = 1,
@@ -26,7 +26,7 @@ export declare class BackgroundAnalysisProgram {
26
26
  private _disposed;
27
27
  private _onAnalysisCompletion;
28
28
  private _preEditAnalysis;
29
- constructor(serviceId: string, _console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager);
29
+ constructor(serviceId: string, _console: ConsoleInterface, _configOptions: ConfigOptions, _importResolver: ImportResolver, _backgroundAnalysis?: BackgroundAnalysisBase | undefined, _maxAnalysisTime?: MaxAnalysisTime | undefined, _disableChecker?: boolean | undefined, cacheManager?: CacheManager, sourceFileFactory?: SourceFileFactory);
30
30
  get configOptions(): ConfigOptions;
31
31
  get importResolver(): ImportResolver;
32
32
  get program(): Program;
@@ -19,7 +19,7 @@ var InvalidatedReason;
19
19
  InvalidatedReason[InvalidatedReason["LibraryWatcherContentOnlyChanged"] = 3] = "LibraryWatcherContentOnlyChanged";
20
20
  })(InvalidatedReason = exports.InvalidatedReason || (exports.InvalidatedReason = {}));
21
21
  class BackgroundAnalysisProgram {
22
- constructor(serviceId, _console, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager) {
22
+ constructor(serviceId, _console, _configOptions, _importResolver, _backgroundAnalysis, _maxAnalysisTime, _disableChecker, cacheManager, sourceFileFactory) {
23
23
  this.serviceId = serviceId;
24
24
  this._console = _console;
25
25
  this._configOptions = _configOptions;
@@ -28,7 +28,7 @@ class BackgroundAnalysisProgram {
28
28
  this._maxAnalysisTime = _maxAnalysisTime;
29
29
  this._disableChecker = _disableChecker;
30
30
  this._disposed = false;
31
- this._program = new program_1.Program(this.importResolver, this.configOptions, this._console, undefined, this._disableChecker, cacheManager, serviceId);
31
+ this._program = new program_1.Program(this.importResolver, this.configOptions, this._console, undefined, sourceFileFactory, this._disableChecker, cacheManager, serviceId);
32
32
  }
33
33
  get configOptions() {
34
34
  return this._configOptions;
@@ -119,7 +119,7 @@ class BackgroundAnalysisProgram {
119
119
  }
120
120
  startAnalysis(token) {
121
121
  if (this._backgroundAnalysis) {
122
- this._backgroundAnalysis.startAnalysis(this.program, token);
122
+ this._backgroundAnalysis.startAnalysis(this, token);
123
123
  return false;
124
124
  }
125
125
  return (0, analysis_1.analyzeProgram)(this._program, this._maxAnalysisTime, this._configOptions, this._onAnalysisCompletion, this._console, token);
@@ -1 +1 @@
1
- {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backgroundAnalysisProgram.js","sourceRoot":"","sources":["../../../src/analyzer/backgroundAnalysisProgram.ts"],"names":[],"mappings":"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"}
@@ -27,6 +27,7 @@ export declare class Binder extends ParseTreeWalker {
27
27
  private _dunderAllStringNodes;
28
28
  private _usesUnsupportedDunderAllForm;
29
29
  private _isInExceptSuite;
30
+ private _isInAnnotatedAnnotation;
30
31
  private _dunderSlotsEntries;
31
32
  private static _unreachableFlowNode;
32
33
  private _potentialHiddenSymbols;
@@ -91,6 +91,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
91
91
  this._usesUnsupportedDunderAllForm = false;
92
92
  // Are we currently binding code located within an except block?
93
93
  this._isInExceptSuite = false;
94
+ // Are we currently walking the type arguments to an Annotated type annotation?
95
+ this._isInAnnotatedAnnotation = false;
94
96
  // Map of symbols at the module level that may be externally
95
97
  // hidden depending on whether they are listed in the __all__ list.
96
98
  this._potentialHiddenSymbols = new Map();
@@ -416,7 +418,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
416
418
  // and this can lead to a performance issue when walking the control
417
419
  // flow graph if we need to evaluate every decorator.
418
420
  if (!ParseTreeUtils.isNodeContainedWithinNodeType(node, 13 /* Decorator */)) {
419
- this._createCallFlowNode(node);
421
+ // Skip if we're in an 'Annotated' annotation because this creates
422
+ // problems for "No Return" return type analysis when annotation
423
+ // evaluation is deferred.
424
+ if (!this._isInAnnotatedAnnotation) {
425
+ this._createCallFlowNode(node);
426
+ }
420
427
  }
421
428
  // Is this an manipulation of dunder all?
422
429
  if (this._currentScope.type === 3 /* Module */ &&
@@ -907,7 +914,17 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
907
914
  }
908
915
  visitIndex(node) {
909
916
  AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
910
- return true;
917
+ this.walk(node.baseExpression);
918
+ // If we're within an 'Annotated' type annotation, set the flag.
919
+ const wasInAnnotatedAnnotation = this._isInAnnotatedAnnotation;
920
+ if (this._isTypingAnnotation(node.baseExpression, 'Annotated')) {
921
+ this._isInAnnotatedAnnotation = true;
922
+ }
923
+ node.items.forEach((argNode) => {
924
+ this.walk(argNode);
925
+ });
926
+ this._isInAnnotatedAnnotation = wasInAnnotatedAnnotation;
927
+ return false;
911
928
  }
912
929
  visitIf(node) {
913
930
  const preIfFlowNode = this._currentFlowNode;