@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
@@ -1 +1 @@
1
- {"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { CommandLineOptions } from '../common/commandLineOptions';
1
2
  import { FileSystem } from '../common/fileSystem';
2
3
  import { PackageTypeReport, SymbolCategory } from './packageTypeReport';
3
4
  export declare class PackageTypeVerifier {
@@ -8,7 +9,7 @@ export declare class PackageTypeVerifier {
8
9
  private _execEnv;
9
10
  private _importResolver;
10
11
  private _program;
11
- constructor(_fileSystem: FileSystem, _packageName: string, _ignoreExternal?: boolean);
12
+ constructor(_fileSystem: FileSystem, commandLineOptions: CommandLineOptions, _packageName: string, _ignoreExternal?: boolean);
12
13
  verify(): PackageTypeReport;
13
14
  static getSymbolCategoryString(symbolType: SymbolCategory): string;
14
15
  private _getDeepestPyTypedInfo;
@@ -11,6 +11,7 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.PackageTypeVerifier = void 0;
13
13
  const configOptions_1 = require("../common/configOptions");
14
+ const console_1 = require("../common/console");
14
15
  const debug_1 = require("../common/debug");
15
16
  const diagnostic_1 = require("../common/diagnostic");
16
17
  const fullAccessHost_1 = require("../common/fullAccessHost");
@@ -25,11 +26,19 @@ const symbolNameUtils_1 = require("./symbolNameUtils");
25
26
  const types_1 = require("./types");
26
27
  const typeUtils_1 = require("./typeUtils");
27
28
  class PackageTypeVerifier {
28
- constructor(_fileSystem, _packageName, _ignoreExternal = false) {
29
+ constructor(_fileSystem, commandLineOptions, _packageName, _ignoreExternal = false) {
29
30
  this._fileSystem = _fileSystem;
30
31
  this._packageName = _packageName;
31
32
  this._ignoreExternal = _ignoreExternal;
33
+ const host = new fullAccessHost_1.FullAccessHost(_fileSystem);
32
34
  this._configOptions = new configOptions_1.ConfigOptions('');
35
+ this._configOptions.defaultPythonPlatform = commandLineOptions.pythonPlatform;
36
+ this._configOptions.defaultPythonVersion = commandLineOptions.pythonVersion;
37
+ // Make sure we have default python version and platform set if the user didn't
38
+ // specify these on the command line.
39
+ const console = new console_1.NullConsole();
40
+ this._configOptions.ensureDefaultPythonPlatform(host, console);
41
+ this._configOptions.ensureDefaultPythonVersion(host, console);
33
42
  if (_ignoreExternal) {
34
43
  this._configOptions.evaluateUnknownImportsAsAny = true;
35
44
  }
@@ -369,12 +378,10 @@ class PackageTypeVerifier {
369
378
  const declPath = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.path) || '';
370
379
  const extraInfo = new diagnostic_1.DiagnosticAddendum();
371
380
  if (baseSymbolType) {
372
- extraInfo.addMessage(`Type declared in base class is "${this._program.printType(baseSymbolType,
373
- /* expandTypeAlias */ false)}"`);
381
+ extraInfo.addMessage(`Type declared in base class is "${this._program.printType(baseSymbolType)}"`);
374
382
  }
375
383
  if (childSymbolType) {
376
- extraInfo.addMessage(`Type inferred in child class is "${this._program.printType(childSymbolType,
377
- /* expandTypeAlias */ false)}"`);
384
+ extraInfo.addMessage(`Type inferred in child class is "${this._program.printType(childSymbolType)}"`);
378
385
  if (types_1.TypeBase.isAmbiguous(childSymbolType)) {
379
386
  extraInfo.addMessage('Inferred child class type is missing type annotation and could be inferred differently by type checkers');
380
387
  }
@@ -406,7 +413,7 @@ class PackageTypeVerifier {
406
413
  }
407
414
  if (types_1.TypeBase.isAmbiguous(type) && !(0, types_1.isUnknown)(type)) {
408
415
  const ambiguousDiag = new diagnostic_1.DiagnosticAddendum();
409
- ambiguousDiag.addMessage(`Inferred type is "${this._program.printType(type, /* expandTypeAlias */ false)}"`);
416
+ ambiguousDiag.addMessage(`Inferred type is "${this._program.printType(type)}"`);
410
417
  this._addSymbolError(symbolInfo, 'Type is missing type annotation and could be inferred differently by type checkers' +
411
418
  ambiguousDiag.getString(), declRange, declFilePath);
412
419
  knownStatus = this._updateKnownStatusIfWorse(knownStatus, 1 /* Ambiguous */);
@@ -481,7 +488,7 @@ class PackageTypeVerifier {
481
488
  }
482
489
  else if ((0, typeUtils_1.isPartlyUnknown)(typeArg)) {
483
490
  const diag = new diagnostic_1.DiagnosticAddendum();
484
- diag.addMessage(`Type is ${this._program.printType(typeArg, /* expandTypeAlias */ false)}`);
491
+ diag.addMessage(`Type is ${this._program.printType(typeArg)}`);
485
492
  this._addSymbolError(symbolInfo, `Type argument ${index + 1} for class "${type.details.name}" has partially unknown type` + diag.getString(), declRange, declFilePath);
486
493
  knownStatus = this._updateKnownStatusIfWorse(knownStatus, 2 /* PartiallyUnknown */);
487
494
  }
@@ -540,7 +547,7 @@ class PackageTypeVerifier {
540
547
  const extraInfo = new diagnostic_1.DiagnosticAddendum();
541
548
  const paramKnownStatus = this._getTypeKnownStatus(report, param.type, publicSymbolMap, extraInfo.createAddendum());
542
549
  if (paramKnownStatus !== 0 /* Known */) {
543
- extraInfo.addMessage(`Parameter type is "${this._program.printType(param.type, /* expandTypeAlias */ false)}"`);
550
+ extraInfo.addMessage(`Parameter type is "${this._program.printType(param.type)}"`);
544
551
  if (symbolInfo) {
545
552
  this._addSymbolError(symbolInfo, `Type of parameter "${param.name}" is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFilePath !== null && declFilePath !== void 0 ? declFilePath : '');
546
553
  }
@@ -565,8 +572,7 @@ class PackageTypeVerifier {
565
572
  const extraInfo = new diagnostic_1.DiagnosticAddendum();
566
573
  const returnTypeKnownStatus = this._getTypeKnownStatus(report, type.details.declaredReturnType, publicSymbolMap, extraInfo.createAddendum());
567
574
  if (returnTypeKnownStatus !== 0 /* Known */) {
568
- extraInfo.addMessage(`Return type is "${this._program.printType(type.details.declaredReturnType,
569
- /* expandTypeAlias */ false)}"`);
575
+ extraInfo.addMessage(`Return type is "${this._program.printType(type.details.declaredReturnType)}"`);
570
576
  if (symbolInfo) {
571
577
  this._addSymbolError(symbolInfo, `Return type is partially unknown` + extraInfo.getString(), declRange !== null && declRange !== void 0 ? declRange : (0, textRange_1.getEmptyRange)(), declFilePath !== null && declFilePath !== void 0 ? declFilePath : '');
572
578
  }
@@ -1 +1 @@
1
- {"version":3,"file":"packageTypeVerifier.js","sourceRoot":"","sources":["../../../src/analyzer/packageTypeVerifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"packageTypeVerifier.js","sourceRoot":"","sources":["../../../src/analyzer/packageTypeVerifier.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Position, Range } from '../common/textRange';
2
2
  import { TextRange } from '../common/textRange';
3
3
  import { TextRangeCollection } from '../common/textRangeCollection';
4
- import { ArgumentNode, AssignmentExpressionNode, CallNode, ClassNode, EvaluationScopeNode, ExecutionScopeNode, ExpressionNode, FunctionNode, IndexNode, LambdaNode, MemberAccessNode, ModuleNode, NameNode, ParameterNode, ParseNode, ParseNodeType, StatementListNode, StatementNode, StringNode, SuiteNode, TypeAnnotationNode, TypeParameterScopeNode } from '../parser/parseNodes';
4
+ import { ArgumentNode, AssignmentExpressionNode, CallNode, ClassNode, EvaluationScopeNode, ExecutionScopeNode, ExpressionNode, FunctionNode, ImportFromNode, IndexNode, LambdaNode, MemberAccessNode, ModuleNode, NameNode, ParameterNode, ParseNode, ParseNodeType, StatementListNode, StatementNode, StringNode, SuiteNode, TypeAnnotationNode, TypeParameterScopeNode } from '../parser/parseNodes';
5
5
  import { TokenizerOutput } from '../parser/tokenizer';
6
6
  import { OperatorType, StringToken, Token } from '../parser/tokenizerTypes';
7
7
  import { ParseTreeWalker } from './parseTreeWalker';
@@ -100,5 +100,6 @@ export declare function getStringNodeValueRange(node: StringNode): TextRange;
100
100
  export declare function getStringValueRange(token: StringToken): TextRange;
101
101
  export declare function getFullStatementRange(statementNode: ParseNode, tokenizerOutput: TokenizerOutput): Range;
102
102
  export declare function isUnannotatedFunction(node: FunctionNode): boolean;
103
+ export declare function isValidLocationForFutureImport(node: ImportFromNode): boolean;
103
104
  export declare function operatorSupportsChaining(op: OperatorType): boolean;
104
105
  export {};
@@ -28,7 +28,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
30
  exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft = exports.getCallNodeAndActiveParameterIndex = exports.getEnclosingParameter = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.isWithinTryBlock = exports.isWithinLoop = exports.isWithinAnnotationComment = exports.isWithinTypeAnnotation = exports.isWithinDefaultParamInitializer = exports.isPartialMatchingExpression = exports.isMatchingExpression = exports.isSuiteEmpty = exports.isNodeContainedWithinNodeType = exports.getParentAnnotationNode = exports.getParentNodeOfType = exports.isNodeContainedWithin = exports.isClassVarAllowedForAssignmentTarget = exports.isFinalAllowedForAssignmentTarget = exports.getTypeAnnotationNode = exports.getExecutionScopeNode = exports.getTypeVarScopeNode = exports.getEvaluationScopeNode = exports.getEvaluationNodeForAssignmentExpression = exports.getEnclosingSuiteOrModule = exports.getEnclosingClassOrFunction = exports.getEnclosingLambda = exports.getEnclosingFunction = exports.getEnclosingClassOrModule = exports.getEnclosingModule = exports.getEnclosingClass = exports.getEnclosingSuite = exports.printOperator = exports.printExpression = exports.printArgument = exports.getTypeSourceId = exports.getClassFullName = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
31
- exports.operatorSupportsChaining = exports.isUnannotatedFunction = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = void 0;
31
+ exports.operatorSupportsChaining = exports.isValidLocationForFutureImport = exports.isUnannotatedFunction = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = void 0;
32
32
  const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
33
33
  const debug_1 = require("../common/debug");
34
34
  const positionUtils_1 = require("../common/positionUtils");
@@ -71,10 +71,9 @@ function findNodeByOffset(node, offset) {
71
71
  if (offset < node.start || offset > textRange_1.TextRange.getEnd(node)) {
72
72
  return undefined;
73
73
  }
74
- const parseTreeWalker = new parseTreeWalker_1.ParseTreeWalker();
75
74
  // The range is found within this node. See if we can localize it
76
75
  // further by checking its children.
77
- const children = parseTreeWalker.visitNode(node);
76
+ const children = (0, parseTreeWalker_1.getChildNodes)(node);
78
77
  for (const child of children) {
79
78
  if (child) {
80
79
  const containingChild = findNodeByOffset(child, offset);
@@ -1829,6 +1828,42 @@ function isUnannotatedFunction(node) {
1829
1828
  node.parameters.every((param) => param.typeAnnotation === undefined && param.typeAnnotationComment === undefined));
1830
1829
  }
1831
1830
  exports.isUnannotatedFunction = isUnannotatedFunction;
1831
+ // Verifies that an import of the form "from __future__ import x"
1832
+ // occurs only at the top of a file. This mirrors the algorithm used
1833
+ // in the CPython interpreter.
1834
+ function isValidLocationForFutureImport(node) {
1835
+ const module = getModuleNode(node);
1836
+ (0, debug_1.assert)(module);
1837
+ let sawDocString = false;
1838
+ for (const statement of module.statements) {
1839
+ if (statement.nodeType !== 47 /* StatementList */) {
1840
+ return false;
1841
+ }
1842
+ for (const simpleStatement of statement.statements) {
1843
+ if (simpleStatement === node) {
1844
+ return true;
1845
+ }
1846
+ if (simpleStatement.nodeType === 48 /* StringList */) {
1847
+ if (sawDocString) {
1848
+ return false;
1849
+ }
1850
+ sawDocString = true;
1851
+ }
1852
+ else if (simpleStatement.nodeType === 22 /* ImportFrom */) {
1853
+ if (simpleStatement.module.leadingDots !== 0 ||
1854
+ simpleStatement.module.nameParts.length !== 1 ||
1855
+ simpleStatement.module.nameParts[0].value !== '__future__') {
1856
+ return false;
1857
+ }
1858
+ }
1859
+ else {
1860
+ return false;
1861
+ }
1862
+ }
1863
+ }
1864
+ return false;
1865
+ }
1866
+ exports.isValidLocationForFutureImport = isValidLocationForFutureImport;
1832
1867
  // "Chaining" is when binary operators can be chained together
1833
1868
  // as a shorthand. For example, "a < b < c" is shorthand for
1834
1869
  // "a < b and b < c".