@zzzen/pyright-internal 1.2.0-dev.20240121 → 1.2.0-dev.20240218

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 (583) hide show
  1. package/dist/analyzer/analysis.js +4 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +2 -2
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.js +139 -98
  10. package/dist/analyzer/checker.js.map +1 -1
  11. package/dist/analyzer/circularDependency.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +29 -3
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/commentUtils.js.map +1 -1
  17. package/dist/analyzer/constraintSolver.d.ts +2 -2
  18. package/dist/analyzer/constraintSolver.js +28 -6
  19. package/dist/analyzer/constraintSolver.js.map +1 -1
  20. package/dist/analyzer/constructorTransform.js +8 -8
  21. package/dist/analyzer/constructorTransform.js.map +1 -1
  22. package/dist/analyzer/constructors.js +1 -1
  23. package/dist/analyzer/constructors.js.map +1 -1
  24. package/dist/analyzer/dataClasses.js +1 -1
  25. package/dist/analyzer/dataClasses.js.map +1 -1
  26. package/dist/analyzer/declaration.js.map +1 -1
  27. package/dist/analyzer/declarationUtils.js.map +1 -1
  28. package/dist/analyzer/decorators.js +1 -1
  29. package/dist/analyzer/decorators.js.map +1 -1
  30. package/dist/analyzer/deprecatedSymbols.js.map +1 -1
  31. package/dist/analyzer/docStringConversion.js.map +1 -1
  32. package/dist/analyzer/docStringUtils.js.map +1 -1
  33. package/dist/analyzer/enums.d.ts +4 -1
  34. package/dist/analyzer/enums.js +29 -25
  35. package/dist/analyzer/enums.js.map +1 -1
  36. package/dist/analyzer/functionTransform.js.map +1 -1
  37. package/dist/analyzer/importResolver.js +1 -1
  38. package/dist/analyzer/importResolver.js.map +1 -1
  39. package/dist/analyzer/importResult.js.map +1 -1
  40. package/dist/analyzer/importStatementUtils.js.map +1 -1
  41. package/dist/analyzer/namedTuples.js +4 -4
  42. package/dist/analyzer/namedTuples.js.map +1 -1
  43. package/dist/analyzer/operations.js +14 -8
  44. package/dist/analyzer/operations.js.map +1 -1
  45. package/dist/analyzer/packageTypeReport.js.map +1 -1
  46. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  47. package/dist/analyzer/parameterUtils.d.ts +1 -0
  48. package/dist/analyzer/parameterUtils.js +5 -1
  49. package/dist/analyzer/parameterUtils.js.map +1 -1
  50. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  51. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  52. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  53. package/dist/analyzer/parseTreeUtils.js +4 -3
  54. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  56. package/dist/analyzer/patternMatching.js +87 -58
  57. package/dist/analyzer/patternMatching.js.map +1 -1
  58. package/dist/analyzer/program.d.ts +1 -1
  59. package/dist/analyzer/program.js +2 -2
  60. package/dist/analyzer/program.js.map +1 -1
  61. package/dist/analyzer/properties.js.map +1 -1
  62. package/dist/analyzer/protocols.js.map +1 -1
  63. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  64. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  65. package/dist/analyzer/regions.js.map +1 -1
  66. package/dist/analyzer/scope.js.map +1 -1
  67. package/dist/analyzer/scopeUtils.js.map +1 -1
  68. package/dist/analyzer/service.js.map +1 -1
  69. package/dist/analyzer/sourceFile.js.map +1 -1
  70. package/dist/analyzer/sourceFileInfo.js +1 -1
  71. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  72. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  73. package/dist/analyzer/sourceMapper.js.map +1 -1
  74. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  75. package/dist/analyzer/staticExpressions.js.map +1 -1
  76. package/dist/analyzer/symbol.js.map +1 -1
  77. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  78. package/dist/analyzer/symbolUtils.js.map +1 -1
  79. package/dist/analyzer/testWalker.js.map +1 -1
  80. package/dist/analyzer/tracePrinter.js.map +1 -1
  81. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  82. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  83. package/dist/analyzer/typeEvaluator.js +352 -310
  84. package/dist/analyzer/typeEvaluator.js.map +1 -1
  85. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  86. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  87. package/dist/analyzer/typeGuards.js +5 -0
  88. package/dist/analyzer/typeGuards.js.map +1 -1
  89. package/dist/analyzer/typePrinter.js.map +1 -1
  90. package/dist/analyzer/typeStubWriter.js.map +1 -1
  91. package/dist/analyzer/typeUtils.d.ts +0 -1
  92. package/dist/analyzer/typeUtils.js +25 -11
  93. package/dist/analyzer/typeUtils.js.map +1 -1
  94. package/dist/analyzer/typeVarContext.d.ts +2 -2
  95. package/dist/analyzer/typeVarContext.js +10 -4
  96. package/dist/analyzer/typeVarContext.js.map +1 -1
  97. package/dist/analyzer/typeWalker.js.map +1 -1
  98. package/dist/analyzer/typedDicts.js +5 -5
  99. package/dist/analyzer/typedDicts.js.map +1 -1
  100. package/dist/analyzer/types.d.ts +7 -3
  101. package/dist/analyzer/types.js +40 -28
  102. package/dist/analyzer/types.js.map +1 -1
  103. package/dist/backgroundAnalysis.js.map +1 -1
  104. package/dist/backgroundAnalysisBase.js.map +1 -1
  105. package/dist/backgroundThreadBase.js.map +1 -1
  106. package/dist/commands/commandController.js.map +1 -1
  107. package/dist/commands/commandResult.js.map +1 -1
  108. package/dist/commands/commands.js.map +1 -1
  109. package/dist/commands/createTypeStub.js.map +1 -1
  110. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  111. package/dist/commands/quickActionCommand.js.map +1 -1
  112. package/dist/commands/restartServer.js.map +1 -1
  113. package/dist/common/cancellationUtils.d.ts +2 -1
  114. package/dist/common/cancellationUtils.js +17 -4
  115. package/dist/common/cancellationUtils.js.map +1 -1
  116. package/dist/common/charCodes.js.map +1 -1
  117. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  118. package/dist/common/collectionUtils.js.map +1 -1
  119. package/dist/common/commandLineOptions.js.map +1 -1
  120. package/dist/common/commandUtils.js.map +1 -1
  121. package/dist/common/configOptions.d.ts +16 -0
  122. package/dist/common/configOptions.js +80 -0
  123. package/dist/common/configOptions.js.map +1 -1
  124. package/dist/common/console.js.map +1 -1
  125. package/dist/common/core.js.map +1 -1
  126. package/dist/common/crypto.js.map +1 -1
  127. package/dist/common/debug.js.map +1 -1
  128. package/dist/common/deferred.js.map +1 -1
  129. package/dist/common/diagnostic.js.map +1 -1
  130. package/dist/common/diagnosticRules.d.ts +16 -0
  131. package/dist/common/diagnosticRules.js +16 -0
  132. package/dist/common/diagnosticRules.js.map +1 -1
  133. package/dist/common/diagnosticSink.js.map +1 -1
  134. package/dist/common/editAction.js.map +1 -1
  135. package/dist/common/envVarUtils.d.ts +2 -1
  136. package/dist/common/envVarUtils.js +5 -1
  137. package/dist/common/envVarUtils.js.map +1 -1
  138. package/dist/common/extensibility.js.map +1 -1
  139. package/dist/common/extensions.js.map +1 -1
  140. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  141. package/dist/common/fileSystem.js.map +1 -1
  142. package/dist/common/fileWatcher.js.map +1 -1
  143. package/dist/common/fullAccessHost.js +1 -1
  144. package/dist/common/fullAccessHost.js.map +1 -1
  145. package/dist/common/host.js.map +1 -1
  146. package/dist/common/logTracker.js.map +1 -1
  147. package/dist/common/lspUtils.js.map +1 -1
  148. package/dist/common/memUtils.js.map +1 -1
  149. package/dist/common/pathConsts.js.map +1 -1
  150. package/dist/common/pathUtils.js.map +1 -1
  151. package/dist/common/positionUtils.js.map +1 -1
  152. package/dist/common/progressReporter.js.map +1 -1
  153. package/dist/common/pythonVersion.js.map +1 -1
  154. package/dist/common/realFileSystem.js +1 -1
  155. package/dist/common/realFileSystem.js.map +1 -1
  156. package/dist/common/serviceProvider.js.map +1 -1
  157. package/dist/common/serviceProviderExtensions.js.map +1 -1
  158. package/dist/common/stringUtils.js.map +1 -1
  159. package/dist/common/textEditTracker.js.map +1 -1
  160. package/dist/common/textRange.js.map +1 -1
  161. package/dist/common/textRangeCollection.js.map +1 -1
  162. package/dist/common/timing.js.map +1 -1
  163. package/dist/common/uri/baseUri.d.ts +2 -0
  164. package/dist/common/uri/baseUri.js +7 -7
  165. package/dist/common/uri/baseUri.js.map +1 -1
  166. package/dist/common/uri/emptyUri.d.ts +2 -0
  167. package/dist/common/uri/emptyUri.js +6 -0
  168. package/dist/common/uri/emptyUri.js.map +1 -1
  169. package/dist/common/uri/fileUri.d.ts +6 -4
  170. package/dist/common/uri/fileUri.js +18 -9
  171. package/dist/common/uri/fileUri.js.map +1 -1
  172. package/dist/common/uri/memoization.js.map +1 -1
  173. package/dist/common/uri/uri.d.ts +8 -0
  174. package/dist/common/uri/uri.js +16 -7
  175. package/dist/common/uri/uri.js.map +1 -1
  176. package/dist/common/uri/uriUtils.js.map +1 -1
  177. package/dist/common/uri/webUri.d.ts +3 -1
  178. package/dist/common/uri/webUri.js +21 -8
  179. package/dist/common/uri/webUri.js.map +1 -1
  180. package/dist/common/workspaceEditUtils.js.map +1 -1
  181. package/dist/languageServerBase.js.map +1 -1
  182. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  183. package/dist/languageService/autoImporter.js.map +1 -1
  184. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  185. package/dist/languageService/codeActionProvider.js.map +1 -1
  186. package/dist/languageService/completionProvider.js +9 -1
  187. package/dist/languageService/completionProvider.js.map +1 -1
  188. package/dist/languageService/completionProviderUtils.js.map +1 -1
  189. package/dist/languageService/definitionProvider.js.map +1 -1
  190. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  191. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  192. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  193. package/dist/languageService/hoverProvider.js.map +1 -1
  194. package/dist/languageService/importSorter.js.map +1 -1
  195. package/dist/languageService/navigationUtils.js.map +1 -1
  196. package/dist/languageService/quickActions.js.map +1 -1
  197. package/dist/languageService/referencesProvider.js +11 -1
  198. package/dist/languageService/referencesProvider.js.map +1 -1
  199. package/dist/languageService/renameProvider.js.map +1 -1
  200. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  201. package/dist/languageService/symbolIndexer.js.map +1 -1
  202. package/dist/languageService/tooltipUtils.js.map +1 -1
  203. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  204. package/dist/localization/localize.d.ts +15 -2
  205. package/dist/localization/localize.js +7 -2
  206. package/dist/localization/localize.js.map +1 -1
  207. package/dist/localization/package.nls.cs.json +15 -7
  208. package/dist/localization/package.nls.de.json +17 -9
  209. package/dist/localization/package.nls.en-us.json +7 -2
  210. package/dist/localization/package.nls.es.json +16 -8
  211. package/dist/localization/package.nls.fr.json +16 -8
  212. package/dist/localization/package.nls.it.json +16 -8
  213. package/dist/localization/package.nls.ja.json +17 -9
  214. package/dist/localization/package.nls.ko.json +14 -6
  215. package/dist/localization/package.nls.pl.json +14 -6
  216. package/dist/localization/package.nls.pt-br.json +17 -9
  217. package/dist/localization/package.nls.qps-ploc.json +12 -4
  218. package/dist/localization/package.nls.ru.json +17 -9
  219. package/dist/localization/package.nls.tr.json +16 -8
  220. package/dist/localization/package.nls.zh-cn.json +17 -9
  221. package/dist/localization/package.nls.zh-tw.json +17 -9
  222. package/dist/nodeMain.js.map +1 -1
  223. package/dist/nodeServer.js.map +1 -1
  224. package/dist/parser/characterStream.js.map +1 -1
  225. package/dist/parser/characters.js.map +1 -1
  226. package/dist/parser/parseNodes.js.map +1 -1
  227. package/dist/parser/parser.js.map +1 -1
  228. package/dist/parser/stringTokenUtils.js.map +1 -1
  229. package/dist/parser/tokenizer.js.map +1 -1
  230. package/dist/parser/tokenizerTypes.js.map +1 -1
  231. package/dist/parser/unicode.js.map +1 -1
  232. package/dist/pprof/profiler.js.map +1 -1
  233. package/dist/pyright.js.map +1 -1
  234. package/dist/pyrightFileSystem.js.map +1 -1
  235. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  236. package/dist/server.d.ts +2 -1
  237. package/dist/server.js +9 -7
  238. package/dist/server.js.map +1 -1
  239. package/dist/tests/cacheManager.test.js.map +1 -1
  240. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  241. package/dist/tests/checker.test.js.map +1 -1
  242. package/dist/tests/classDeclaration.test.js.map +1 -1
  243. package/dist/tests/collectionUtils.test.js.map +1 -1
  244. package/dist/tests/common.test.js.map +1 -1
  245. package/dist/tests/completions.test.js +23 -0
  246. package/dist/tests/completions.test.js.map +1 -1
  247. package/dist/tests/config.test.js +1 -2
  248. package/dist/tests/config.test.js.map +1 -1
  249. package/dist/tests/debug.test.js.map +1 -1
  250. package/dist/tests/deferred.test.js.map +1 -1
  251. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  252. package/dist/tests/diagnostics.test.js.map +1 -1
  253. package/dist/tests/docStringConversion.test.js.map +1 -1
  254. package/dist/tests/docStringUtils.test.js.map +1 -1
  255. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  256. package/dist/tests/envVarUtils.test.d.ts +1 -0
  257. package/dist/tests/envVarUtils.test.js +130 -0
  258. package/dist/tests/envVarUtils.test.js.map +1 -0
  259. package/dist/tests/filesystem.test.js.map +1 -1
  260. package/dist/tests/fourSlashParser.test.js.map +1 -1
  261. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  262. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  263. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js.map +1 -1
  265. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js.map +1 -1
  266. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  267. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  268. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  269. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  270. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  271. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  272. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  274. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  275. package/dist/tests/fourslash/completions.builtinOverride.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  277. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  279. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  281. package/dist/tests/fourslash/completions.comment.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  283. package/dist/tests/fourslash/completions.declNames.exception.fourslash.js.map +1 -1
  284. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  285. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js.map +1 -1
  286. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  287. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  288. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  289. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  290. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  291. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  292. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  293. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  294. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  295. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  296. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -1
  297. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -1
  298. package/dist/tests/fourslash/completions.enums.members.fourslash.js.map +1 -1
  299. package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -1
  300. package/dist/tests/fourslash/completions.excluded.fourslash.js.map +1 -1
  301. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  302. package/dist/tests/fourslash/completions.fstring.fourslash.js.map +1 -1
  303. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  304. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js.map +1 -1
  305. package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +1 -1
  306. package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +1 -1
  307. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +1 -1
  308. package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +1 -1
  309. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +1 -1
  310. package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +1 -1
  311. package/dist/tests/fourslash/completions.importsDuplicates.fourslash.js.map +1 -1
  312. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  313. package/dist/tests/fourslash/completions.included.fourslash.js.map +1 -1
  314. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  315. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  316. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
  317. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
  318. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js.map +1 -1
  319. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js.map +1 -1
  320. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  321. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  322. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  323. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  324. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  325. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  326. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js.map +1 -1
  327. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js.map +1 -1
  328. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js.map +1 -1
  329. package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
  330. package/dist/tests/fourslash/completions.override.default.fourslash.js.map +1 -1
  331. package/dist/tests/fourslash/completions.override.default.importStub.js.map +1 -1
  332. package/dist/tests/fourslash/completions.override.default.imported.fourslash.js.map +1 -1
  333. package/dist/tests/fourslash/completions.override.default.stub.fourslash.js.map +1 -1
  334. package/dist/tests/fourslash/completions.override.fourslash.js.map +1 -1
  335. package/dist/tests/fourslash/completions.override.property.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.override.property.stub.fourslash.js.map +1 -1
  337. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  338. package/dist/tests/fourslash/completions.override.stub.fourslash.js.map +1 -1
  339. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  340. package/dist/tests/fourslash/completions.parameters.fourslash.js.map +1 -1
  341. package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
  342. package/dist/tests/fourslash/completions.parentFolder.fourslash.js.map +1 -1
  343. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  344. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  345. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  346. package/dist/tests/fourslash/completions.property.fourslash.js.map +1 -1
  347. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js.map +1 -1
  348. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  349. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  350. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  351. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  352. package/dist/tests/fourslash/completions.typeAlias.fourslash.js.map +1 -1
  353. package/dist/tests/fourslash/completions.typeshed.fourslash.js.map +1 -1
  354. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  355. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  356. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.with.fourslash.js.map +1 -1
  358. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  359. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  360. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  361. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  362. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  363. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  364. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  365. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  366. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  367. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  368. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  369. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  370. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  371. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  372. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  373. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  374. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  375. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  376. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  377. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  378. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  379. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  380. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  381. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  382. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  383. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  384. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  385. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  386. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  387. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  388. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  389. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  390. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  391. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  392. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  393. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  394. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  395. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  396. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  397. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  398. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  399. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  400. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  401. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  402. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  403. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  404. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  405. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  406. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  407. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  408. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  409. package/dist/tests/fourslash/fourslash.js.map +1 -1
  410. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  411. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
  412. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  413. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  414. package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
  415. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  416. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  417. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  418. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  419. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  420. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  421. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js.map +1 -1
  422. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  423. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  424. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  425. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  426. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  427. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -1
  428. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  429. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
  430. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
  431. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
  432. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
  433. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
  434. package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -1
  435. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  436. package/dist/tests/fourslash/hover.import.django.view.fourslash.js.map +1 -1
  437. package/dist/tests/fourslash/hover.import.fourslash.js.map +1 -1
  438. package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -1
  439. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  440. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  441. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  442. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
  443. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
  444. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js.map +1 -1
  445. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js.map +1 -1
  446. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  447. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  448. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  449. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  450. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js.map +1 -1
  451. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
  452. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  453. package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -1
  454. package/dist/tests/fourslash/hover.typedDict.key.fourslash.js.map +1 -1
  455. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -1
  456. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  457. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  458. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
  459. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  460. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js.map +1 -1
  461. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  462. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  463. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  464. package/dist/tests/fourslash/import.wildcard.fourslash.js.map +1 -1
  465. package/dist/tests/fourslash/importnotresolved.fourslash.js.map +1 -1
  466. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js.map +1 -1
  467. package/dist/tests/fourslash/missingModuleSource.fourslash.js.map +1 -1
  468. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  469. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js.map +1 -1
  470. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js.map +1 -1
  471. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js.map +1 -1
  472. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -1
  473. package/dist/tests/fourslash/missingTypeStub.fourslash.js.map +1 -1
  474. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js.map +1 -1
  475. package/dist/tests/fourslash/noerrors.fourslash.js.map +1 -1
  476. package/dist/tests/fourslash/orderImports1.command.fourslash.js.map +1 -1
  477. package/dist/tests/fourslash/orderImports2.command.fourslash.js.map +1 -1
  478. package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
  479. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
  480. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  481. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  482. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  483. package/dist/tests/fourslash/rename.library.fourslash.js.map +1 -1
  484. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js.map +1 -1
  485. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  486. package/dist/tests/fourslash/rename.multipleDecl.fourslash.js.map +1 -1
  487. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  488. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  489. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  490. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  491. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -1
  492. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  493. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  494. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  495. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  496. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  497. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  498. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  499. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  500. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  501. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  502. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  503. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  504. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  505. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  506. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  507. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  508. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  509. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  510. package/dist/tests/harness/fourslash/runner.js +1 -1
  511. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  512. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  513. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  514. package/dist/tests/harness/fourslash/testState.d.ts +0 -13
  515. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  516. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  517. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  518. package/dist/tests/harness/testAccessHost.js.map +1 -1
  519. package/dist/tests/harness/testHost.js.map +1 -1
  520. package/dist/tests/harness/utils.js.map +1 -1
  521. package/dist/tests/harness/vfs/factory.js.map +1 -1
  522. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  523. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  524. package/dist/tests/hoverProvider.test.js.map +1 -1
  525. package/dist/tests/importResolver.test.js.map +1 -1
  526. package/dist/tests/importStatementUtils.test.js.map +1 -1
  527. package/dist/tests/ipythonMode.test.js.map +1 -1
  528. package/dist/tests/languageServer.test.d.ts +1 -0
  529. package/dist/tests/languageServer.test.js +137 -0
  530. package/dist/tests/languageServer.test.js.map +1 -0
  531. package/dist/tests/localizer.test.js.map +1 -1
  532. package/dist/tests/logger.test.js.map +1 -1
  533. package/dist/tests/lsp/customLsp.d.ts +112 -0
  534. package/dist/tests/lsp/customLsp.js +67 -0
  535. package/dist/tests/lsp/customLsp.js.map +1 -0
  536. package/dist/tests/lsp/languageServer.d.ts +1 -0
  537. package/dist/tests/lsp/languageServer.js +326 -0
  538. package/dist/tests/lsp/languageServer.js.map +1 -0
  539. package/dist/tests/lsp/languageServerTestUtils.d.ts +100 -0
  540. package/dist/tests/lsp/languageServerTestUtils.js +803 -0
  541. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -0
  542. package/dist/tests/lsp/main.d.ts +1 -0
  543. package/dist/tests/lsp/main.js +12 -0
  544. package/dist/tests/lsp/main.js.map +1 -0
  545. package/dist/tests/lsp/webpack.testserver.config.d.ts +4 -0
  546. package/dist/tests/lsp/webpack.testserver.config.js +64 -0
  547. package/dist/tests/lsp/webpack.testserver.config.js.map +1 -0
  548. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  549. package/dist/tests/parser.test.js.map +1 -1
  550. package/dist/tests/pathUtils.test.js.map +1 -1
  551. package/dist/tests/positionUtils.test.js.map +1 -1
  552. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  553. package/dist/tests/serialization.test.js.map +1 -1
  554. package/dist/tests/service.test.js.map +1 -1
  555. package/dist/tests/signatureHelp.test.js.map +1 -1
  556. package/dist/tests/sourceFile.test.js.map +1 -1
  557. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  558. package/dist/tests/stringUtils.test.js.map +1 -1
  559. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  560. package/dist/tests/testState.test.js.map +1 -1
  561. package/dist/tests/testStateUtils.js.map +1 -1
  562. package/dist/tests/testUtils.js.map +1 -1
  563. package/dist/tests/textEditUtil.test.js.map +1 -1
  564. package/dist/tests/textRange.test.js.map +1 -1
  565. package/dist/tests/tokenizer.test.js.map +1 -1
  566. package/dist/tests/typeEvaluator1.test.js +12 -8
  567. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  568. package/dist/tests/typeEvaluator2.test.js +7 -3
  569. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  570. package/dist/tests/typeEvaluator3.test.js +2 -2
  571. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  572. package/dist/tests/typeEvaluator4.test.js +2 -2
  573. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  574. package/dist/tests/typeEvaluator5.test.js +1 -1
  575. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  576. package/dist/tests/typePrinter.test.js.map +1 -1
  577. package/dist/tests/uri.test.js +74 -26
  578. package/dist/tests/uri.test.js.map +1 -1
  579. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  580. package/dist/tests/zipfs.test.js.map +1 -1
  581. package/dist/workspaceFactory.js +2 -1
  582. package/dist/workspaceFactory.js.map +1 -1
  583. package/package.json +20 -12
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeWalker.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeWalker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeWalker.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeWalker.ts"],"names":[],"mappings":"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"}
@@ -203,7 +203,7 @@ function narrowTypeBasedOnSequencePattern(evaluator, type, pattern, isPositiveTe
203
203
  }
204
204
  }
205
205
  // If this is a supertype of Sequence, we can narrow it to a Sequence type.
206
- if (entry.isPotentialNoMatch) {
206
+ if (entry.isPotentialNoMatch && !entry.isTuple) {
207
207
  const sequenceType = evaluator.getTypingType(pattern, 'Sequence');
208
208
  if (sequenceType && (0, types_1.isInstantiableClass)(sequenceType)) {
209
209
  let typeArgType = evaluator.stripLiteralValue((0, types_1.combineTypes)(narrowedEntryTypes));
@@ -458,7 +458,7 @@ function narrowTypeBasedOnClassPattern(evaluator, type, pattern, isPositiveTest)
458
458
  }
459
459
  if (pattern.arguments.length === 0) {
460
460
  if ((0, types_1.isClass)(classInstance) && (0, types_1.isClass)(subjectSubtypeExpanded)) {
461
- if (types_1.ClassType.isSameGenericClass(classInstance, subjectSubtypeExpanded)) {
461
+ if (types_1.ClassType.isDerivedFrom(subjectSubtypeExpanded, classInstance)) {
462
462
  // We know that this match will always succeed, so we can
463
463
  // eliminate this subtype.
464
464
  return undefined;
@@ -797,8 +797,8 @@ function getSequencePatternInfo(evaluator, pattern, type) {
797
797
  const patternEntryCount = pattern.entries.length;
798
798
  const patternStarEntryIndex = pattern.starEntryIndex;
799
799
  const sequenceInfo = [];
800
- const minPatternEntryCount = patternStarEntryIndex === undefined ? patternEntryCount : patternEntryCount - 1;
801
800
  (0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
801
+ var _a;
802
802
  const concreteSubtype = evaluator.makeTopLevelTypeVarsConcrete(subtype);
803
803
  let mroClassToSpecialize;
804
804
  let pushedEntry = false;
@@ -832,66 +832,95 @@ function getSequencePatternInfo(evaluator, pattern, type) {
832
832
  if (mroClassToSpecialize) {
833
833
  const specializedSequence = (0, typeUtils_1.partiallySpecializeType)(mroClassToSpecialize, concreteSubtype);
834
834
  if ((0, typeUtils_1.isTupleClass)(specializedSequence)) {
835
- if (specializedSequence.tupleTypeArguments) {
836
- if ((0, typeUtils_1.isUnboundedTupleClass)(specializedSequence)) {
837
- sequenceInfo.push({
838
- subtype,
839
- entryTypes: [(0, types_1.combineTypes)(specializedSequence.tupleTypeArguments.map((t) => t.type))],
840
- isIndeterminateLength: true,
841
- isTuple: true,
842
- isDefiniteNoMatch: false,
843
- });
844
- pushedEntry = true;
835
+ const typeArgs = (_a = specializedSequence.tupleTypeArguments) !== null && _a !== void 0 ? _a : [
836
+ { type: types_1.UnknownType.create(), isUnbounded: true },
837
+ ];
838
+ const tupleIndeterminateIndex = typeArgs.findIndex((t) => t.isUnbounded || (0, types_1.isUnpackedVariadicTypeVar)(t.type));
839
+ // If the tuple contains an indeterminate entry, expand or remove that
840
+ // entry to match the length of the pattern if possible.
841
+ if (tupleIndeterminateIndex >= 0) {
842
+ while (typeArgs.length < patternEntryCount) {
843
+ typeArgs.splice(tupleIndeterminateIndex, 0, typeArgs[tupleIndeterminateIndex]);
845
844
  }
846
- else {
847
- const tupleIndeterminateIndex = specializedSequence.tupleTypeArguments.findIndex((t) => t.isUnbounded || (0, types_1.isUnpackedVariadicTypeVar)(t.type));
848
- let minTupleLength = specializedSequence.tupleTypeArguments.length;
849
- if (tupleIndeterminateIndex >= 0) {
850
- minTupleLength -= 1;
845
+ if (typeArgs.length > patternEntryCount) {
846
+ typeArgs.splice(tupleIndeterminateIndex, 1);
847
+ }
848
+ }
849
+ // If the pattern contains a star entry and there are too many entries
850
+ // in the tuple, we can collapse some of them into the star entry.
851
+ if (patternStarEntryIndex !== undefined &&
852
+ typeArgs.length >= 2 &&
853
+ typeArgs.length > patternEntryCount) {
854
+ const entriesToCombine = typeArgs.length - patternEntryCount + 1;
855
+ const removedEntries = typeArgs.splice(patternStarEntryIndex, entriesToCombine);
856
+ typeArgs.splice(patternStarEntryIndex, 0, {
857
+ type: (0, types_1.combineTypes)(removedEntries.map((t) => t.type)),
858
+ isUnbounded: removedEntries.every((t) => t.isUnbounded || (0, types_1.isUnpackedVariadicTypeVar)(t.type)),
859
+ });
860
+ }
861
+ if (typeArgs.length === patternEntryCount) {
862
+ let isDefiniteNoMatch = false;
863
+ let isPotentialNoMatch = tupleIndeterminateIndex >= 0;
864
+ if (patternStarEntryIndex !== undefined && patternEntryCount === 1) {
865
+ isPotentialNoMatch = false;
866
+ }
867
+ for (let i = 0; i < patternEntryCount; i++) {
868
+ const subPattern = pattern.entries[i];
869
+ const typeArg = typeArgs[i].type;
870
+ const narrowedType = narrowTypeBasedOnPattern(evaluator, typeArg, subPattern,
871
+ /* isPositiveTest */ true);
872
+ if ((0, types_1.isNever)(narrowedType)) {
873
+ isDefiniteNoMatch = true;
851
874
  }
852
- if (minTupleLength >= minPatternEntryCount) {
853
- let isDefiniteNoMatch = false;
854
- const leftLength = Math.min(patternStarEntryIndex !== undefined ? patternStarEntryIndex : patternEntryCount, tupleIndeterminateIndex >= 0
855
- ? tupleIndeterminateIndex
856
- : specializedSequence.tupleTypeArguments.length);
857
- for (let i = 0; i < leftLength; i++) {
858
- const leftPattern = pattern.entries[i];
859
- const leftType = specializedSequence.tupleTypeArguments[i].type;
860
- const narrowedType = narrowTypeBasedOnPattern(evaluator, leftType, leftPattern,
861
- /* isPositiveTest */ true);
862
- if ((0, types_1.isNever)(narrowedType)) {
863
- isDefiniteNoMatch = true;
864
- }
865
- }
866
- if (patternStarEntryIndex !== undefined || tupleIndeterminateIndex >= 0) {
867
- const rightLength = Math.min(patternStarEntryIndex !== undefined
868
- ? patternEntryCount - patternStarEntryIndex - 1
869
- : patternEntryCount, tupleIndeterminateIndex >= 0
870
- ? specializedSequence.tupleTypeArguments.length - tupleIndeterminateIndex
871
- : specializedSequence.tupleTypeArguments.length);
872
- for (let i = 0; i < rightLength; i++) {
873
- const rightPattern = pattern.entries[patternEntryCount - i - 1];
874
- const rightType = specializedSequence.tupleTypeArguments[specializedSequence.tupleTypeArguments.length - i - 1].type;
875
- const narrowedType = narrowTypeBasedOnPattern(evaluator, rightType, rightPattern,
876
- /* isPositiveTest */ true);
877
- if ((0, types_1.isNever)(narrowedType)) {
878
- isDefiniteNoMatch = true;
879
- }
880
- }
875
+ }
876
+ sequenceInfo.push({
877
+ subtype,
878
+ entryTypes: isDefiniteNoMatch ? [] : typeArgs.map((t) => t.type),
879
+ isIndeterminateLength: false,
880
+ isTuple: true,
881
+ isDefiniteNoMatch,
882
+ isPotentialNoMatch,
883
+ });
884
+ pushedEntry = true;
885
+ }
886
+ // If the pattern contains a star entry and the pattern associated with
887
+ // the star entry is unbounded, we can remove it completely under the
888
+ // assumption that the star pattern will capture nothing.
889
+ if (patternStarEntryIndex !== undefined) {
890
+ let tryMatchStarSequence = false;
891
+ if (typeArgs.length === patternEntryCount - 1) {
892
+ tryMatchStarSequence = true;
893
+ typeArgs.splice(patternStarEntryIndex, 0, {
894
+ type: types_1.AnyType.create(),
895
+ isUnbounded: true,
896
+ });
897
+ }
898
+ else if (typeArgs.length === patternEntryCount &&
899
+ typeArgs[patternStarEntryIndex].isUnbounded) {
900
+ tryMatchStarSequence = true;
901
+ }
902
+ if (tryMatchStarSequence) {
903
+ let isDefiniteNoMatch = false;
904
+ for (let i = 0; i < patternEntryCount; i++) {
905
+ if (i === patternStarEntryIndex) {
906
+ continue;
881
907
  }
882
- if (patternStarEntryIndex !== undefined || minTupleLength === minPatternEntryCount) {
883
- sequenceInfo.push({
884
- subtype,
885
- entryTypes: isDefiniteNoMatch
886
- ? []
887
- : specializedSequence.tupleTypeArguments.map((t) => t.type),
888
- isIndeterminateLength: false,
889
- isTuple: true,
890
- isDefiniteNoMatch,
891
- });
892
- pushedEntry = true;
908
+ const subPattern = pattern.entries[i];
909
+ const typeArg = typeArgs[i].type;
910
+ const narrowedType = narrowTypeBasedOnPattern(evaluator, typeArg, subPattern,
911
+ /* isPositiveTest */ true);
912
+ if ((0, types_1.isNever)(narrowedType)) {
913
+ isDefiniteNoMatch = true;
893
914
  }
894
915
  }
916
+ sequenceInfo.push({
917
+ subtype,
918
+ entryTypes: isDefiniteNoMatch ? [] : typeArgs.map((t) => t.type),
919
+ isIndeterminateLength: false,
920
+ isTuple: true,
921
+ isDefiniteNoMatch,
922
+ });
923
+ pushedEntry = true;
895
924
  }
896
925
  }
897
926
  }