@zzzen/pyright-internal 1.2.0-dev.20221009 → 1.2.0-dev.20221127

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 (338) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +10 -10
  2. package/dist/analyzer/backgroundAnalysisProgram.js +21 -54
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +43 -32
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/cacheManager.d.ts +7 -7
  7. package/dist/analyzer/cacheManager.js +17 -15
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.d.ts +16 -3
  10. package/dist/analyzer/checker.js +295 -143
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  13. package/dist/analyzer/codeFlowEngine.js +85 -88
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/codeFlowTypes.d.ts +1 -0
  16. package/dist/analyzer/codeFlowTypes.js +3 -1
  17. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  18. package/dist/analyzer/constraintSolver.js +1 -1
  19. package/dist/analyzer/constraintSolver.js.map +1 -1
  20. package/dist/analyzer/dataClasses.d.ts +3 -3
  21. package/dist/analyzer/dataClasses.js +77 -57
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declaration.js.map +1 -1
  24. package/dist/analyzer/declarationUtils.d.ts +1 -1
  25. package/dist/analyzer/declarationUtils.js +6 -4
  26. package/dist/analyzer/declarationUtils.js.map +1 -1
  27. package/dist/analyzer/docStringConversion.js +4 -3
  28. package/dist/analyzer/docStringConversion.js.map +1 -1
  29. package/dist/analyzer/importResolver.d.ts +4 -0
  30. package/dist/analyzer/importResolver.js +53 -10
  31. package/dist/analyzer/importResolver.js.map +1 -1
  32. package/dist/analyzer/importResult.d.ts +1 -0
  33. package/dist/analyzer/namedTuples.js +1 -1
  34. package/dist/analyzer/namedTuples.js.map +1 -1
  35. package/dist/analyzer/packageTypeVerifier.d.ts +2 -1
  36. package/dist/analyzer/packageTypeVerifier.js +16 -10
  37. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  38. package/dist/analyzer/parseTreeUtils.d.ts +2 -1
  39. package/dist/analyzer/parseTreeUtils.js +38 -3
  40. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  41. package/dist/analyzer/parseTreeWalker.d.ts +86 -79
  42. package/dist/analyzer/parseTreeWalker.js +384 -201
  43. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  44. package/dist/analyzer/program.d.ts +9 -9
  45. package/dist/analyzer/program.js +90 -86
  46. package/dist/analyzer/program.js.map +1 -1
  47. package/dist/analyzer/properties.js +10 -3
  48. package/dist/analyzer/properties.js.map +1 -1
  49. package/dist/analyzer/protocols.js +1 -1
  50. package/dist/analyzer/protocols.js.map +1 -1
  51. package/dist/analyzer/regions.d.ts +11 -0
  52. package/dist/analyzer/regions.js +57 -0
  53. package/dist/analyzer/regions.js.map +1 -0
  54. package/dist/analyzer/service.d.ts +11 -6
  55. package/dist/analyzer/service.js +69 -30
  56. package/dist/analyzer/service.js.map +1 -1
  57. package/dist/analyzer/sourceFile.d.ts +5 -2
  58. package/dist/analyzer/sourceFile.js +21 -8
  59. package/dist/analyzer/sourceFile.js.map +1 -1
  60. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -1
  61. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  62. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  63. package/dist/analyzer/sourceMapper.d.ts +11 -3
  64. package/dist/analyzer/sourceMapper.js +61 -14
  65. package/dist/analyzer/sourceMapper.js.map +1 -1
  66. package/dist/analyzer/sourceMapperUtils.d.ts +10 -0
  67. package/dist/analyzer/sourceMapperUtils.js +57 -0
  68. package/dist/analyzer/sourceMapperUtils.js.map +1 -0
  69. package/dist/analyzer/staticExpressions.js +19 -9
  70. package/dist/analyzer/staticExpressions.js.map +1 -1
  71. package/dist/analyzer/symbolUtils.d.ts +1 -0
  72. package/dist/analyzer/symbolUtils.js +5 -1
  73. package/dist/analyzer/symbolUtils.js.map +1 -1
  74. package/dist/analyzer/typeEvaluator.js +654 -258
  75. package/dist/analyzer/typeEvaluator.js.map +1 -1
  76. package/dist/analyzer/typeEvaluatorTypes.d.ts +15 -4
  77. package/dist/analyzer/typeGuards.js +9 -0
  78. package/dist/analyzer/typeGuards.js.map +1 -1
  79. package/dist/analyzer/typePrinter.d.ts +3 -1
  80. package/dist/analyzer/typePrinter.js +135 -26
  81. package/dist/analyzer/typePrinter.js.map +1 -1
  82. package/dist/analyzer/typeStubWriter.js +5 -1
  83. package/dist/analyzer/typeStubWriter.js.map +1 -1
  84. package/dist/analyzer/typeUtils.d.ts +4 -2
  85. package/dist/analyzer/typeUtils.js +112 -25
  86. package/dist/analyzer/typeUtils.js.map +1 -1
  87. package/dist/analyzer/typedDicts.js +8 -6
  88. package/dist/analyzer/typedDicts.js.map +1 -1
  89. package/dist/analyzer/types.d.ts +8 -5
  90. package/dist/analyzer/types.js +49 -20
  91. package/dist/analyzer/types.js.map +1 -1
  92. package/dist/backgroundAnalysisBase.d.ts +6 -4
  93. package/dist/backgroundAnalysisBase.js +30 -8
  94. package/dist/backgroundAnalysisBase.js.map +1 -1
  95. package/dist/backgroundThreadBase.d.ts +2 -1
  96. package/dist/backgroundThreadBase.js +4 -0
  97. package/dist/backgroundThreadBase.js.map +1 -1
  98. package/dist/commands/createTypeStub.js +3 -1
  99. package/dist/commands/createTypeStub.js.map +1 -1
  100. package/dist/common/configOptions.d.ts +1 -0
  101. package/dist/common/configOptions.js +4 -0
  102. package/dist/common/configOptions.js.map +1 -1
  103. package/dist/common/core.d.ts +2 -0
  104. package/dist/common/core.js +24 -3
  105. package/dist/common/core.js.map +1 -1
  106. package/dist/common/diagnostic.d.ts +8 -0
  107. package/dist/common/diagnostic.js +5 -1
  108. package/dist/common/diagnostic.js.map +1 -1
  109. package/dist/common/diagnosticRules.d.ts +2 -1
  110. package/dist/common/diagnosticRules.js +1 -0
  111. package/dist/common/diagnosticRules.js.map +1 -1
  112. package/dist/common/fileSystem.d.ts +1 -0
  113. package/dist/common/fileSystem.js.map +1 -1
  114. package/dist/common/pathUtils.d.ts +1 -0
  115. package/dist/common/pathUtils.js +13 -3
  116. package/dist/common/pathUtils.js.map +1 -1
  117. package/dist/common/pythonVersion.d.ts +1 -1
  118. package/dist/common/pythonVersion.js +1 -1
  119. package/dist/common/realFileSystem.js +12 -3
  120. package/dist/common/realFileSystem.js.map +1 -1
  121. package/dist/common/workspaceEditUtils.d.ts +6 -1
  122. package/dist/common/workspaceEditUtils.js +72 -1
  123. package/dist/common/workspaceEditUtils.js.map +1 -1
  124. package/dist/languageServerBase.d.ts +9 -5
  125. package/dist/languageServerBase.js +35 -21
  126. package/dist/languageServerBase.js.map +1 -1
  127. package/dist/languageService/analyzerServiceExecutor.d.ts +6 -2
  128. package/dist/languageService/analyzerServiceExecutor.js +7 -4
  129. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  130. package/dist/languageService/autoImporter.js +2 -1
  131. package/dist/languageService/autoImporter.js.map +1 -1
  132. package/dist/languageService/codeActionProvider.js +30 -0
  133. package/dist/languageService/codeActionProvider.js.map +1 -1
  134. package/dist/languageService/completionProvider.d.ts +1 -0
  135. package/dist/languageService/completionProvider.js +66 -28
  136. package/dist/languageService/completionProvider.js.map +1 -1
  137. package/dist/languageService/definitionProvider.d.ts +2 -0
  138. package/dist/languageService/definitionProvider.js +3 -0
  139. package/dist/languageService/definitionProvider.js.map +1 -1
  140. package/dist/languageService/documentSymbolCollector.js +7 -3
  141. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  142. package/dist/languageService/documentSymbolProvider.js +1 -1
  143. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  144. package/dist/languageService/hoverProvider.d.ts +1 -1
  145. package/dist/languageService/hoverProvider.js +73 -38
  146. package/dist/languageService/hoverProvider.js.map +1 -1
  147. package/dist/languageService/referencesProvider.js +2 -1
  148. package/dist/languageService/referencesProvider.js.map +1 -1
  149. package/dist/languageService/signatureHelpProvider.js +1 -2
  150. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  151. package/dist/languageService/tooltipUtils.js +30 -19
  152. package/dist/languageService/tooltipUtils.js.map +1 -1
  153. package/dist/localization/localize.d.ts +33 -4
  154. package/dist/localization/localize.js +22 -5
  155. package/dist/localization/localize.js.map +1 -1
  156. package/dist/localization/package.nls.en-us.json +20 -3
  157. package/dist/parser/parseNodes.d.ts +2 -1
  158. package/dist/parser/parseNodes.js +6 -1
  159. package/dist/parser/parseNodes.js.map +1 -1
  160. package/dist/parser/parser.js +19 -13
  161. package/dist/parser/parser.js.map +1 -1
  162. package/dist/parser/tokenizer.js +2 -1
  163. package/dist/parser/tokenizer.js.map +1 -1
  164. package/dist/pyright.js +4 -4
  165. package/dist/pyright.js.map +1 -1
  166. package/dist/pyrightFileSystem.d.ts +1 -0
  167. package/dist/pyrightFileSystem.js +3 -0
  168. package/dist/pyrightFileSystem.js.map +1 -1
  169. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  170. package/dist/readonlyAugmentedFileSystem.js +3 -0
  171. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  172. package/dist/server.d.ts +1 -1
  173. package/dist/server.js +1 -1
  174. package/dist/server.js.map +1 -1
  175. package/dist/tests/checker.test.js +25 -2
  176. package/dist/tests/checker.test.js.map +1 -1
  177. package/dist/tests/config.test.js +11 -0
  178. package/dist/tests/config.test.js.map +1 -1
  179. package/dist/tests/diagnostics.test.d.ts +1 -0
  180. package/dist/tests/diagnostics.test.js +37 -0
  181. package/dist/tests/diagnostics.test.js.map +1 -0
  182. package/dist/tests/docStringConversion.test.js +25 -0
  183. package/dist/tests/docStringConversion.test.js.map +1 -1
  184. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +1 -1
  185. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  186. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +5 -5
  187. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  188. package/dist/tests/fourslash/completions.classVariable.fourslash.js +28 -6
  189. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  190. package/dist/tests/fourslash/{signature.paramspec.fourslash.d.ts → completions.dunderNew.Inheritance.fourslash.d.ts} +0 -0
  191. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js +29 -0
  192. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -0
  193. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +1 -0
  194. package/dist/tests/fourslash/completions.dunderNew.fourslash.js +20 -0
  195. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -0
  196. package/dist/tests/fourslash/completions.fourslash.js +2 -2
  197. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  198. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +1 -1
  199. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  200. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +1 -1
  201. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  202. package/dist/tests/fourslash/completions.libStub.fourslash.js +1 -1
  203. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  204. package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -2
  205. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  206. package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -2
  207. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/completions.self.fourslash.js +2 -2
  209. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  210. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +1 -1
  211. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  212. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js +8 -6
  213. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  214. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js +2 -2
  215. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  216. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +1 -0
  217. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js +32 -0
  218. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -0
  219. package/dist/tests/fourslash/fourslash.d.ts +2 -1
  220. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js +2 -2
  221. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  222. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +4 -4
  223. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  224. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js +1 -1
  225. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  226. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js +1 -1
  227. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  228. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js +1 -1
  229. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  230. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js +1 -1
  231. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  232. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js +1 -1
  233. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  234. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +2 -2
  235. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  236. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js +1 -1
  237. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  238. package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +1 -0
  239. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +24 -0
  240. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -0
  241. package/dist/tests/fourslash/hover.docstring.links.fourslash.js +1 -1
  242. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  243. package/dist/tests/fourslash/hover.docstring.split.fourslash.js +3 -3
  244. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  245. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +1 -0
  246. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js +13 -0
  247. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -0
  248. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +1 -0
  249. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js +15 -0
  250. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -0
  251. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +1 -0
  252. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js +21 -0
  253. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -0
  254. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +1 -0
  255. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js +17 -0
  256. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -0
  257. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +1 -0
  258. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js +15 -0
  259. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -0
  260. package/dist/tests/fourslash/hover.fourslash.js +1 -1
  261. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  262. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +3 -3
  263. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js +2 -2
  265. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  266. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +2 -2
  267. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  268. package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
  269. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  270. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js +1 -1
  271. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  272. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js +1 -1
  273. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  274. package/dist/tests/fourslash/hover.libStub.fourslash.js +1 -1
  275. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/hover.plainText.fourslash.js +1 -1
  277. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +1 -1
  279. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js +1 -1
  281. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js +1 -1
  283. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  284. package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +1 -0
  285. package/dist/tests/fourslash/shadowedImports.fourslash.js +75 -0
  286. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -0
  287. package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +1 -0
  288. package/dist/tests/fourslash/signature.dunderNew.fourslash.js +24 -0
  289. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -0
  290. package/dist/tests/harness/fourslash/runner.js +1 -0
  291. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  292. package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -1
  293. package/dist/tests/harness/fourslash/testLanguageService.js +4 -2
  294. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  295. package/dist/tests/harness/fourslash/testState.d.ts +8 -7
  296. package/dist/tests/harness/fourslash/testState.js +80 -161
  297. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  298. package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +16 -0
  299. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +159 -0
  300. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -0
  301. package/dist/tests/harness/vfs/filesystem.d.ts +1 -0
  302. package/dist/tests/harness/vfs/filesystem.js +3 -0
  303. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  304. package/dist/tests/ipythonMode.test.js +39 -0
  305. package/dist/tests/ipythonMode.test.js.map +1 -1
  306. package/dist/tests/logger.test.js +3 -1
  307. package/dist/tests/logger.test.js.map +1 -1
  308. package/dist/tests/pathUtils.test.js +7 -0
  309. package/dist/tests/pathUtils.test.js.map +1 -1
  310. package/dist/tests/sourceFile.test.js +34 -1
  311. package/dist/tests/sourceFile.test.js.map +1 -1
  312. package/dist/tests/sourceMapperUtils.test.d.ts +1 -0
  313. package/dist/tests/sourceMapperUtils.test.js +138 -0
  314. package/dist/tests/sourceMapperUtils.test.js.map +1 -0
  315. package/dist/tests/tokenizer.test.js +6 -2
  316. package/dist/tests/tokenizer.test.js.map +1 -1
  317. package/dist/tests/typeEvaluator1.test.js +16 -6
  318. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  319. package/dist/tests/typeEvaluator2.test.js +19 -3
  320. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  321. package/dist/tests/typeEvaluator3.test.js +44 -10
  322. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  323. package/dist/tests/typeEvaluator4.test.js +11 -3
  324. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  325. package/dist/tests/typeEvaluator5.test.js +48 -0
  326. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  327. package/dist/tests/typePrinter.test.d.ts +1 -0
  328. package/dist/tests/typePrinter.test.js +148 -0
  329. package/dist/tests/typePrinter.test.js.map +1 -0
  330. package/dist/tests/workspaceEditUtils.test.d.ts +1 -0
  331. package/dist/tests/workspaceEditUtils.test.js +167 -0
  332. package/dist/tests/workspaceEditUtils.test.js.map +1 -0
  333. package/dist/workspaceMap.d.ts +2 -0
  334. package/dist/workspaceMap.js +45 -15
  335. package/dist/workspaceMap.js.map +1 -1
  336. package/package.json +3 -3
  337. package/dist/tests/fourslash/signature.paramspec.fourslash.js +0 -30
  338. package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +0 -1
@@ -64,7 +64,7 @@ class EnumLiteral {
64
64
  }
65
65
  }
66
66
  exports.EnumLiteral = EnumLiteral;
67
- exports.maxTypeRecursionCount = 14;
67
+ exports.maxTypeRecursionCount = 32;
68
68
  var TypeBase;
69
69
  (function (TypeBase) {
70
70
  function isInstantiable(type) {
@@ -354,10 +354,7 @@ var ClassType;
354
354
  ClassType.cloneAsInstantiable = cloneAsInstantiable;
355
355
  function cloneForSpecialization(classType, typeArguments, isTypeArgumentExplicit, includeSubclasses = false, tupleTypeArguments, isEmptyContainer) {
356
356
  const newClassType = TypeBase.cloneType(classType);
357
- // Never should never appear as a type argument, so replace it with
358
- newClassType.typeArguments = typeArguments
359
- ? typeArguments.map((t) => (isNever(t) && !t.isNoReturn ? UnknownType.create() : t))
360
- : undefined;
357
+ newClassType.typeArguments = typeArguments;
361
358
  newClassType.isTypeArgumentExplicit = isTypeArgumentExplicit;
362
359
  if (includeSubclasses) {
363
360
  newClassType.includeSubclasses = true;
@@ -799,6 +796,8 @@ var FunctionTypeFlags;
799
796
  // that contains a forward reference that requires the function
800
797
  // type itself to be evaluated first).
801
798
  FunctionTypeFlags[FunctionTypeFlags["PartiallyEvaluated"] = 131072] = "PartiallyEvaluated";
799
+ // Decorated with @override as defined in PEP 698.
800
+ FunctionTypeFlags[FunctionTypeFlags["Overridden"] = 262144] = "Overridden";
802
801
  })(FunctionTypeFlags = exports.FunctionTypeFlags || (exports.FunctionTypeFlags = {}));
803
802
  var FunctionType;
804
803
  (function (FunctionType) {
@@ -1159,6 +1158,10 @@ var FunctionType;
1159
1158
  return !!(type.details.flags & 131072 /* PartiallyEvaluated */);
1160
1159
  }
1161
1160
  FunctionType.isPartiallyEvaluated = isPartiallyEvaluated;
1161
+ function isOverridden(type) {
1162
+ return !!(type.details.flags & 262144 /* Overridden */);
1163
+ }
1164
+ FunctionType.isOverridden = isOverridden;
1162
1165
  function getEffectiveParameterType(type, index) {
1163
1166
  (0, debug_1.assert)(index < type.details.parameters.length, 'Parameter types array overflow');
1164
1167
  if (type.specializedTypes && index < type.specializedTypes.parameterTypes.length) {
@@ -1189,14 +1192,6 @@ var FunctionType;
1189
1192
  : type.details.declaredReturnType;
1190
1193
  }
1191
1194
  FunctionType.getSpecializedReturnType = getSpecializedReturnType;
1192
- /** Ignore nameless separator parameters by default */
1193
- function getFunctionParameters(type, excludeNameless = true) {
1194
- if (excludeNameless) {
1195
- return type.details.parameters.filter((param) => !!param.name);
1196
- }
1197
- return type.details.parameters;
1198
- }
1199
- FunctionType.getFunctionParameters = getFunctionParameters;
1200
1195
  })(FunctionType = exports.FunctionType || (exports.FunctionType = {}));
1201
1196
  var OverloadedFunctionType;
1202
1197
  (function (OverloadedFunctionType) {
@@ -1382,6 +1377,11 @@ var UnionType;
1382
1377
  }
1383
1378
  unionType.flags &= newType.flags;
1384
1379
  unionType.subtypes.push(newType);
1380
+ if (isTypeVar(newType) && TypeVarType.isTypeAliasPlaceholder(newType)) {
1381
+ // Note that at least one type alias placeholder was included in
1382
+ // this union. We'll need to expand it before the union is used.
1383
+ unionType.includesTypeAliasPlaceholder = true;
1384
+ }
1385
1385
  }
1386
1386
  UnionType.addType = addType;
1387
1387
  function containsType(unionType, subtype, recursionCount = 0) {
@@ -1555,6 +1555,12 @@ var TypeVarType;
1555
1555
  return variance;
1556
1556
  }
1557
1557
  TypeVarType.getVariance = getVariance;
1558
+ // Indicates whether the specified type is a recursive type alias
1559
+ // placeholder that has not yet been resolved.
1560
+ function isTypeAliasPlaceholder(type) {
1561
+ return !!type.details.recursiveTypeAliasName && !type.details.boundType;
1562
+ }
1563
+ TypeVarType.isTypeAliasPlaceholder = isTypeAliasPlaceholder;
1558
1564
  })(TypeVarType = exports.TypeVarType || (exports.TypeVarType = {}));
1559
1565
  function isNever(type) {
1560
1566
  return type.category === 4 /* Never */;
@@ -1629,10 +1635,10 @@ function isVariadicTypeVar(type) {
1629
1635
  }
1630
1636
  exports.isVariadicTypeVar = isVariadicTypeVar;
1631
1637
  function isUnpackedVariadicTypeVar(type) {
1632
- if (isUnion(type) && type.subtypes.length === 1) {
1633
- type = type.subtypes[0];
1634
- }
1635
- return type.category === 10 /* TypeVar */ && type.details.isVariadic && !!type.isVariadicUnpacked;
1638
+ return (type.category === 10 /* TypeVar */ &&
1639
+ type.details.isVariadic &&
1640
+ !!type.isVariadicUnpacked &&
1641
+ !type.isVariadicInUnion);
1636
1642
  }
1637
1643
  exports.isUnpackedVariadicTypeVar = isUnpackedVariadicTypeVar;
1638
1644
  function isUnpackedClass(type) {
@@ -1729,9 +1735,9 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1729
1735
  const type2TypeArgs = classType2.typeArguments || [];
1730
1736
  const typeArgCount = Math.max(type1TypeArgs.length, type2TypeArgs.length);
1731
1737
  for (let i = 0; i < typeArgCount; i++) {
1732
- // Assume that missing type args are "Any".
1733
- const typeArg1 = i < type1TypeArgs.length ? type1TypeArgs[i] : AnyType.create();
1734
- const typeArg2 = i < type2TypeArgs.length ? type2TypeArgs[i] : AnyType.create();
1738
+ // Assume that missing type args are "Unknown".
1739
+ const typeArg1 = i < type1TypeArgs.length ? type1TypeArgs[i] : UnknownType.create();
1740
+ const typeArg2 = i < type2TypeArgs.length ? type2TypeArgs[i] : UnknownType.create();
1735
1741
  if (!isTypeSame(typeArg1, typeArg2, { ...options, ignoreTypeFlags: false }, recursionCount)) {
1736
1742
  return false;
1737
1743
  }
@@ -1779,6 +1785,22 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1779
1785
  return false;
1780
1786
  }
1781
1787
  }
1788
+ // If the functions have ParamSpecs associated with them, make sure those match.
1789
+ if (!type1.specializedTypes && !functionType2.specializedTypes) {
1790
+ const paramSpec1 = type1.details.paramSpec;
1791
+ const paramSpec2 = functionType2.details.paramSpec;
1792
+ if (paramSpec1) {
1793
+ if (!paramSpec2) {
1794
+ return false;
1795
+ }
1796
+ if (!isTypeSame(paramSpec1, paramSpec2, options, recursionCount)) {
1797
+ return false;
1798
+ }
1799
+ }
1800
+ else if (paramSpec2) {
1801
+ return false;
1802
+ }
1803
+ }
1782
1804
  // Make sure the return types match.
1783
1805
  let return1Type = type1.details.declaredReturnType;
1784
1806
  if (type1.specializedTypes && type1.specializedTypes.returnType) {
@@ -1850,6 +1872,9 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1850
1872
  }
1851
1873
  }
1852
1874
  }
1875
+ if (!type1.isVariadicInUnion !== !type2TypeVar.isVariadicInUnion) {
1876
+ return false;
1877
+ }
1853
1878
  if (type1.details === type2TypeVar.details) {
1854
1879
  return true;
1855
1880
  }
@@ -1900,6 +1925,10 @@ function isTypeSame(type1, type2, options = {}, recursionCount = 0) {
1900
1925
  }
1901
1926
  return false;
1902
1927
  }
1928
+ case 1 /* Unknown */: {
1929
+ const type2Unknown = type2;
1930
+ return type1.isIncomplete === type2Unknown.isIncomplete;
1931
+ }
1903
1932
  }
1904
1933
  return true;
1905
1934
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analyzer/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/analyzer/types.ts"],"names":[],"mappings":"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"}
@@ -30,14 +30,14 @@ export declare class BackgroundAnalysisBase {
30
30
  ensurePartialStubPackages(executionRoot: string | undefined): void;
31
31
  setFileOpened(filePath: string, version: number | null, contents: TextDocumentContentChangeEvent[], options: OpenFileOptions): void;
32
32
  updateChainedFilePath(filePath: string, chainedFilePath: string | undefined): void;
33
- setFileClosed(filePath: string): void;
33
+ setFileClosed(filePath: string, isTracked?: boolean): void;
34
34
  markAllFilesDirty(evenIfContentsAreSame: boolean, indexingNeeded: boolean): void;
35
35
  markFilesDirty(filePaths: string[], evenIfContentsAreSame: boolean, indexingNeeded: boolean): void;
36
36
  startAnalysis(indices: Indices | undefined, token: CancellationToken): void;
37
37
  private _startOrResumeAnalysis;
38
- startIndexing(indexOptions: IndexOptions, configOptions: ConfigOptions, importResolver: ImportResolver, kind: HostKind, indices: Indices): void;
39
- refreshIndexing(configOptions: ConfigOptions, importResolver: ImportResolver, kind: HostKind, indices?: Indices): void;
40
- cancelIndexing(configOptions: ConfigOptions): void;
38
+ startIndexing(indexOptions: IndexOptions, configOptions: ConfigOptions, importResolver: ImportResolver, kind: HostKind): void;
39
+ refreshIndexing(configOptions: ConfigOptions, importResolver: ImportResolver, kind: HostKind): void;
40
+ cancelIndexing(): void;
41
41
  getDiagnosticsForRange(filePath: string, range: Range, token: CancellationToken): Promise<Diagnostic[]>;
42
42
  writeTypeStub(targetImportPath: string, targetIsSingleFile: boolean, stubPath: string, token: CancellationToken): Promise<any>;
43
43
  invalidateAndForceReanalysis(rebuildUserFileIndexing: boolean): void;
@@ -57,6 +57,7 @@ export declare abstract class BackgroundAnalysisRunnerBase extends BackgroundThr
57
57
  protected constructor(_extension?: LanguageServiceExtension | undefined);
58
58
  start(): void;
59
59
  protected onMessage(msg: AnalysisRequest): void;
60
+ private _onMessageWrapper;
60
61
  private _analyzeOneChunk;
61
62
  protected abstract createHost(): Host;
62
63
  protected abstract createImportResolver(fs: FileSystem, options: ConfigOptions, host: Host): ImportResolver;
@@ -65,6 +66,7 @@ export declare abstract class BackgroundAnalysisRunnerBase extends BackgroundThr
65
66
  path: string;
66
67
  indexResults: IndexResults;
67
68
  }): void;
69
+ protected shutdown(): void;
68
70
  private _reportDiagnostics;
69
71
  private _onAnalysisCompletion;
70
72
  private _analysisPaused;
@@ -101,8 +101,8 @@ class BackgroundAnalysisBase {
101
101
  data: { filePath, chainedFilePath },
102
102
  });
103
103
  }
104
- setFileClosed(filePath) {
105
- this.enqueueRequest({ requestType: 'setFileClosed', data: filePath });
104
+ setFileClosed(filePath, isTracked) {
105
+ this.enqueueRequest({ requestType: 'setFileClosed', data: { filePath, isTracked } });
106
106
  }
107
107
  markAllFilesDirty(evenIfContentsAreSame, indexingNeeded) {
108
108
  this.enqueueRequest({ requestType: 'markAllFilesDirty', data: { evenIfContentsAreSame, indexingNeeded } });
@@ -151,13 +151,13 @@ class BackgroundAnalysisBase {
151
151
  const cancellationId = (0, fileBasedCancellationUtils_1.getCancellationTokenId)(token);
152
152
  this.enqueueRequest({ requestType, data: cancellationId, port: port2 });
153
153
  }
154
- startIndexing(indexOptions, configOptions, importResolver, kind, indices) {
154
+ startIndexing(indexOptions, configOptions, importResolver, kind) {
155
155
  /* noop */
156
156
  }
157
- refreshIndexing(configOptions, importResolver, kind, indices) {
157
+ refreshIndexing(configOptions, importResolver, kind) {
158
158
  /* noop */
159
159
  }
160
- cancelIndexing(configOptions) {
160
+ cancelIndexing() {
161
161
  /* noop */
162
162
  }
163
163
  async getDiagnosticsForRange(filePath, range, token) {
@@ -228,7 +228,7 @@ class BackgroundAnalysisRunnerBase extends backgroundThreadBase_1.BackgroundThre
228
228
  start() {
229
229
  this.log(console_1.LogLevel.Info, `Background analysis(${worker_threads_1.threadId}) started`);
230
230
  // Get requests from main thread.
231
- worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('message', (msg) => this.onMessage(msg));
231
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('message', this._onMessageWrapper.bind(this));
232
232
  worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('error', (msg) => debug.fail(`failed ${msg}`));
233
233
  worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('exit', (c) => {
234
234
  if (c !== 0) {
@@ -320,7 +320,8 @@ class BackgroundAnalysisRunnerBase extends backgroundThreadBase_1.BackgroundThre
320
320
  break;
321
321
  }
322
322
  case 'setFileClosed': {
323
- const diagnostics = this.program.setFileClosed(msg.data);
323
+ const { filePath, isTracked } = msg.data;
324
+ const diagnostics = this.program.setFileClosed(filePath, isTracked);
324
325
  this._reportDiagnostics(diagnostics, this.program.getFilesToAnalyzeCount(), 0);
325
326
  break;
326
327
  }
@@ -349,7 +350,7 @@ class BackgroundAnalysisRunnerBase extends backgroundThreadBase_1.BackgroundThre
349
350
  break;
350
351
  }
351
352
  case 'shutdown': {
352
- worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.close();
353
+ this.shutdown();
353
354
  break;
354
355
  }
355
356
  default: {
@@ -357,6 +358,23 @@ class BackgroundAnalysisRunnerBase extends backgroundThreadBase_1.BackgroundThre
357
358
  }
358
359
  }
359
360
  }
361
+ _onMessageWrapper(msg) {
362
+ try {
363
+ return this.onMessage(msg);
364
+ }
365
+ catch (e) {
366
+ // Don't crash the worker, just send an exception or cancel message
367
+ this.log(console_1.LogLevel.Log, `Background analysis exception leak: ${e}`);
368
+ if (cancellationUtils_1.OperationCanceledException.is(e)) {
369
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({ kind: 'cancelled', data: e.message });
370
+ return;
371
+ }
372
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({
373
+ kind: 'failed',
374
+ data: `Exception: for msg ${msg.requestType}: ${e.message} in ${e.stack}`,
375
+ });
376
+ }
377
+ }
360
378
  _analyzeOneChunk(port, token, msg) {
361
379
  // Report results at the interval of the max analysis time.
362
380
  const maxTime = { openFilesTimeInMs: 50, noOpenFilesTimeInMs: 200 };
@@ -378,6 +396,10 @@ class BackgroundAnalysisRunnerBase extends backgroundThreadBase_1.BackgroundThre
378
396
  reportIndex(port, result) {
379
397
  port.postMessage({ requestType: 'indexResult', data: result });
380
398
  }
399
+ shutdown() {
400
+ this._program.dispose();
401
+ super.shutdown();
402
+ }
381
403
  _reportDiagnostics(diagnostics, filesLeftToAnalyze, elapsedTime) {
382
404
  if (worker_threads_1.parentPort) {
383
405
  this._onAnalysisCompletion(worker_threads_1.parentPort, {