@zzzen/pyright-internal 1.2.0-dev.20260913 → 1.2.0-dev.20260927

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (199) hide show
  1. package/dist/analyzer/checker.d.ts +2 -1
  2. package/dist/analyzer/checker.js +17 -4
  3. package/dist/analyzer/checker.js.map +1 -1
  4. package/dist/analyzer/codeFlowEngine.js +9 -3
  5. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  6. package/dist/analyzer/operations.js +1 -1
  7. package/dist/analyzer/operations.js.map +1 -1
  8. package/dist/analyzer/overloadResult.d.ts +15 -0
  9. package/dist/analyzer/overloadResult.js +233 -0
  10. package/dist/analyzer/overloadResult.js.map +1 -0
  11. package/dist/analyzer/overloadResultAdmission.d.ts +20 -0
  12. package/dist/analyzer/overloadResultAdmission.js +448 -0
  13. package/dist/analyzer/overloadResultAdmission.js.map +1 -0
  14. package/dist/analyzer/overloadResultController.d.ts +227 -0
  15. package/dist/analyzer/overloadResultController.js +904 -0
  16. package/dist/analyzer/overloadResultController.js.map +1 -0
  17. package/dist/analyzer/overloadResultSelector.d.ts +24 -0
  18. package/dist/analyzer/overloadResultSelector.js +131 -0
  19. package/dist/analyzer/overloadResultSelector.js.map +1 -0
  20. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  21. package/dist/analyzer/parseTreeUtils.js +4 -0
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/program.d.ts +13 -2
  24. package/dist/analyzer/program.js +99 -46
  25. package/dist/analyzer/program.js.map +1 -1
  26. package/dist/analyzer/protocols.d.ts +1 -0
  27. package/dist/analyzer/protocols.js +286 -6
  28. package/dist/analyzer/protocols.js.map +1 -1
  29. package/dist/analyzer/sourceFile.d.ts +6 -2
  30. package/dist/analyzer/sourceFile.js +9 -3
  31. package/dist/analyzer/sourceFile.js.map +1 -1
  32. package/dist/analyzer/tracePrinter.js +4 -0
  33. package/dist/analyzer/tracePrinter.js.map +1 -1
  34. package/dist/analyzer/typeCacheUtils.d.ts +5 -0
  35. package/dist/analyzer/typeCacheUtils.js +64 -1
  36. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  37. package/dist/analyzer/typeComplexity.js +2 -0
  38. package/dist/analyzer/typeComplexity.js.map +1 -1
  39. package/dist/analyzer/typeEvaluator.d.ts +11 -2
  40. package/dist/analyzer/typeEvaluator.js +358 -21
  41. package/dist/analyzer/typeEvaluator.js.map +1 -1
  42. package/dist/analyzer/typeEvaluatorTypes.d.ts +31 -1
  43. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  44. package/dist/analyzer/typeGuards.d.ts +1 -1
  45. package/dist/analyzer/typePrinter.js +8 -0
  46. package/dist/analyzer/typePrinter.js.map +1 -1
  47. package/dist/analyzer/typeUtils.d.ts +1 -1
  48. package/dist/analyzer/typeUtils.js +29 -26
  49. package/dist/analyzer/typeUtils.js.map +1 -1
  50. package/dist/analyzer/typeWalker.d.ts +2 -1
  51. package/dist/analyzer/typeWalker.js +12 -0
  52. package/dist/analyzer/typeWalker.js.map +1 -1
  53. package/dist/analyzer/typedDicts.js +4 -7
  54. package/dist/analyzer/typedDicts.js.map +1 -1
  55. package/dist/analyzer/types.d.ts +16 -2
  56. package/dist/analyzer/types.js +101 -2
  57. package/dist/analyzer/types.js.map +1 -1
  58. package/dist/common/configOptions.d.ts +2 -0
  59. package/dist/common/configOptions.js +18 -0
  60. package/dist/common/configOptions.js.map +1 -1
  61. package/dist/common/envVarUtils.js +3 -3
  62. package/dist/common/envVarUtils.js.map +1 -1
  63. package/dist/languageServerBase.js +2 -2
  64. package/dist/languageServerBase.js.map +1 -1
  65. package/dist/languageService/callHierarchyProvider.js +3 -2
  66. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  67. package/dist/languageService/completionProvider.js +4 -1
  68. package/dist/languageService/completionProvider.js.map +1 -1
  69. package/dist/tests/config.test.js +48 -0
  70. package/dist/tests/config.test.js.map +1 -1
  71. package/dist/tests/envVarUtils.test.js +16 -0
  72. package/dist/tests/envVarUtils.test.js.map +1 -1
  73. package/dist/tests/evaluationTrace.integration.test.d.ts +1 -0
  74. package/dist/tests/evaluationTrace.integration.test.js +266 -0
  75. package/dist/tests/evaluationTrace.integration.test.js.map +1 -0
  76. package/dist/tests/evaluationTrace.test.d.ts +1 -0
  77. package/dist/tests/evaluationTrace.test.js +422 -0
  78. package/dist/tests/evaluationTrace.test.js.map +1 -0
  79. package/dist/tests/evaluationTrace.viewer.test.d.ts +1 -0
  80. package/dist/tests/evaluationTrace.viewer.test.js +529 -0
  81. package/dist/tests/evaluationTrace.viewer.test.js.map +1 -0
  82. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js +10 -6
  83. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  84. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js +16 -10
  85. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  86. package/dist/tests/harness/fourslash/testState.js +10 -9
  87. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  88. package/dist/tests/languageServer.test.js +129 -0
  89. package/dist/tests/languageServer.test.js.map +1 -1
  90. package/dist/tests/mypyPrimerAnalysis.test.js +1193 -47
  91. package/dist/tests/mypyPrimerAnalysis.test.js.map +1 -1
  92. package/dist/tests/mypyPrimerMcp.test.d.ts +1 -0
  93. package/dist/tests/mypyPrimerMcp.test.js +186 -0
  94. package/dist/tests/mypyPrimerMcp.test.js.map +1 -0
  95. package/dist/tests/overloadResult.test.d.ts +1 -0
  96. package/dist/tests/overloadResult.test.js +182 -0
  97. package/dist/tests/overloadResult.test.js.map +1 -0
  98. package/dist/tests/overloadResultController.test.d.ts +1 -0
  99. package/dist/tests/overloadResultController.test.js +2146 -0
  100. package/dist/tests/overloadResultController.test.js.map +1 -0
  101. package/dist/tests/protocolRequirement.test.d.ts +1 -0
  102. package/dist/tests/protocolRequirement.test.js +122 -0
  103. package/dist/tests/protocolRequirement.test.js.map +1 -0
  104. package/dist/tests/protocolRequirementAdversarial.test.d.ts +1 -0
  105. package/dist/tests/protocolRequirementAdversarial.test.js +92 -0
  106. package/dist/tests/protocolRequirementAdversarial.test.js.map +1 -0
  107. package/dist/tests/protocolRequirementBoundary.test.d.ts +1 -0
  108. package/dist/tests/protocolRequirementBoundary.test.js +119 -0
  109. package/dist/tests/protocolRequirementBoundary.test.js.map +1 -0
  110. package/dist/tests/protocolRequirementComplexity.test.d.ts +1 -0
  111. package/dist/tests/protocolRequirementComplexity.test.js +159 -0
  112. package/dist/tests/protocolRequirementComplexity.test.js.map +1 -0
  113. package/dist/tests/protocolRequirementCycles.test.d.ts +1 -0
  114. package/dist/tests/protocolRequirementCycles.test.js +160 -0
  115. package/dist/tests/protocolRequirementCycles.test.js.map +1 -0
  116. package/dist/tests/protocolRequirementGeneral.test.d.ts +1 -0
  117. package/dist/tests/protocolRequirementGeneral.test.js +120 -0
  118. package/dist/tests/protocolRequirementGeneral.test.js.map +1 -0
  119. package/dist/tests/protocolRequirementInstances.test.d.ts +1 -0
  120. package/dist/tests/protocolRequirementInstances.test.js +164 -0
  121. package/dist/tests/protocolRequirementInstances.test.js.map +1 -0
  122. package/dist/tests/protocolRequirementListStub.test.d.ts +1 -0
  123. package/dist/tests/protocolRequirementListStub.test.js +244 -0
  124. package/dist/tests/protocolRequirementListStub.test.js.map +1 -0
  125. package/dist/tests/protocolRequirementPopulated.test.d.ts +1 -0
  126. package/dist/tests/protocolRequirementPopulated.test.js +172 -0
  127. package/dist/tests/protocolRequirementPopulated.test.js.map +1 -0
  128. package/dist/tests/protocolRequirementRecursive.test.d.ts +1 -0
  129. package/dist/tests/protocolRequirementRecursive.test.js +118 -0
  130. package/dist/tests/protocolRequirementRecursive.test.js.map +1 -0
  131. package/dist/tests/protocolRequirementSpeculative.test.d.ts +1 -0
  132. package/dist/tests/protocolRequirementSpeculative.test.js +200 -0
  133. package/dist/tests/protocolRequirementSpeculative.test.js.map +1 -0
  134. package/dist/tests/protocolRequirementState.test.d.ts +1 -0
  135. package/dist/tests/protocolRequirementState.test.js +161 -0
  136. package/dist/tests/protocolRequirementState.test.js.map +1 -0
  137. package/dist/tests/testState.test.js +64 -0
  138. package/dist/tests/testState.test.js.map +1 -1
  139. package/dist/tests/testUtils.d.ts +6 -1
  140. package/dist/tests/testUtils.js +11 -6
  141. package/dist/tests/testUtils.js.map +1 -1
  142. package/dist/tests/typeCacheIsolation.test.d.ts +1 -0
  143. package/dist/tests/typeCacheIsolation.test.js +109 -0
  144. package/dist/tests/typeCacheIsolation.test.js.map +1 -0
  145. package/dist/tests/typeCacheUtils.test.js +74 -0
  146. package/dist/tests/typeCacheUtils.test.js.map +1 -1
  147. package/dist/tests/typeEvaluator1.test.js +5 -1
  148. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  149. package/dist/tests/typeEvaluator4.test.js +6 -2
  150. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  151. package/dist/tests/typeEvaluator5.test.js +25 -0
  152. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  153. package/dist/tests/typeEvaluator6.test.js +7 -23
  154. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  155. package/dist/tests/typeEvaluator7.test.js +241 -2
  156. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  157. package/dist/tests/typeServer/typeServer.inProc.test.js +86 -0
  158. package/dist/tests/typeServer/typeServer.inProc.test.js.map +1 -1
  159. package/dist/tests/typeUtils.test.js +36 -0
  160. package/dist/tests/typeUtils.test.js.map +1 -1
  161. package/dist/trace/capture.d.ts +31 -0
  162. package/dist/trace/capture.js +272 -0
  163. package/dist/trace/capture.js.map +1 -0
  164. package/dist/trace/cli.d.ts +1 -0
  165. package/dist/trace/cli.js +196 -0
  166. package/dist/trace/cli.js.map +1 -0
  167. package/dist/trace/nativeAdapter.d.ts +16 -0
  168. package/dist/trace/nativeAdapter.js +418 -0
  169. package/dist/trace/nativeAdapter.js.map +1 -0
  170. package/dist/trace/nativeBridge.d.ts +46 -0
  171. package/dist/trace/nativeBridge.js +416 -0
  172. package/dist/trace/nativeBridge.js.map +1 -0
  173. package/dist/trace/reader.d.ts +83 -0
  174. package/dist/trace/reader.js +296 -0
  175. package/dist/trace/reader.js.map +1 -0
  176. package/dist/trace/recorder.d.ts +59 -0
  177. package/dist/trace/recorder.js +303 -0
  178. package/dist/trace/recorder.js.map +1 -0
  179. package/dist/trace/runtimeLoader.d.ts +23 -0
  180. package/dist/trace/runtimeLoader.js +172 -0
  181. package/dist/trace/runtimeLoader.js.map +1 -0
  182. package/dist/trace/viewerAssets.d.ts +2 -0
  183. package/dist/trace/viewerAssets.js +76 -0
  184. package/dist/trace/viewerAssets.js.map +1 -0
  185. package/dist/trace/viewerClient.d.ts +1 -0
  186. package/dist/trace/viewerClient.js +485 -0
  187. package/dist/trace/viewerClient.js.map +1 -0
  188. package/dist/trace/viewerModel.d.ts +308 -0
  189. package/dist/trace/viewerModel.js +524 -0
  190. package/dist/trace/viewerModel.js.map +1 -0
  191. package/dist/trace/viewerServer.d.ts +7 -0
  192. package/dist/trace/viewerServer.js +185 -0
  193. package/dist/trace/viewerServer.js.map +1 -0
  194. package/dist/typeServer/protocol/typeServerProtocol.d.ts +8 -2
  195. package/dist/typeServer/protocol/typeServerProtocol.js +1 -0
  196. package/dist/typeServer/protocol/typeServerProtocol.js.map +1 -1
  197. package/dist/typeServer/typeServerConversionUtils.js +9 -0
  198. package/dist/typeServer/typeServerConversionUtils.js.map +1 -1
  199. package/package.json +4 -2
@@ -8,6 +8,7 @@ export declare class Checker extends ParseTreeWalker {
8
8
  private _importResolver;
9
9
  private _evaluator;
10
10
  private _dependentFiles;
11
+ private _walkOperation?;
11
12
  private readonly _moduleNode;
12
13
  private readonly _fileInfo;
13
14
  private readonly _nodeInfo;
@@ -15,7 +16,7 @@ export declare class Checker extends ParseTreeWalker {
15
16
  private _scopedNodes;
16
17
  private _typeParamLists;
17
18
  private _multipartImports;
18
- constructor(_importResolver: ImportResolver, _evaluator: TypeEvaluator, parseResults: ParserOutput, _dependentFiles: ParserOutput[] | undefined, nodeInfoReader: AnalyzerNodeInfo.AnalyzerNodeInfoReader);
19
+ constructor(_importResolver: ImportResolver, _evaluator: TypeEvaluator, parseResults: ParserOutput, _dependentFiles: ParserOutput[] | undefined, nodeInfoReader: AnalyzerNodeInfo.AnalyzerNodeInfoReader, _walkOperation?: ((node: ParseNode, callback: () => void) => void) | undefined);
19
20
  check(): void;
20
21
  walk(node: ParseNode): void;
21
22
  visitSuite(node: SuiteNode): boolean;
@@ -80,7 +80,6 @@ const staticExpressions_1 = require("./staticExpressions");
80
80
  const SymbolNameUtils = __importStar(require("./symbolNameUtils"));
81
81
  const symbolUtils_1 = require("./symbolUtils");
82
82
  const typedDicts_1 = require("./typedDicts");
83
- const typeEvaluator_1 = require("./typeEvaluator");
84
83
  const typeEvaluatorTypes_1 = require("./typeEvaluatorTypes");
85
84
  const typeGuards_1 = require("./typeGuards");
86
85
  const types_1 = require("./types");
@@ -89,7 +88,7 @@ const typeUtils_1 = require("./typeUtils");
89
88
  // functions to be emitted.
90
89
  const isPrintCodeComplexityEnabled = false;
91
90
  class Checker extends parseTreeWalker_1.ParseTreeWalker {
92
- constructor(_importResolver, _evaluator, parseResults, _dependentFiles, nodeInfoReader) {
91
+ constructor(_importResolver, _evaluator, parseResults, _dependentFiles, nodeInfoReader, _walkOperation) {
93
92
  // Forward the reader to the base walker so the structural walk expands both tier-1
94
93
  // (parser-derived) and tier-2 (evaluator-discovered, e.g. `cast("Foo", v)`) string
95
94
  // annotations. The checker runs after type evaluation, so tier-2 annotations exist by
@@ -100,6 +99,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
100
99
  this._importResolver = _importResolver;
101
100
  this._evaluator = _evaluator;
102
101
  this._dependentFiles = _dependentFiles;
102
+ this._walkOperation = _walkOperation;
103
103
  this._isUnboundCheckSuppressed = false;
104
104
  // A list of all nodes that are defined within the module that
105
105
  // have their own scopes.
@@ -119,7 +119,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
119
119
  if (isPrintCodeComplexityEnabled) {
120
120
  console.log(`Code complexity of module ${this._fileInfo.fileUri.toUserVisibleString()} is ${codeComplexity.toString()}`);
121
121
  }
122
- if (codeComplexity > typeEvaluator_1.maxCodeComplexity) {
122
+ if (codeComplexity > this._evaluator.getMaxCodeComplexity()) {
123
123
  this._evaluator.addDiagnosticForTextRange(this._fileInfo, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.codeTooComplexToAnalyze(), { start: 0, length: 0 });
124
124
  }
125
125
  this._walkStatementsAndReportUnreachable(this._moduleNode.d.statements);
@@ -136,6 +136,19 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
136
136
  this._reportDuplicateImports();
137
137
  }
138
138
  walk(node) {
139
+ if (this._walkOperation) {
140
+ this._walkOperation(node, () => {
141
+ if (!this._nodeInfo.isCodeUnreachable(node)) {
142
+ super.walk(node);
143
+ }
144
+ else {
145
+ this._evaluator.suppressDiagnostics(node, () => {
146
+ super.walk(node);
147
+ });
148
+ }
149
+ });
150
+ return;
151
+ }
139
152
  if (!this._nodeInfo.isCodeUnreachable(node)) {
140
153
  super.walk(node);
141
154
  }
@@ -406,7 +419,7 @@ class Checker extends parseTreeWalker_1.ParseTreeWalker {
406
419
  }
407
420
  });
408
421
  const codeComplexity = this._nodeInfo.getCodeFlowComplexity(node);
409
- const isTooComplexToAnalyze = codeComplexity > typeEvaluator_1.maxCodeComplexity;
422
+ const isTooComplexToAnalyze = codeComplexity > this._evaluator.getMaxCodeComplexity();
410
423
  if (isPrintCodeComplexityEnabled) {
411
424
  console.log(`Code complexity of function ${node.d.name.d.value} is ${codeComplexity.toString()}`);
412
425
  }