@zzzen/pyright-internal 1.2.0-dev.20240728 → 1.2.0-dev.20240811

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 (748) hide show
  1. package/dist/analyzer/analysis.js +2 -2
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js +1 -2
  4. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.js +20 -21
  6. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  7. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  8. package/dist/analyzer/binder.js +8 -5
  9. package/dist/analyzer/binder.js.map +1 -1
  10. package/dist/analyzer/cacheManager.d.ts +0 -1
  11. package/dist/analyzer/cacheManager.js.map +1 -1
  12. package/dist/analyzer/checker.d.ts +4 -1
  13. package/dist/analyzer/checker.js +371 -254
  14. package/dist/analyzer/checker.js.map +1 -1
  15. package/dist/analyzer/circularDependency.js.map +1 -1
  16. package/dist/analyzer/codeFlowEngine.js +10 -10
  17. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  18. package/dist/analyzer/codeFlowTypes.d.ts +17 -17
  19. package/dist/analyzer/codeFlowTypes.js +5 -5
  20. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  21. package/dist/analyzer/codeFlowUtils.js +1 -2
  22. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  23. package/dist/analyzer/commentUtils.js +1 -2
  24. package/dist/analyzer/commentUtils.js.map +1 -1
  25. package/dist/analyzer/constraintSolution.d.ts +22 -0
  26. package/dist/analyzer/constraintSolution.js +77 -0
  27. package/dist/analyzer/constraintSolution.js.map +1 -0
  28. package/dist/analyzer/constraintSolver.d.ts +8 -5
  29. package/dist/analyzer/constraintSolver.js +427 -353
  30. package/dist/analyzer/constraintSolver.js.map +1 -1
  31. package/dist/analyzer/constraintTracker.d.ts +45 -0
  32. package/dist/analyzer/constraintTracker.js +235 -0
  33. package/dist/analyzer/constraintTracker.js.map +1 -0
  34. package/dist/analyzer/constructorTransform.js +23 -23
  35. package/dist/analyzer/constructorTransform.js.map +1 -1
  36. package/dist/analyzer/constructors.d.ts +1 -1
  37. package/dist/analyzer/constructors.js +71 -51
  38. package/dist/analyzer/constructors.js.map +1 -1
  39. package/dist/analyzer/dataClasses.js +72 -58
  40. package/dist/analyzer/dataClasses.js.map +1 -1
  41. package/dist/analyzer/declaration.js +11 -11
  42. package/dist/analyzer/declaration.js.map +1 -1
  43. package/dist/analyzer/declarationUtils.js +8 -9
  44. package/dist/analyzer/declarationUtils.js.map +1 -1
  45. package/dist/analyzer/decorators.d.ts +1 -1
  46. package/dist/analyzer/decorators.js +34 -30
  47. package/dist/analyzer/decorators.js.map +1 -1
  48. package/dist/analyzer/docStringConversion.js +2 -3
  49. package/dist/analyzer/docStringConversion.js.map +1 -1
  50. package/dist/analyzer/docStringUtils.js +2 -3
  51. package/dist/analyzer/docStringUtils.js.map +1 -1
  52. package/dist/analyzer/enums.js +17 -14
  53. package/dist/analyzer/enums.js.map +1 -1
  54. package/dist/analyzer/functionTransform.d.ts +2 -2
  55. package/dist/analyzer/functionTransform.js +2 -3
  56. package/dist/analyzer/functionTransform.js.map +1 -1
  57. package/dist/analyzer/importResolver.d.ts +0 -1
  58. package/dist/analyzer/importResolver.js +5 -5
  59. package/dist/analyzer/importResolver.js.map +1 -1
  60. package/dist/analyzer/importStatementUtils.js +15 -15
  61. package/dist/analyzer/importStatementUtils.js.map +1 -1
  62. package/dist/analyzer/namedTuples.js +2 -3
  63. package/dist/analyzer/namedTuples.js.map +1 -1
  64. package/dist/analyzer/operations.d.ts +1 -2
  65. package/dist/analyzer/operations.js +101 -79
  66. package/dist/analyzer/operations.js.map +1 -1
  67. package/dist/analyzer/packageTypeReport.d.ts +3 -3
  68. package/dist/analyzer/packageTypeReport.js +2 -2
  69. package/dist/analyzer/packageTypeReport.js.map +1 -1
  70. package/dist/analyzer/packageTypeVerifier.js +17 -13
  71. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  72. package/dist/analyzer/parameterUtils.d.ts +3 -3
  73. package/dist/analyzer/parameterUtils.js +23 -25
  74. package/dist/analyzer/parameterUtils.js.map +1 -1
  75. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  76. package/dist/analyzer/parseTreeUtils.js +94 -92
  77. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  78. package/dist/analyzer/parseTreeWalker.js +2 -2
  79. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  80. package/dist/analyzer/patternMatching.js +39 -41
  81. package/dist/analyzer/patternMatching.js.map +1 -1
  82. package/dist/analyzer/program.js +5 -1
  83. package/dist/analyzer/program.js.map +1 -1
  84. package/dist/analyzer/properties.d.ts +3 -2
  85. package/dist/analyzer/properties.js +16 -18
  86. package/dist/analyzer/properties.js.map +1 -1
  87. package/dist/analyzer/protocols.d.ts +3 -3
  88. package/dist/analyzer/protocols.js +58 -60
  89. package/dist/analyzer/protocols.js.map +1 -1
  90. package/dist/analyzer/pyTypedUtils.js +2 -3
  91. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  92. package/dist/analyzer/pythonPathUtils.js +6 -6
  93. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  94. package/dist/analyzer/scope.js.map +1 -1
  95. package/dist/analyzer/scopeUtils.js +5 -6
  96. package/dist/analyzer/scopeUtils.js.map +1 -1
  97. package/dist/analyzer/service.d.ts +3 -0
  98. package/dist/analyzer/service.js +173 -103
  99. package/dist/analyzer/service.js.map +1 -1
  100. package/dist/analyzer/serviceUtils.js +5 -5
  101. package/dist/analyzer/serviceUtils.js.map +1 -1
  102. package/dist/analyzer/sourceFile.js.map +1 -1
  103. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  104. package/dist/analyzer/sourceFileInfoUtils.js +4 -5
  105. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  106. package/dist/analyzer/sourceMapper.js +5 -4
  107. package/dist/analyzer/sourceMapper.js.map +1 -1
  108. package/dist/analyzer/sourceMapperUtils.js +1 -2
  109. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  110. package/dist/analyzer/staticExpressions.js +2 -3
  111. package/dist/analyzer/staticExpressions.js.map +1 -1
  112. package/dist/analyzer/symbol.js.map +1 -1
  113. package/dist/analyzer/symbolNameUtils.js +8 -9
  114. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  115. package/dist/analyzer/symbolUtils.js +4 -5
  116. package/dist/analyzer/symbolUtils.js.map +1 -1
  117. package/dist/analyzer/testWalker.js.map +1 -1
  118. package/dist/analyzer/tracePrinter.js +5 -4
  119. package/dist/analyzer/tracePrinter.js.map +1 -1
  120. package/dist/analyzer/tuples.d.ts +2 -2
  121. package/dist/analyzer/tuples.js +14 -14
  122. package/dist/analyzer/tuples.js.map +1 -1
  123. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  124. package/dist/analyzer/typeComplexity.js +14 -7
  125. package/dist/analyzer/typeComplexity.js.map +1 -1
  126. package/dist/analyzer/typeDocStringUtils.d.ts +2 -2
  127. package/dist/analyzer/typeDocStringUtils.js +34 -25
  128. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  129. package/dist/analyzer/typeEvaluator.js +1021 -993
  130. package/dist/analyzer/typeEvaluator.js.map +1 -1
  131. package/dist/analyzer/typeEvaluatorTypes.d.ts +31 -13
  132. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  133. package/dist/analyzer/typeEvaluatorWithTracker.js +1 -2
  134. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  135. package/dist/analyzer/typeGuards.js +72 -64
  136. package/dist/analyzer/typeGuards.js.map +1 -1
  137. package/dist/analyzer/typePrinter.js +28 -26
  138. package/dist/analyzer/typePrinter.js.map +1 -1
  139. package/dist/analyzer/typeStubWriter.js.map +1 -1
  140. package/dist/analyzer/typeUtils.d.ts +36 -38
  141. package/dist/analyzer/typeUtils.js +465 -746
  142. package/dist/analyzer/typeUtils.js.map +1 -1
  143. package/dist/analyzer/typeWalker.d.ts +2 -2
  144. package/dist/analyzer/typeWalker.js +10 -5
  145. package/dist/analyzer/typeWalker.js.map +1 -1
  146. package/dist/analyzer/typedDicts.d.ts +2 -2
  147. package/dist/analyzer/typedDicts.js +52 -52
  148. package/dist/analyzer/typedDicts.js.map +1 -1
  149. package/dist/analyzer/types.d.ts +41 -36
  150. package/dist/analyzer/types.js +178 -184
  151. package/dist/analyzer/types.js.map +1 -1
  152. package/dist/backgroundAnalysisBase.d.ts +0 -1
  153. package/dist/backgroundAnalysisBase.js.map +1 -1
  154. package/dist/backgroundThreadBase.d.ts +0 -1
  155. package/dist/backgroundThreadBase.js +7 -7
  156. package/dist/backgroundThreadBase.js.map +1 -1
  157. package/dist/commands/commandController.js.map +1 -1
  158. package/dist/commands/createTypeStub.js.map +1 -1
  159. package/dist/commands/dumpFileDebugInfoCommand.js +2 -2
  160. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  161. package/dist/commands/quickActionCommand.js.map +1 -1
  162. package/dist/common/cancellationUtils.js +9 -9
  163. package/dist/common/cancellationUtils.js.map +1 -1
  164. package/dist/common/chokidarFileWatcherProvider.js +3 -3
  165. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  166. package/dist/common/collectionUtils.js +23 -23
  167. package/dist/common/collectionUtils.js.map +1 -1
  168. package/dist/common/commandLineOptions.d.ts +19 -12
  169. package/dist/common/commandLineOptions.js +26 -9
  170. package/dist/common/commandLineOptions.js.map +1 -1
  171. package/dist/common/commandUtils.js +1 -2
  172. package/dist/common/commandUtils.js.map +1 -1
  173. package/dist/common/configOptions.d.ts +2 -2
  174. package/dist/common/configOptions.js +30 -40
  175. package/dist/common/configOptions.js.map +1 -1
  176. package/dist/common/console.js +4 -4
  177. package/dist/common/console.js.map +1 -1
  178. package/dist/common/core.js +21 -21
  179. package/dist/common/core.js.map +1 -1
  180. package/dist/common/crypto.js +1 -2
  181. package/dist/common/crypto.js.map +1 -1
  182. package/dist/common/debug.js +9 -10
  183. package/dist/common/debug.js.map +1 -1
  184. package/dist/common/deferred.js +3 -4
  185. package/dist/common/deferred.js.map +1 -1
  186. package/dist/common/diagnostic.js +3 -3
  187. package/dist/common/diagnostic.js.map +1 -1
  188. package/dist/common/diagnosticSink.js.map +1 -1
  189. package/dist/common/envVarUtils.js +2 -3
  190. package/dist/common/envVarUtils.js.map +1 -1
  191. package/dist/common/fileBasedCancellationUtils.js +4 -4
  192. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  193. package/dist/common/fileSystem.d.ts +0 -2
  194. package/dist/common/fileWatcher.js +2 -2
  195. package/dist/common/fileWatcher.js.map +1 -1
  196. package/dist/common/fullAccessHost.js.map +1 -1
  197. package/dist/common/logTracker.js +2 -2
  198. package/dist/common/logTracker.js.map +1 -1
  199. package/dist/common/lspUtils.d.ts +1 -1
  200. package/dist/common/lspUtils.js +3 -4
  201. package/dist/common/lspUtils.js.map +1 -1
  202. package/dist/common/memUtils.js +2 -2
  203. package/dist/common/memUtils.js.map +1 -1
  204. package/dist/common/pathUtils.js +32 -32
  205. package/dist/common/pathUtils.js.map +1 -1
  206. package/dist/common/positionUtils.js +7 -8
  207. package/dist/common/positionUtils.js.map +1 -1
  208. package/dist/common/progressReporter.js.map +1 -1
  209. package/dist/common/pythonVersion.js.map +1 -1
  210. package/dist/common/realFileSystem.d.ts +0 -2
  211. package/dist/common/realFileSystem.js +2 -2
  212. package/dist/common/realFileSystem.js.map +1 -1
  213. package/dist/common/serviceProvider.js.map +1 -1
  214. package/dist/common/serviceProviderExtensions.js +1 -2
  215. package/dist/common/serviceProviderExtensions.js.map +1 -1
  216. package/dist/common/stringUtils.js +12 -13
  217. package/dist/common/stringUtils.js.map +1 -1
  218. package/dist/common/textEditTracker.js.map +1 -1
  219. package/dist/common/textRange.js +13 -13
  220. package/dist/common/textRange.js.map +1 -1
  221. package/dist/common/textRangeCollection.js +2 -2
  222. package/dist/common/textRangeCollection.js.map +1 -1
  223. package/dist/common/timing.js.map +1 -1
  224. package/dist/common/uri/baseUri.js.map +1 -1
  225. package/dist/common/uri/fileUri.js.map +1 -1
  226. package/dist/common/uri/memoization.js +3 -4
  227. package/dist/common/uri/memoization.js.map +1 -1
  228. package/dist/common/uri/uri.js.map +1 -1
  229. package/dist/common/uri/uriUtils.d.ts +0 -1
  230. package/dist/common/uri/uriUtils.js +20 -20
  231. package/dist/common/uri/uriUtils.js.map +1 -1
  232. package/dist/common/uri/webUri.js.map +1 -1
  233. package/dist/common/workspaceEditUtils.js +8 -9
  234. package/dist/common/workspaceEditUtils.js.map +1 -1
  235. package/dist/languageServerBase.d.ts +2 -2
  236. package/dist/languageServerBase.js +5 -2
  237. package/dist/languageServerBase.js.map +1 -1
  238. package/dist/languageService/analyzerServiceExecutor.js +30 -29
  239. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  240. package/dist/languageService/autoImporter.js +4 -4
  241. package/dist/languageService/autoImporter.js.map +1 -1
  242. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  243. package/dist/languageService/codeActionProvider.js.map +1 -1
  244. package/dist/languageService/completionProvider.js +4 -4
  245. package/dist/languageService/completionProvider.js.map +1 -1
  246. package/dist/languageService/completionProviderUtils.js +4 -5
  247. package/dist/languageService/completionProviderUtils.js.map +1 -1
  248. package/dist/languageService/definitionProvider.js +5 -5
  249. package/dist/languageService/definitionProvider.js.map +1 -1
  250. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  251. package/dist/languageService/documentSymbolCollector.js +3 -3
  252. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  253. package/dist/languageService/documentSymbolProvider.js +2 -2
  254. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  255. package/dist/languageService/dynamicFeature.js.map +1 -1
  256. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  257. package/dist/languageService/hoverProvider.js +6 -6
  258. package/dist/languageService/hoverProvider.js.map +1 -1
  259. package/dist/languageService/importSorter.js.map +1 -1
  260. package/dist/languageService/navigationUtils.js +3 -4
  261. package/dist/languageService/navigationUtils.js.map +1 -1
  262. package/dist/languageService/quickActions.js +1 -2
  263. package/dist/languageService/quickActions.js.map +1 -1
  264. package/dist/languageService/referencesProvider.js.map +1 -1
  265. package/dist/languageService/renameProvider.js.map +1 -1
  266. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  267. package/dist/languageService/symbolIndexer.js.map +1 -1
  268. package/dist/languageService/tooltipUtils.d.ts +5 -5
  269. package/dist/languageService/tooltipUtils.js +31 -31
  270. package/dist/languageService/tooltipUtils.js.map +1 -1
  271. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  272. package/dist/localization/localize.d.ts +3 -0
  273. package/dist/localization/localize.js +7 -6
  274. package/dist/localization/localize.js.map +1 -1
  275. package/dist/localization/package.nls.en-us.json +2 -1
  276. package/dist/nodeMain.js +1 -2
  277. package/dist/nodeMain.js.map +1 -1
  278. package/dist/nodeServer.js +2 -3
  279. package/dist/nodeServer.js.map +1 -1
  280. package/dist/parser/characterStream.js.map +1 -1
  281. package/dist/parser/characters.js +10 -11
  282. package/dist/parser/characters.js.map +1 -1
  283. package/dist/parser/parseNodes.d.ts +8 -8
  284. package/dist/parser/parseNodes.js +5 -5
  285. package/dist/parser/parseNodes.js.map +1 -1
  286. package/dist/parser/parser.js.map +1 -1
  287. package/dist/parser/stringTokenUtils.js +2 -2
  288. package/dist/parser/stringTokenUtils.js.map +1 -1
  289. package/dist/parser/tokenizer.js.map +1 -1
  290. package/dist/parser/unicode.js +468 -468
  291. package/dist/parser/unicode.js.map +1 -1
  292. package/dist/pprof/profiler.js +2 -3
  293. package/dist/pprof/profiler.js.map +1 -1
  294. package/dist/pyright.js +22 -23
  295. package/dist/pyright.js.map +1 -1
  296. package/dist/pyrightFileSystem.d.ts +0 -2
  297. package/dist/pyrightFileSystem.js.map +1 -1
  298. package/dist/readonlyAugmentedFileSystem.d.ts +0 -2
  299. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  300. package/dist/server.js.map +1 -1
  301. package/dist/tests/cacheManager.test.js.map +1 -1
  302. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  303. package/dist/tests/checker.test.js +13 -5
  304. package/dist/tests/checker.test.js.map +1 -1
  305. package/dist/tests/classDeclaration.test.js.map +1 -1
  306. package/dist/tests/config.test.js +160 -24
  307. package/dist/tests/config.test.js.map +1 -1
  308. package/dist/tests/debug.test.js.map +1 -1
  309. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  310. package/dist/tests/docStringConversion.test.js +1 -2
  311. package/dist/tests/docStringConversion.test.js.map +1 -1
  312. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  313. package/dist/tests/filesystem.test.js.map +1 -1
  314. package/dist/tests/fourSlashParser.test.js.map +1 -1
  315. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  316. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.d.ts +0 -1
  317. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  318. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.d.ts +0 -1
  319. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  320. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.d.ts +0 -1
  321. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.d.ts +0 -1
  322. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.d.ts +0 -1
  323. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  324. package/dist/tests/fourslash/completions.autoimport.fourslash.d.ts +0 -1
  325. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  326. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.d.ts +0 -1
  327. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  328. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.d.ts +0 -1
  329. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  330. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.d.ts +0 -1
  331. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  332. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.d.ts +0 -1
  333. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  334. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.d.ts +0 -1
  335. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.d.ts +0 -1
  337. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  338. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.d.ts +0 -1
  339. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  340. package/dist/tests/fourslash/completions.builtinOverride.fourslash.d.ts +0 -1
  341. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.d.ts +0 -1
  342. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  343. package/dist/tests/fourslash/completions.call.typedDict.fourslash.d.ts +0 -1
  344. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  345. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.d.ts +0 -1
  346. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  347. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.d.ts +0 -1
  348. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  349. package/dist/tests/fourslash/completions.classVariable.fourslash.d.ts +0 -1
  350. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  351. package/dist/tests/fourslash/completions.comment.fourslash.d.ts +0 -1
  352. package/dist/tests/fourslash/completions.declNames.class.fourslash.d.ts +0 -1
  353. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  354. package/dist/tests/fourslash/completions.declNames.exception.fourslash.d.ts +0 -1
  355. package/dist/tests/fourslash/completions.declNames.for.fourslash.d.ts +0 -1
  356. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.d.ts +0 -1
  358. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.d.ts +0 -1
  359. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  360. package/dist/tests/fourslash/completions.declNames.method.fourslash.d.ts +0 -1
  361. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  362. package/dist/tests/fourslash/completions.declNames.overload.fourslash.d.ts +0 -1
  363. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  364. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.d.ts +0 -1
  365. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  366. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.d.ts +0 -1
  367. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  368. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.d.ts +0 -1
  369. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  370. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.d.ts +0 -1
  371. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  372. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.d.ts +0 -1
  373. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  374. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.d.ts +0 -1
  375. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  376. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.d.ts +0 -1
  377. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  378. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.d.ts +0 -1
  379. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +0 -1
  380. package/dist/tests/fourslash/completions.enums.members.fourslash.d.ts +0 -1
  381. package/dist/tests/fourslash/completions.errorNodes.fourslash.d.ts +0 -1
  382. package/dist/tests/fourslash/completions.excluded.fourslash.d.ts +0 -1
  383. package/dist/tests/fourslash/completions.fourslash.d.ts +0 -1
  384. package/dist/tests/fourslash/completions.fstring.fourslash.d.ts +0 -1
  385. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.d.ts +0 -1
  386. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  387. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.d.ts +0 -1
  388. package/dist/tests/fourslash/completions.import.dunderNames.fourslash.d.ts +0 -1
  389. package/dist/tests/fourslash/completions.import.exactMatch.fourslash.d.ts +0 -1
  390. package/dist/tests/fourslash/completions.import.excludeAlreadyImported.fourslash.d.ts +0 -1
  391. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.d.ts +0 -1
  392. package/dist/tests/fourslash/completions.import.interimFile.fourslash.disabled.js.map +1 -1
  393. package/dist/tests/fourslash/completions.import.submodule.fourslash.d.ts +0 -1
  394. package/dist/tests/fourslash/completions.inList.fourslash.d.ts +0 -1
  395. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  396. package/dist/tests/fourslash/completions.included.fourslash.d.ts +0 -1
  397. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.d.ts +0 -1
  398. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  399. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.d.ts +0 -1
  400. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.d.ts +0 -1
  401. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.d.ts +0 -1
  402. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.d.ts +0 -1
  403. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.d.ts +0 -1
  404. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.d.ts +0 -1
  405. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  406. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.d.ts +0 -1
  407. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.d.ts +0 -1
  408. package/dist/tests/fourslash/completions.libStub.fourslash.d.ts +0 -1
  409. package/dist/tests/fourslash/completions.literals.fourslash.d.ts +0 -1
  410. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  411. package/dist/tests/fourslash/completions.localCode.fourslash.d.ts +0 -1
  412. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.d.ts +0 -1
  413. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.d.ts +0 -1
  414. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.d.ts +0 -1
  415. package/dist/tests/fourslash/completions.overloads.fourslash.d.ts +0 -1
  416. package/dist/tests/fourslash/completions.override.default.fourslash.d.ts +0 -1
  417. package/dist/tests/fourslash/completions.override.default.importStub.d.ts +0 -1
  418. package/dist/tests/fourslash/completions.override.default.imported.fourslash.d.ts +0 -1
  419. package/dist/tests/fourslash/completions.override.default.stub.fourslash.d.ts +0 -1
  420. package/dist/tests/fourslash/completions.override.fourslash.d.ts +0 -1
  421. package/dist/tests/fourslash/completions.override.property.fourslash.d.ts +0 -1
  422. package/dist/tests/fourslash/completions.override.property.stub.fourslash.d.ts +0 -1
  423. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.d.ts +0 -1
  424. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  425. package/dist/tests/fourslash/completions.override.stub.fourslash.d.ts +0 -1
  426. package/dist/tests/fourslash/completions.override2.fourslash.d.ts +0 -1
  427. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  428. package/dist/tests/fourslash/completions.parameters.fourslash.d.ts +0 -1
  429. package/dist/tests/fourslash/completions.params.fourslash.d.ts +0 -1
  430. package/dist/tests/fourslash/completions.parentFolder.fourslash.d.ts +0 -1
  431. package/dist/tests/fourslash/completions.parentFolders.fourslash.d.ts +0 -1
  432. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  433. package/dist/tests/fourslash/completions.plainText.fourslash.d.ts +0 -1
  434. package/dist/tests/fourslash/completions.private.fourslash.d.ts +0 -1
  435. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  436. package/dist/tests/fourslash/completions.property.fourslash.d.ts +0 -1
  437. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.d.ts +0 -1
  438. package/dist/tests/fourslash/completions.self.fourslash.d.ts +0 -1
  439. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.d.ts +0 -1
  440. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  441. package/dist/tests/fourslash/completions.stringLiteral.fourslash.d.ts +0 -1
  442. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  443. package/dist/tests/fourslash/completions.triggers.fourslash.d.ts +0 -1
  444. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  445. package/dist/tests/fourslash/completions.typeAlias.fourslash.d.ts +0 -1
  446. package/dist/tests/fourslash/completions.typeshed.fourslash.d.ts +0 -1
  447. package/dist/tests/fourslash/completions.vardecls.fourslash.d.ts +0 -1
  448. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  449. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.d.ts +0 -1
  450. package/dist/tests/fourslash/completions.wildcardimports.fourslash.d.ts +0 -1
  451. package/dist/tests/fourslash/completions.with.fourslash.d.ts +0 -1
  452. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.d.ts +0 -1
  453. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  454. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.d.ts +0 -1
  455. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  456. package/dist/tests/fourslash/findDefinitions.classes.fourslash.d.ts +0 -1
  457. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  458. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.d.ts +0 -1
  459. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  460. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.d.ts +0 -1
  461. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  462. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.d.ts +0 -1
  463. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  464. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.d.ts +0 -1
  465. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  466. package/dist/tests/fourslash/findDefinitions.fields.fourslash.d.ts +0 -1
  467. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  468. package/dist/tests/fourslash/findDefinitions.functions.fourslash.d.ts +0 -1
  469. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  470. package/dist/tests/fourslash/findDefinitions.methods.fourslash.d.ts +0 -1
  471. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  472. package/dist/tests/fourslash/findDefinitions.modules.fourslash.d.ts +0 -1
  473. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  474. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.d.ts +0 -1
  475. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  476. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +0 -1
  477. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  478. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.d.ts +0 -1
  479. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  480. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.d.ts +0 -1
  481. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  482. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.d.ts +0 -1
  483. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  484. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.d.ts +0 -1
  485. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  486. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.d.ts +0 -1
  487. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  488. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.d.ts +0 -1
  489. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  490. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.d.ts +0 -1
  491. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  492. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.d.ts +0 -1
  493. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  494. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.d.ts +0 -1
  495. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  496. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.d.ts +0 -1
  497. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  498. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.d.ts +0 -1
  499. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  500. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.d.ts +0 -1
  501. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  502. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.d.ts +0 -1
  503. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  504. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.d.ts +0 -1
  505. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  506. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.d.ts +0 -1
  507. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  508. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.d.ts +0 -1
  509. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  510. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.d.ts +0 -1
  511. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  512. package/dist/tests/fourslash/findDefinitions.variables.fourslash.d.ts +0 -1
  513. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  514. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.d.ts +0 -1
  515. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  516. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.d.ts +0 -1
  517. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  518. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.d.ts +0 -1
  519. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  520. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.d.ts +0 -1
  521. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  522. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.d.ts +0 -1
  523. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  524. package/dist/tests/fourslash/findallreferences.fourslash.d.ts +0 -1
  525. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  526. package/dist/tests/fourslash/findallreferences.importalias.fourslash.d.ts +0 -1
  527. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  528. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.d.ts +0 -1
  529. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  530. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.d.ts +0 -1
  531. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  532. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.d.ts +0 -1
  533. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  534. package/dist/tests/fourslash/findallreferences.modules.fourslash.d.ts +0 -1
  535. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  536. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.d.ts +0 -1
  537. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  538. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.d.ts +0 -1
  539. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  540. package/dist/tests/fourslash/findallreferences.parameter.fourslash.d.ts +0 -1
  541. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  542. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.d.ts +0 -1
  543. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  544. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.d.ts +0 -1
  545. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  546. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.d.ts +0 -1
  547. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  548. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.d.ts +0 -1
  549. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  550. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.d.ts +0 -1
  551. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  552. package/dist/tests/fourslash/findallreferences.variable.fourslash.d.ts +0 -1
  553. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  554. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.d.ts +0 -1
  555. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  556. package/dist/tests/fourslash/hover.async.fourslash.d.ts +0 -1
  557. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByBuiltin.fourslash.d.ts +0 -1
  558. package/dist/tests/fourslash/hover.builtinDocstrings.builtinInheritedByUserCode.fourslash.d.ts +0 -1
  559. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.d.ts +0 -1
  560. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  561. package/dist/tests/fourslash/hover.class.docString.fourslash.d.ts +0 -1
  562. package/dist/tests/fourslash/hover.classNoInit.fourslash.d.ts +0 -1
  563. package/dist/tests/fourslash/hover.docFromSrc.fourslash.d.ts +0 -1
  564. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.d.ts +0 -1
  565. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.d.ts +0 -1
  566. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.d.ts +0 -1
  567. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.d.ts +0 -1
  568. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.d.ts +0 -1
  569. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.d.ts +0 -1
  570. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.d.ts +0 -1
  571. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.d.ts +0 -1
  572. package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +0 -1
  573. package/dist/tests/fourslash/hover.docstring.links.fourslash.d.ts +0 -1
  574. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.d.ts +0 -1
  575. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.d.ts +0 -1
  576. package/dist/tests/fourslash/hover.docstring.split.fourslash.d.ts +0 -1
  577. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +0 -1
  578. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +0 -1
  579. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +0 -1
  580. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +0 -1
  581. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +0 -1
  582. package/dist/tests/fourslash/hover.formatted.fourslash.d.ts +0 -1
  583. package/dist/tests/fourslash/hover.fourslash.d.ts +0 -1
  584. package/dist/tests/fourslash/hover.import.django.view.fourslash.d.ts +0 -1
  585. package/dist/tests/fourslash/hover.import.fourslash.d.ts +0 -1
  586. package/dist/tests/fourslash/hover.inferred.fourslash.d.ts +0 -1
  587. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.d.ts +0 -1
  588. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.d.ts +0 -1
  589. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.d.ts +0 -1
  590. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.d.ts +0 -1
  591. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.d.ts +0 -1
  592. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.d.ts +0 -1
  593. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.d.ts +0 -1
  594. package/dist/tests/fourslash/hover.init.fourslash.d.ts +0 -1
  595. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.d.ts +0 -1
  596. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.d.ts +0 -1
  597. package/dist/tests/fourslash/hover.libStub.fourslash.d.ts +0 -1
  598. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.d.ts +0 -1
  599. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.d.ts +0 -1
  600. package/dist/tests/fourslash/hover.plainText.fourslash.d.ts +0 -1
  601. package/dist/tests/fourslash/hover.slots.fourslash.d.ts +0 -1
  602. package/dist/tests/fourslash/hover.typedDict.key.fourslash.d.ts +0 -1
  603. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.d.ts +0 -1
  604. package/dist/tests/fourslash/hover.variable.docString.fourslash.d.ts +0 -1
  605. package/dist/tests/fourslash/hover.wildcardimports.fourslash.d.ts +0 -1
  606. package/dist/tests/fourslash/import.multipart.fourslash.d.ts +0 -1
  607. package/dist/tests/fourslash/import.nameconflict.fourslash.d.ts +0 -1
  608. package/dist/tests/fourslash/import.publicSymbols.fourslash.d.ts +0 -1
  609. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  610. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.d.ts +0 -1
  611. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.d.ts +0 -1
  612. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.d.ts +0 -1
  613. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.d.ts +0 -1
  614. package/dist/tests/fourslash/import.wildcard.fourslash.d.ts +0 -1
  615. package/dist/tests/fourslash/importnotresolved.fourslash.d.ts +0 -1
  616. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.d.ts +0 -1
  617. package/dist/tests/fourslash/missingModuleSource.fourslash.d.ts +0 -1
  618. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.d.ts +0 -1
  619. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.d.ts +0 -1
  620. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.d.ts +0 -1
  621. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.d.ts +0 -1
  622. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.d.ts +0 -1
  623. package/dist/tests/fourslash/missingTypeStub.fourslash.d.ts +0 -1
  624. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.d.ts +0 -1
  625. package/dist/tests/fourslash/noerrors.fourslash.d.ts +0 -1
  626. package/dist/tests/fourslash/orderImports1.command.fourslash.d.ts +0 -1
  627. package/dist/tests/fourslash/orderImports2.command.fourslash.d.ts +0 -1
  628. package/dist/tests/fourslash/rename.args.fourslash.d.ts +0 -1
  629. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -1
  630. package/dist/tests/fourslash/rename.externallyHidden.fourslash.d.ts +0 -1
  631. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.d.ts +0 -1
  632. package/dist/tests/fourslash/rename.fourslash.d.ts +0 -1
  633. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  634. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.d.ts +0 -1
  635. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  636. package/dist/tests/fourslash/rename.init.fourslash.d.ts +0 -1
  637. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  638. package/dist/tests/fourslash/rename.library.fourslash.d.ts +0 -1
  639. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.d.ts +0 -1
  640. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +0 -1
  641. package/dist/tests/fourslash/rename.parens.fourslash.d.ts +0 -1
  642. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  643. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.d.ts +0 -1
  644. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  645. package/dist/tests/fourslash/rename.string.excluded.fourslash.d.ts +0 -1
  646. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  647. package/dist/tests/fourslash/rename.string.fourslash.d.ts +0 -1
  648. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  649. package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +0 -1
  650. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.d.ts +0 -1
  651. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  652. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.d.ts +0 -1
  653. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  654. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.d.ts +0 -1
  655. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  656. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.d.ts +0 -1
  657. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  658. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.d.ts +0 -1
  659. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  660. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.d.ts +0 -1
  661. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  662. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.d.ts +0 -1
  663. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  664. package/dist/tests/fourslash/signature.complicated.fourslash.d.ts +0 -1
  665. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  666. package/dist/tests/fourslash/signature.cornercases.fourslash.d.ts +0 -1
  667. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  668. package/dist/tests/fourslash/signature.docstrings.fourslash.d.ts +0 -1
  669. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  670. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.d.ts +0 -1
  671. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  672. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.d.ts +0 -1
  673. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  674. package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +0 -1
  675. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  676. package/dist/tests/fourslash/signature.overload.fourslash.d.ts +0 -1
  677. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  678. package/dist/tests/fourslash/signature.simple.fourslash.d.ts +0 -1
  679. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  680. package/dist/tests/fourslash/typeVerifier.fourslash.d.ts +0 -1
  681. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  682. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -2
  683. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  684. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  685. package/dist/tests/harness/fourslash/runner.d.ts +0 -1
  686. package/dist/tests/harness/fourslash/runner.js +2 -3
  687. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  688. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  689. package/dist/tests/harness/fourslash/testState.js +7 -7
  690. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  691. package/dist/tests/harness/fourslash/testStateUtils.js +4 -5
  692. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  693. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +7 -8
  694. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  695. package/dist/tests/harness/testHost.js.map +1 -1
  696. package/dist/tests/harness/utils.d.ts +0 -2
  697. package/dist/tests/harness/utils.js +7 -7
  698. package/dist/tests/harness/utils.js.map +1 -1
  699. package/dist/tests/harness/vfs/factory.js +3 -3
  700. package/dist/tests/harness/vfs/factory.js.map +1 -1
  701. package/dist/tests/harness/vfs/filesystem.d.ts +0 -2
  702. package/dist/tests/harness/vfs/filesystem.js +2 -2
  703. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  704. package/dist/tests/harness/vfs/pathValidation.js +2 -2
  705. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  706. package/dist/tests/importResolver.test.js.map +1 -1
  707. package/dist/tests/importStatementUtils.test.js.map +1 -1
  708. package/dist/tests/ipythonMode.test.js.map +1 -1
  709. package/dist/tests/languageServer.test.js.map +1 -1
  710. package/dist/tests/localizer.test.js.map +1 -1
  711. package/dist/tests/lsp/languageServer.js +1 -2
  712. package/dist/tests/lsp/languageServer.js.map +1 -1
  713. package/dist/tests/lsp/languageServerTestUtils.js +14 -14
  714. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  715. package/dist/tests/lsp/webpack.testserver.config.d.ts +2 -2
  716. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  717. package/dist/tests/pathUtils.test.js.map +1 -1
  718. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  719. package/dist/tests/serialization.test.js +1 -2
  720. package/dist/tests/serialization.test.js.map +1 -1
  721. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  722. package/dist/tests/testStateUtils.js +5 -6
  723. package/dist/tests/testStateUtils.js.map +1 -1
  724. package/dist/tests/testUtils.js +8 -9
  725. package/dist/tests/testUtils.js.map +1 -1
  726. package/dist/tests/textEditUtil.test.js.map +1 -1
  727. package/dist/tests/tokenizer.test.js.map +1 -1
  728. package/dist/tests/typeEvaluator1.test.js +7 -7
  729. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  730. package/dist/tests/typeEvaluator2.test.js +20 -0
  731. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  732. package/dist/tests/typeEvaluator3.test.js +6 -2
  733. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  734. package/dist/tests/typeEvaluator4.test.js +3 -3
  735. package/dist/tests/typeEvaluator5.test.js +1 -1
  736. package/dist/tests/typeEvaluator6.test.js +17 -9
  737. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  738. package/dist/tests/typeEvaluator7.test.js +4 -0
  739. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  740. package/dist/tests/typeEvaluator8.test.js +4 -0
  741. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  742. package/dist/tests/uri.test.js.map +1 -1
  743. package/dist/workspaceFactory.js +3 -3
  744. package/dist/workspaceFactory.js.map +1 -1
  745. package/package.json +2 -2
  746. package/dist/analyzer/typeVarContext.d.ts +0 -48
  747. package/dist/analyzer/typeVarContext.js +0 -288
  748. package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ import { Type, TypeVarScopeId, TypeVarType } from './types';
2
+ export interface TypeVarConstraints {
3
+ typeVar: TypeVarType;
4
+ lowerBound?: Type | undefined;
5
+ upperBound?: Type | undefined;
6
+ retainLiterals?: boolean;
7
+ }
8
+ export declare class ConstraintSet {
9
+ private _typeVarMap;
10
+ private _scopeIds;
11
+ constructor();
12
+ clone(): ConstraintSet;
13
+ isSame(other: ConstraintSet): boolean;
14
+ isEmpty(): boolean;
15
+ getScore(): number;
16
+ setBounds(typeVar: TypeVarType, lowerBound: Type | undefined, upperBound?: Type, retainLiterals?: boolean): void;
17
+ doForEachTypeVar(cb: (entry: TypeVarConstraints) => void): void;
18
+ getTypeVar(typeVar: TypeVarType): TypeVarConstraints | undefined;
19
+ getTypeVars(): TypeVarConstraints[];
20
+ addScopeId(scopeId: TypeVarScopeId): void;
21
+ hasScopeId(scopeId: TypeVarScopeId): boolean;
22
+ getScopeIds(): Set<string>;
23
+ hasUnificationVars(): boolean;
24
+ }
25
+ export declare class ConstraintTracker {
26
+ private _isLocked;
27
+ private _constraintSets;
28
+ constructor();
29
+ clone(): ConstraintTracker;
30
+ cloneWithSignature(scopeId: TypeVarScopeId): ConstraintTracker;
31
+ copyFromClone(clone: ConstraintTracker): void;
32
+ copyBounds(entry: TypeVarConstraints): void;
33
+ addConstraintSets(contexts: ConstraintSet[]): void;
34
+ isSame(other: ConstraintTracker): boolean;
35
+ lock(): void;
36
+ unlock(): void;
37
+ isLocked(): boolean;
38
+ isEmpty(): boolean;
39
+ setBounds(typeVar: TypeVarType, lowerBound: Type | undefined, upperBound?: Type, retainLiterals?: boolean): void;
40
+ getScore(): number;
41
+ getMainConstraintSet(): ConstraintSet;
42
+ getConstraintSets(): ConstraintSet[];
43
+ doForEachConstraintSet(callback: (constraintSet: ConstraintSet, index: number) => void): void;
44
+ getConstraintSet(index: number): ConstraintSet;
45
+ }
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ /*
3
+ * constraintTracker.ts
4
+ * Copyright (c) Microsoft Corporation.
5
+ * Licensed under the MIT license.
6
+ * Author: Eric Traut
7
+ *
8
+ * Module that tracks the constraints for a set of type variables.
9
+ * It is used by the constraint solver to solve for the type of
10
+ * each type variable.
11
+ */
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.ConstraintTracker = exports.ConstraintSet = void 0;
14
+ const debug_1 = require("../common/debug");
15
+ const typeComplexity_1 = require("./typeComplexity");
16
+ const types_1 = require("./types");
17
+ // The maximum number of constraint sets that can be associated
18
+ // with a constraint tracker. This equates to the number of overloads
19
+ // that can be captured by a ParamSpec (or multiple ParamSpecs).
20
+ // We should never hit this limit in practice, but there are certain
21
+ // pathological cases where we could, and we need to protect against
22
+ // this so it doesn't completely exhaust memory. This was previously
23
+ // set to 64, but we have seen cases where a library uses in excess
24
+ // of 300 overloads on a single function.
25
+ const maxConstraintSetCount = 1024;
26
+ // Records the constraints information for a set of type variables
27
+ // associated with a callee's signature.
28
+ class ConstraintSet {
29
+ constructor() {
30
+ this._typeVarMap = new Map();
31
+ }
32
+ clone() {
33
+ const constraintSet = new ConstraintSet();
34
+ this._typeVarMap.forEach((value) => {
35
+ constraintSet.setBounds(value.typeVar, value.lowerBound, value.upperBound, value.retainLiterals);
36
+ });
37
+ if (this._scopeIds) {
38
+ this._scopeIds.forEach((scopeId) => constraintSet.addScopeId(scopeId));
39
+ }
40
+ return constraintSet;
41
+ }
42
+ isSame(other) {
43
+ if (this._typeVarMap.size !== other._typeVarMap.size) {
44
+ return false;
45
+ }
46
+ function typesMatch(type1, type2) {
47
+ if (!type1 || !type2) {
48
+ return type1 === type2;
49
+ }
50
+ return (0, types_1.isTypeSame)(type1, type2);
51
+ }
52
+ let isSame = true;
53
+ this._typeVarMap.forEach((value, key) => {
54
+ const otherValue = other._typeVarMap.get(key);
55
+ if (!otherValue ||
56
+ !typesMatch(value.lowerBound, otherValue.lowerBound) ||
57
+ !typesMatch(value.upperBound, otherValue.upperBound)) {
58
+ isSame = false;
59
+ }
60
+ });
61
+ return isSame;
62
+ }
63
+ isEmpty() {
64
+ return this._typeVarMap.size === 0;
65
+ }
66
+ // Provides a "score" - a value that values completeness (number
67
+ // of type variables that are assigned) and simplicity.
68
+ getScore() {
69
+ let score = 0;
70
+ // Sum the scores for the defined type vars.
71
+ this._typeVarMap.forEach((entry) => {
72
+ var _a;
73
+ // Add 1 to the score for each type variable defined.
74
+ score += 1;
75
+ // Add a fractional amount based on the simplicity of the definition.
76
+ // The more complex, the lower the score. In the spirit of Occam's
77
+ // Razor, we always want to favor simple answers.
78
+ const typeVarType = (_a = entry.lowerBound) !== null && _a !== void 0 ? _a : entry.upperBound;
79
+ if (typeVarType) {
80
+ score += 1.0 - (0, typeComplexity_1.getComplexityScoreForType)(typeVarType);
81
+ }
82
+ });
83
+ return score;
84
+ }
85
+ setBounds(typeVar, lowerBound, upperBound, retainLiterals) {
86
+ const key = types_1.TypeVarType.getNameWithScope(typeVar);
87
+ this._typeVarMap.set(key, {
88
+ typeVar,
89
+ lowerBound,
90
+ upperBound,
91
+ retainLiterals,
92
+ });
93
+ }
94
+ doForEachTypeVar(cb) {
95
+ this._typeVarMap.forEach(cb);
96
+ }
97
+ getTypeVar(typeVar) {
98
+ const key = types_1.TypeVarType.getNameWithScope(typeVar);
99
+ return this._typeVarMap.get(key);
100
+ }
101
+ getTypeVars() {
102
+ const entries = [];
103
+ this._typeVarMap.forEach((entry) => {
104
+ entries.push(entry);
105
+ });
106
+ return entries;
107
+ }
108
+ addScopeId(scopeId) {
109
+ if (!this._scopeIds) {
110
+ this._scopeIds = new Set();
111
+ }
112
+ this._scopeIds.add(scopeId);
113
+ }
114
+ hasScopeId(scopeId) {
115
+ if (!this._scopeIds) {
116
+ return false;
117
+ }
118
+ return this._scopeIds.has(scopeId);
119
+ }
120
+ getScopeIds() {
121
+ return new Set(this._scopeIds);
122
+ }
123
+ hasUnificationVars() {
124
+ for (const entry of this._typeVarMap.values()) {
125
+ if (types_1.TypeVarType.isUnification(entry.typeVar)) {
126
+ return true;
127
+ }
128
+ }
129
+ return false;
130
+ }
131
+ }
132
+ exports.ConstraintSet = ConstraintSet;
133
+ class ConstraintTracker {
134
+ constructor() {
135
+ this._isLocked = false;
136
+ this._constraintSets = [new ConstraintSet()];
137
+ }
138
+ clone() {
139
+ const newTypeVarMap = new ConstraintTracker();
140
+ newTypeVarMap._constraintSets = this._constraintSets.map((set) => set.clone());
141
+ newTypeVarMap._isLocked = this._isLocked;
142
+ return newTypeVarMap;
143
+ }
144
+ cloneWithSignature(scopeId) {
145
+ const cloned = this.clone();
146
+ if (scopeId) {
147
+ const filteredSets = this._constraintSets.filter((context) => context.hasScopeId(scopeId));
148
+ if (filteredSets.length > 0) {
149
+ cloned._constraintSets = filteredSets;
150
+ }
151
+ else {
152
+ cloned._constraintSets.forEach((context) => {
153
+ context.addScopeId(scopeId);
154
+ });
155
+ }
156
+ }
157
+ return cloned;
158
+ }
159
+ // Copies a cloned type var context back into this object.
160
+ copyFromClone(clone) {
161
+ this._constraintSets = clone._constraintSets.map((context) => context.clone());
162
+ this._isLocked = clone._isLocked;
163
+ }
164
+ copyBounds(entry) {
165
+ this._constraintSets.forEach((set) => {
166
+ set.setBounds(entry.typeVar, entry.lowerBound, entry.upperBound, entry.retainLiterals);
167
+ });
168
+ }
169
+ // Copy the specified constraint sets into this type var context.
170
+ addConstraintSets(contexts) {
171
+ (0, debug_1.assert)(contexts.length > 0);
172
+ // Limit the number of constraint sets. There are rare circumstances
173
+ // where this can grow to unbounded numbers and exhaust memory.
174
+ if (contexts.length < maxConstraintSetCount) {
175
+ this._constraintSets = Array.from(contexts);
176
+ }
177
+ }
178
+ isSame(other) {
179
+ if (other._constraintSets.length !== this._constraintSets.length) {
180
+ return false;
181
+ }
182
+ return this._constraintSets.every((set, index) => set.isSame(other._constraintSets[index]));
183
+ }
184
+ lock() {
185
+ // Locks the type var map, preventing any further changes.
186
+ (0, debug_1.assert)(!this._isLocked);
187
+ this._isLocked = true;
188
+ }
189
+ unlock() {
190
+ // Unlocks the type var map, allowing further changes.
191
+ this._isLocked = false;
192
+ }
193
+ isLocked() {
194
+ return this._isLocked;
195
+ }
196
+ isEmpty() {
197
+ return this._constraintSets.every((set) => set.isEmpty());
198
+ }
199
+ setBounds(typeVar, lowerBound, upperBound, retainLiterals) {
200
+ (0, debug_1.assert)(!this._isLocked);
201
+ return this._constraintSets.forEach((set) => {
202
+ set.setBounds(typeVar, lowerBound, upperBound, retainLiterals);
203
+ });
204
+ }
205
+ getScore() {
206
+ let total = 0;
207
+ this._constraintSets.forEach((set) => {
208
+ total += set.getScore();
209
+ });
210
+ // Return the average score among all constraint sets.
211
+ return total / this._constraintSets.length;
212
+ }
213
+ getMainConstraintSet() {
214
+ return this._constraintSets[0];
215
+ }
216
+ getConstraintSets() {
217
+ return this._constraintSets;
218
+ }
219
+ doForEachConstraintSet(callback) {
220
+ const wasLocked = this.isLocked();
221
+ this.unlock();
222
+ this.getConstraintSets().forEach((set, index) => {
223
+ callback(set, index);
224
+ });
225
+ if (wasLocked) {
226
+ this.lock();
227
+ }
228
+ }
229
+ getConstraintSet(index) {
230
+ (0, debug_1.assert)(index >= 0 && index < this._constraintSets.length);
231
+ return this._constraintSets[index];
232
+ }
233
+ }
234
+ exports.ConstraintTracker = ConstraintTracker;
235
+ //# sourceMappingURL=constraintTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraintTracker.js","sourceRoot":"","sources":["../../../../../src/analyzer/constraintTracker.ts"],"names":[],"mappings":"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"}
@@ -11,24 +11,24 @@
11
11
  *
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.applyConstructorTransform = exports.hasConstructorTransform = void 0;
14
+ exports.hasConstructorTransform = hasConstructorTransform;
15
+ exports.applyConstructorTransform = applyConstructorTransform;
15
16
  const collectionUtils_1 = require("../common/collectionUtils");
16
17
  const diagnostic_1 = require("../common/diagnostic");
17
18
  const diagnosticRules_1 = require("../common/diagnosticRules");
18
19
  const localize_1 = require("../localization/localize");
20
+ const constraintTracker_1 = require("./constraintTracker");
19
21
  const constructors_1 = require("./constructors");
20
22
  const parameterUtils_1 = require("./parameterUtils");
21
23
  const symbol_1 = require("./symbol");
22
24
  const types_1 = require("./types");
23
25
  const typeUtils_1 = require("./typeUtils");
24
- const typeVarContext_1 = require("./typeVarContext");
25
26
  function hasConstructorTransform(classType) {
26
27
  if (classType.shared.fullName === 'functools.partial') {
27
28
  return true;
28
29
  }
29
30
  return false;
30
31
  }
31
- exports.hasConstructorTransform = hasConstructorTransform;
32
32
  function applyConstructorTransform(evaluator, errorNode, argList, classType, result) {
33
33
  if (classType.shared.fullName === 'functools.partial') {
34
34
  return applyPartialTransform(evaluator, errorNode, argList, result);
@@ -36,7 +36,6 @@ function applyConstructorTransform(evaluator, errorNode, argList, classType, res
36
36
  // By default, return the result unmodified.
37
37
  return result;
38
38
  }
39
- exports.applyConstructorTransform = applyConstructorTransform;
40
39
  // Applies a transform for the functools.partial class constructor.
41
40
  function applyPartialTransform(evaluator, errorNode, argList, result) {
42
41
  // We assume that the normal return result is a functools.partial class instance.
@@ -84,11 +83,12 @@ function applyPartialTransform(evaluator, errorNode, argList, result) {
84
83
  argumentErrors: transformResult.argumentErrors,
85
84
  };
86
85
  }
87
- if ((0, types_1.isOverloadedFunction)(origFunctionType)) {
86
+ if ((0, types_1.isOverloaded)(origFunctionType)) {
88
87
  const applicableOverloads = [];
88
+ const overloads = types_1.OverloadedType.getOverloads(origFunctionType);
89
89
  let sawArgErrors = false;
90
90
  // Apply the partial transform to each of the functions in the overload.
91
- types_1.OverloadedFunctionType.getOverloads(origFunctionType).forEach((overload) => {
91
+ overloads.forEach((overload) => {
92
92
  // Apply the transform to this overload, but don't report errors.
93
93
  const transformResult = applyPartialTransformToFunction(evaluator,
94
94
  /* errorNode */ undefined, argList, callMemberType, overload);
@@ -102,9 +102,9 @@ function applyPartialTransform(evaluator, errorNode, argList, result) {
102
102
  }
103
103
  });
104
104
  if (applicableOverloads.length === 0) {
105
- if (sawArgErrors) {
105
+ if (sawArgErrors && overloads.length > 0) {
106
106
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportCallIssue, localize_1.LocMessage.noOverload().format({
107
- name: origFunctionType.priv.overloads[0].shared.name,
107
+ name: overloads[0].shared.name,
108
108
  }), errorNode);
109
109
  }
110
110
  return result;
@@ -116,7 +116,7 @@ function applyPartialTransform(evaluator, errorNode, argList, result) {
116
116
  synthesizedCallType = applicableOverloads[0];
117
117
  }
118
118
  else {
119
- synthesizedCallType = types_1.OverloadedFunctionType.create(
119
+ synthesizedCallType = types_1.OverloadedType.create(
120
120
  // Set the "overloaded" flag for each of the __call__ overloads.
121
121
  applicableOverloads.map((overload) => types_1.FunctionType.cloneWithNewFlags(overload, overload.shared.flags | 256 /* FunctionTypeFlags.Overloaded */)));
122
122
  }
@@ -136,7 +136,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
136
136
  // Verify the types of the provided arguments.
137
137
  let argumentErrors = false;
138
138
  let reportedPositionalError = false;
139
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(origFunctionType));
139
+ const constraints = new constraintTracker_1.ConstraintTracker();
140
140
  const remainingArgsList = argList.slice(1);
141
141
  remainingArgsList.forEach((arg, argIndex) => {
142
142
  var _a, _b, _c, _d, _e, _f, _g, _h;
@@ -149,11 +149,11 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
149
149
  if (argIndex >= paramListDetails.params.length ||
150
150
  paramListDetails.params[argIndex].kind === parameterUtils_1.ParamKind.Keyword) {
151
151
  if (paramListDetails.argsIndex !== undefined) {
152
- const paramType = types_1.FunctionType.getEffectiveParamType(origFunctionType, paramListDetails.params[paramListDetails.argsIndex].index);
152
+ const paramType = types_1.FunctionType.getParamType(origFunctionType, paramListDetails.params[paramListDetails.argsIndex].index);
153
153
  const diag = new diagnostic_1.DiagnosticAddendum();
154
154
  const argTypeResult = evaluator.getTypeOfExpression(arg.valueExpression,
155
155
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(paramType));
156
- if (!evaluator.assignType(paramType, argTypeResult.type, diag, typeVarContext)) {
156
+ if (!evaluator.assignType(paramType, argTypeResult.type, diag, constraints)) {
157
157
  if (errorNode) {
158
158
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportArgumentType, localize_1.LocMessage.argAssignmentParamFunction().format({
159
159
  argType: evaluator.printType(argTypeResult.type),
@@ -181,12 +181,12 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
181
181
  }
182
182
  }
183
183
  else {
184
- const paramType = types_1.FunctionType.getEffectiveParamType(origFunctionType, argIndex);
184
+ const paramType = types_1.FunctionType.getParamType(origFunctionType, argIndex);
185
185
  const diag = new diagnostic_1.DiagnosticAddendum();
186
186
  const paramName = (_d = paramListDetails.params[argIndex].param.name) !== null && _d !== void 0 ? _d : '';
187
187
  const argTypeResult = evaluator.getTypeOfExpression(arg.valueExpression,
188
188
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(paramType));
189
- if (!evaluator.assignType(paramType, argTypeResult.type, diag, typeVarContext)) {
189
+ if (!evaluator.assignType(paramType, argTypeResult.type, diag, constraints)) {
190
190
  if (errorNode) {
191
191
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportArgumentType, localize_1.LocMessage.argAssignmentParamFunction().format({
192
192
  argType: evaluator.printType(argTypeResult.type),
@@ -212,11 +212,11 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
212
212
  argumentErrors = true;
213
213
  }
214
214
  else {
215
- const paramType = types_1.FunctionType.getEffectiveParamType(origFunctionType, paramListDetails.params[paramListDetails.kwargsIndex].index);
215
+ const paramType = types_1.FunctionType.getParamType(origFunctionType, paramListDetails.params[paramListDetails.kwargsIndex].index);
216
216
  const diag = new diagnostic_1.DiagnosticAddendum();
217
217
  const argTypeResult = evaluator.getTypeOfExpression(arg.valueExpression,
218
218
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(paramType));
219
- if (!evaluator.assignType(paramType, argTypeResult.type, diag, typeVarContext)) {
219
+ if (!evaluator.assignType(paramType, argTypeResult.type, diag, constraints)) {
220
220
  if (errorNode) {
221
221
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportArgumentType, localize_1.LocMessage.argAssignmentParamFunction().format({
222
222
  argType: evaluator.printType(argTypeResult.type),
@@ -231,7 +231,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
231
231
  }
232
232
  else {
233
233
  const paramName = matchingParam.param.name;
234
- const paramType = types_1.FunctionType.getEffectiveParamType(origFunctionType, matchingParam.index);
234
+ const paramType = matchingParam.type;
235
235
  if (paramMap.has(paramName)) {
236
236
  if (errorNode) {
237
237
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportCallIssue, localize_1.LocMessage.paramAlreadyAssigned().format({ name: arg.name.d.value }), arg.name);
@@ -242,7 +242,7 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
242
242
  const diag = new diagnostic_1.DiagnosticAddendum();
243
243
  const argTypeResult = evaluator.getTypeOfExpression(arg.valueExpression,
244
244
  /* flags */ undefined, (0, typeUtils_1.makeInferenceContext)(paramType));
245
- if (!evaluator.assignType(paramType, argTypeResult.type, diag, typeVarContext)) {
245
+ if (!evaluator.assignType(paramType, argTypeResult.type, diag, constraints)) {
246
246
  if (errorNode) {
247
247
  evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportArgumentType, localize_1.LocMessage.argAssignmentParamFunction().format({
248
248
  argType: evaluator.printType(argTypeResult.type),
@@ -258,21 +258,21 @@ function applyPartialTransformToFunction(evaluator, errorNode, argList, partialC
258
258
  }
259
259
  }
260
260
  });
261
- const specializedFunctionType = (0, typeUtils_1.applySolvedTypeVars)(origFunctionType, typeVarContext);
261
+ const specializedFunctionType = evaluator.solveAndApplyConstraints(origFunctionType, constraints);
262
262
  if (!(0, types_1.isFunction)(specializedFunctionType)) {
263
263
  return undefined;
264
264
  }
265
265
  // Create a new parameter list that omits parameters that have been
266
266
  // populated already.
267
267
  const updatedParamList = specializedFunctionType.shared.parameters.map((param, index) => {
268
- const specializedParam = { ...param };
269
- specializedParam.type = types_1.FunctionType.getEffectiveParamType(specializedFunctionType, index);
268
+ const newType = types_1.FunctionType.getParamType(specializedFunctionType, index);
270
269
  // If it's a keyword parameter that has been assigned a value through
271
270
  // the "partial" mechanism, mark it has having a default value.
271
+ let newDefaultType = types_1.FunctionType.getParamDefaultType(specializedFunctionType, index);
272
272
  if (param.name && paramMap.get(param.name)) {
273
- specializedParam.defaultType = types_1.AnyType.create(/* isEllipsis */ true);
273
+ newDefaultType = types_1.AnyType.create(/* isEllipsis */ true);
274
274
  }
275
- return specializedParam;
275
+ return types_1.FunctionParam.create(param.category, newType, param.flags, param.name, newDefaultType);
276
276
  });
277
277
  const unassignedParamList = updatedParamList.filter((param) => {
278
278
  if (param.category === 2 /* ParamCategory.KwargsDict */) {