@zzzen/pyright-internal 1.2.0-dev.20221016 → 1.2.0-dev.20221204

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 (343) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +7 -9
  2. package/dist/analyzer/backgroundAnalysisProgram.js +14 -52
  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/checker.d.ts +15 -3
  7. package/dist/analyzer/checker.js +260 -143
  8. package/dist/analyzer/checker.js.map +1 -1
  9. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  10. package/dist/analyzer/codeFlowEngine.js +85 -88
  11. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  12. package/dist/analyzer/codeFlowTypes.d.ts +1 -0
  13. package/dist/analyzer/codeFlowTypes.js +3 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.js +11 -1
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/dataClasses.d.ts +3 -3
  18. package/dist/analyzer/dataClasses.js +92 -59
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/declaration.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +1 -1
  22. package/dist/analyzer/declarationUtils.js +6 -4
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/docStringConversion.js +7 -5
  25. package/dist/analyzer/docStringConversion.js.map +1 -1
  26. package/dist/analyzer/importResolver.d.ts +3 -0
  27. package/dist/analyzer/importResolver.js +50 -8
  28. package/dist/analyzer/importResolver.js.map +1 -1
  29. package/dist/analyzer/importResult.d.ts +1 -0
  30. package/dist/analyzer/namedTuples.js +1 -1
  31. package/dist/analyzer/namedTuples.js.map +1 -1
  32. package/dist/analyzer/packageTypeVerifier.d.ts +2 -1
  33. package/dist/analyzer/packageTypeVerifier.js +16 -10
  34. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  35. package/dist/analyzer/parseTreeUtils.d.ts +2 -1
  36. package/dist/analyzer/parseTreeUtils.js +38 -3
  37. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  38. package/dist/analyzer/parseTreeWalker.d.ts +86 -79
  39. package/dist/analyzer/parseTreeWalker.js +384 -201
  40. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  41. package/dist/analyzer/program.d.ts +4 -7
  42. package/dist/analyzer/program.js +84 -79
  43. package/dist/analyzer/program.js.map +1 -1
  44. package/dist/analyzer/properties.js +10 -3
  45. package/dist/analyzer/properties.js.map +1 -1
  46. package/dist/analyzer/protocols.js +1 -1
  47. package/dist/analyzer/protocols.js.map +1 -1
  48. package/dist/analyzer/regions.d.ts +11 -0
  49. package/dist/analyzer/regions.js +57 -0
  50. package/dist/analyzer/regions.js.map +1 -0
  51. package/dist/analyzer/service.d.ts +11 -6
  52. package/dist/analyzer/service.js +127 -65
  53. package/dist/analyzer/service.js.map +1 -1
  54. package/dist/analyzer/sourceFile.d.ts +5 -2
  55. package/dist/analyzer/sourceFile.js +23 -10
  56. package/dist/analyzer/sourceFile.js.map +1 -1
  57. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -1
  58. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  59. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  60. package/dist/analyzer/sourceMapper.d.ts +6 -1
  61. package/dist/analyzer/sourceMapper.js +28 -5
  62. package/dist/analyzer/sourceMapper.js.map +1 -1
  63. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  64. package/dist/analyzer/sourceMapperUtils.js +17 -5
  65. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  66. package/dist/analyzer/staticExpressions.js +19 -9
  67. package/dist/analyzer/staticExpressions.js.map +1 -1
  68. package/dist/analyzer/symbolUtils.d.ts +1 -0
  69. package/dist/analyzer/symbolUtils.js +5 -1
  70. package/dist/analyzer/symbolUtils.js.map +1 -1
  71. package/dist/analyzer/typeEvaluator.js +664 -257
  72. package/dist/analyzer/typeEvaluator.js.map +1 -1
  73. package/dist/analyzer/typeEvaluatorTypes.d.ts +16 -4
  74. package/dist/analyzer/typeGuards.js +9 -0
  75. package/dist/analyzer/typeGuards.js.map +1 -1
  76. package/dist/analyzer/typePrinter.d.ts +3 -1
  77. package/dist/analyzer/typePrinter.js +143 -28
  78. package/dist/analyzer/typePrinter.js.map +1 -1
  79. package/dist/analyzer/typeStubWriter.js +5 -1
  80. package/dist/analyzer/typeStubWriter.js.map +1 -1
  81. package/dist/analyzer/typeUtils.d.ts +4 -2
  82. package/dist/analyzer/typeUtils.js +114 -20
  83. package/dist/analyzer/typeUtils.js.map +1 -1
  84. package/dist/analyzer/typedDicts.js +8 -6
  85. package/dist/analyzer/typedDicts.js.map +1 -1
  86. package/dist/analyzer/types.d.ts +7 -5
  87. package/dist/analyzer/types.js +45 -20
  88. package/dist/analyzer/types.js.map +1 -1
  89. package/dist/backgroundAnalysisBase.d.ts +6 -4
  90. package/dist/backgroundAnalysisBase.js +30 -9
  91. package/dist/backgroundAnalysisBase.js.map +1 -1
  92. package/dist/backgroundThreadBase.d.ts +2 -1
  93. package/dist/backgroundThreadBase.js +4 -0
  94. package/dist/backgroundThreadBase.js.map +1 -1
  95. package/dist/commands/createTypeStub.js +3 -1
  96. package/dist/commands/createTypeStub.js.map +1 -1
  97. package/dist/common/configOptions.d.ts +1 -0
  98. package/dist/common/configOptions.js +4 -0
  99. package/dist/common/configOptions.js.map +1 -1
  100. package/dist/common/core.d.ts +2 -0
  101. package/dist/common/core.js +24 -3
  102. package/dist/common/core.js.map +1 -1
  103. package/dist/common/diagnostic.d.ts +8 -0
  104. package/dist/common/diagnostic.js +5 -1
  105. package/dist/common/diagnostic.js.map +1 -1
  106. package/dist/common/diagnosticRules.d.ts +2 -1
  107. package/dist/common/diagnosticRules.js +1 -0
  108. package/dist/common/diagnosticRules.js.map +1 -1
  109. package/dist/common/fileSystem.d.ts +1 -0
  110. package/dist/common/fileSystem.js.map +1 -1
  111. package/dist/common/pathUtils.d.ts +1 -0
  112. package/dist/common/pathUtils.js +17 -4
  113. package/dist/common/pathUtils.js.map +1 -1
  114. package/dist/common/pythonVersion.d.ts +1 -1
  115. package/dist/common/pythonVersion.js +1 -1
  116. package/dist/common/realFileSystem.js +12 -3
  117. package/dist/common/realFileSystem.js.map +1 -1
  118. package/dist/common/workspaceEditUtils.d.ts +6 -1
  119. package/dist/common/workspaceEditUtils.js +72 -1
  120. package/dist/common/workspaceEditUtils.js.map +1 -1
  121. package/dist/languageServerBase.d.ts +16 -8
  122. package/dist/languageServerBase.js +76 -32
  123. package/dist/languageServerBase.js.map +1 -1
  124. package/dist/languageService/analyzerServiceExecutor.d.ts +6 -2
  125. package/dist/languageService/analyzerServiceExecutor.js +8 -6
  126. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  127. package/dist/languageService/autoImporter.js +2 -1
  128. package/dist/languageService/autoImporter.js.map +1 -1
  129. package/dist/languageService/codeActionProvider.js +30 -0
  130. package/dist/languageService/codeActionProvider.js.map +1 -1
  131. package/dist/languageService/completionProvider.d.ts +2 -0
  132. package/dist/languageService/completionProvider.js +84 -32
  133. package/dist/languageService/completionProvider.js.map +1 -1
  134. package/dist/languageService/definitionProvider.d.ts +2 -0
  135. package/dist/languageService/definitionProvider.js +3 -0
  136. package/dist/languageService/definitionProvider.js.map +1 -1
  137. package/dist/languageService/documentSymbolCollector.js +7 -3
  138. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  139. package/dist/languageService/documentSymbolProvider.js +1 -1
  140. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  141. package/dist/languageService/hoverProvider.d.ts +1 -1
  142. package/dist/languageService/hoverProvider.js +73 -38
  143. package/dist/languageService/hoverProvider.js.map +1 -1
  144. package/dist/languageService/indentationUtils.d.ts +3 -0
  145. package/dist/languageService/indentationUtils.js +4 -3
  146. package/dist/languageService/indentationUtils.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 +29 -4
  154. package/dist/localization/localize.js +20 -5
  155. package/dist/localization/localize.js.map +1 -1
  156. package/dist/localization/package.nls.en-us.json +18 -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 +29 -15
  161. package/dist/parser/parser.js.map +1 -1
  162. package/dist/parser/tokenizer.js +19 -9
  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/chainedSourceFiles.test.js +2 -0
  176. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  177. package/dist/tests/checker.test.js +26 -3
  178. package/dist/tests/checker.test.js.map +1 -1
  179. package/dist/tests/config.test.js +11 -0
  180. package/dist/tests/config.test.js.map +1 -1
  181. package/dist/tests/diagnostics.test.d.ts +1 -0
  182. package/dist/tests/diagnostics.test.js +37 -0
  183. package/dist/tests/diagnostics.test.js.map +1 -0
  184. package/dist/tests/docStringConversion.test.js +71 -12
  185. package/dist/tests/docStringConversion.test.js.map +1 -1
  186. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +1 -1
  187. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  188. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +5 -5
  189. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  190. package/dist/tests/fourslash/completions.classVariable.fourslash.js +119 -24
  191. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  192. package/dist/tests/fourslash/{signature.paramspec.fourslash.d.ts → completions.dunderNew.Inheritance.fourslash.d.ts} +0 -0
  193. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js +29 -0
  194. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -0
  195. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +1 -0
  196. package/dist/tests/fourslash/completions.dunderNew.fourslash.js +20 -0
  197. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -0
  198. package/dist/tests/fourslash/completions.fourslash.js +2 -2
  199. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  200. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +1 -1
  201. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  202. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +1 -1
  203. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  204. package/dist/tests/fourslash/completions.libStub.fourslash.js +1 -1
  205. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  206. package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -2
  207. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -2
  209. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  210. package/dist/tests/fourslash/completions.self.fourslash.js +2 -2
  211. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  212. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +1 -1
  213. package/dist/tests/fourslash/completions.wildcardimports.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 -1
  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 +5 -4
  294. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  295. package/dist/tests/harness/fourslash/testState.d.ts +7 -7
  296. package/dist/tests/harness/fourslash/testState.js +79 -163
  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/indentationUtils.ptvs.test.js +1 -1
  305. package/dist/tests/indentationUtils.test.js +4 -4
  306. package/dist/tests/ipythonMode.test.js +39 -0
  307. package/dist/tests/ipythonMode.test.js.map +1 -1
  308. package/dist/tests/logger.test.js +3 -1
  309. package/dist/tests/logger.test.js.map +1 -1
  310. package/dist/tests/parser.test.js +3 -3
  311. package/dist/tests/pathUtils.test.js +7 -0
  312. package/dist/tests/pathUtils.test.js.map +1 -1
  313. package/dist/tests/service.test.d.ts +1 -0
  314. package/dist/tests/service.test.js +159 -0
  315. package/dist/tests/service.test.js.map +1 -0
  316. package/dist/tests/sourceFile.test.js +34 -1
  317. package/dist/tests/sourceFile.test.js.map +1 -1
  318. package/dist/tests/sourceMapperUtils.test.js +39 -4
  319. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  320. package/dist/tests/tokenizer.test.js +6 -2
  321. package/dist/tests/tokenizer.test.js.map +1 -1
  322. package/dist/tests/typeEvaluator1.test.js +16 -6
  323. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  324. package/dist/tests/typeEvaluator2.test.js +15 -3
  325. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  326. package/dist/tests/typeEvaluator3.test.js +51 -11
  327. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  328. package/dist/tests/typeEvaluator4.test.js +11 -7
  329. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  330. package/dist/tests/typeEvaluator5.test.js +48 -0
  331. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  332. package/dist/tests/typePrinter.test.d.ts +1 -0
  333. package/dist/tests/typePrinter.test.js +148 -0
  334. package/dist/tests/typePrinter.test.js.map +1 -0
  335. package/dist/tests/workspaceEditUtils.test.d.ts +1 -0
  336. package/dist/tests/workspaceEditUtils.test.js +167 -0
  337. package/dist/tests/workspaceEditUtils.test.js.map +1 -0
  338. package/dist/workspaceMap.d.ts +4 -1
  339. package/dist/workspaceMap.js +64 -16
  340. package/dist/workspaceMap.js.map +1 -1
  341. package/package.json +3 -3
  342. package/dist/tests/fourslash/signature.paramspec.fourslash.js +0 -30
  343. package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constraintSolver.js","sourceRoot":"","sources":["../../../src/analyzer/constraintSolver.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- import { CallNode, ClassNode } from '../parser/parseNodes';
1
+ import { CallNode, ClassNode, ParseNode } from '../parser/parseNodes';
2
2
  import { FunctionArgument, TypeEvaluator } from './typeEvaluatorTypes';
3
3
  import { ClassType, DataClassBehaviors, Type } from './types';
4
4
  export declare function synthesizeDataClassMethods(evaluator: TypeEvaluator, node: ClassNode, classType: ClassType, skipSynthesizeInit: boolean, hasExistingInitMethod: boolean, skipSynthesizeHash: boolean): void;
5
5
  export declare function validateDataClassTransformDecorator(evaluator: TypeEvaluator, node: CallNode): DataClassBehaviors | undefined;
6
6
  export declare function getDataclassDecoratorBehaviors(type: Type): DataClassBehaviors | undefined;
7
- export declare function applyDataClassClassBehaviorOverrides(evaluator: TypeEvaluator, classType: ClassType, args: FunctionArgument[]): void;
7
+ export declare function applyDataClassClassBehaviorOverrides(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, args: FunctionArgument[], defaultBehaviors: DataClassBehaviors): void;
8
8
  export declare function applyDataClassDefaultBehaviors(classType: ClassType, defaultBehaviors: DataClassBehaviors): void;
9
- export declare function applyDataClassDecorator(evaluator: TypeEvaluator, classType: ClassType, defaultBehaviors: DataClassBehaviors, callNode: CallNode | undefined): void;
9
+ export declare function applyDataClassDecorator(evaluator: TypeEvaluator, errorNode: ParseNode, classType: ClassType, defaultBehaviors: DataClassBehaviors, callNode: CallNode | undefined): void;
@@ -287,7 +287,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
287
287
  const oldEntry = fullDataClassEntries[insertIndex];
288
288
  // While this isn't documented behavior, it appears that the dataclass implementation
289
289
  // causes overridden variables to "inherit" default values from parent classes.
290
- if (!dataClassEntry.hasDefault && oldEntry.hasDefault) {
290
+ if (!dataClassEntry.hasDefault && oldEntry.hasDefault && oldEntry.includeInInit) {
291
291
  dataClassEntry.hasDefault = true;
292
292
  dataClassEntry.defaultValueExpression = oldEntry.defaultValueExpression;
293
293
  hasDefaultValue = true;
@@ -347,44 +347,46 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
347
347
  });
348
348
  const symbolTable = classType.details.fields;
349
349
  const keywordOnlyParams = [];
350
- if (!skipSynthesizeInit && !hasExistingInitMethod && allAncestorsKnown) {
351
- fullDataClassEntries.forEach((entry) => {
352
- if (entry.includeInInit) {
353
- // If the type refers to Self of the parent class, we need to
354
- // transform it to refer to the Self of this subclass.
355
- let effectiveType = entry.type;
356
- if (entry.classType !== classType && (0, typeUtils_1.requiresSpecialization)(effectiveType)) {
357
- const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(entry.classType));
358
- (0, typeUtils_1.populateTypeVarContextForSelfType)(typeVarContext, entry.classType, classType);
359
- effectiveType = (0, typeUtils_1.applySolvedTypeVars)(effectiveType, typeVarContext);
360
- }
361
- // Is the field type a descriptor object? If so, we need to extract the corresponding
362
- // type of the __init__ method parameter from the __set__ method.
363
- effectiveType = transformDescriptorType(evaluator, effectiveType);
364
- const functionParam = {
365
- category: 0 /* Simple */,
366
- name: entry.alias || entry.name,
367
- hasDefault: entry.hasDefault,
368
- defaultValueExpression: entry.defaultValueExpression,
369
- type: effectiveType,
370
- hasDeclaredType: true,
371
- };
372
- if (entry.isKeywordOnly) {
373
- keywordOnlyParams.push(functionParam);
374
- }
375
- else {
376
- types_1.FunctionType.addParameter(initType, functionParam);
350
+ if (!skipSynthesizeInit && !hasExistingInitMethod) {
351
+ if (allAncestorsKnown) {
352
+ fullDataClassEntries.forEach((entry) => {
353
+ if (entry.includeInInit) {
354
+ // If the type refers to Self of the parent class, we need to
355
+ // transform it to refer to the Self of this subclass.
356
+ let effectiveType = entry.type;
357
+ if (entry.classType !== classType && (0, typeUtils_1.requiresSpecialization)(effectiveType)) {
358
+ const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(entry.classType));
359
+ (0, typeUtils_1.populateTypeVarContextForSelfType)(typeVarContext, entry.classType, classType);
360
+ effectiveType = (0, typeUtils_1.applySolvedTypeVars)(effectiveType, typeVarContext);
361
+ }
362
+ // Is the field type a descriptor object? If so, we need to extract the corresponding
363
+ // type of the __init__ method parameter from the __set__ method.
364
+ effectiveType = transformDescriptorType(evaluator, effectiveType);
365
+ const functionParam = {
366
+ category: 0 /* Simple */,
367
+ name: entry.alias || entry.name,
368
+ hasDefault: entry.hasDefault,
369
+ defaultValueExpression: entry.defaultValueExpression,
370
+ type: effectiveType,
371
+ hasDeclaredType: true,
372
+ };
373
+ if (entry.isKeywordOnly) {
374
+ keywordOnlyParams.push(functionParam);
375
+ }
376
+ else {
377
+ types_1.FunctionType.addParameter(initType, functionParam);
378
+ }
377
379
  }
378
- }
379
- });
380
- if (keywordOnlyParams.length > 0) {
381
- types_1.FunctionType.addParameter(initType, {
382
- category: 1 /* VarArgList */,
383
- type: types_1.AnyType.create(),
384
- });
385
- keywordOnlyParams.forEach((param) => {
386
- types_1.FunctionType.addParameter(initType, param);
387
380
  });
381
+ if (keywordOnlyParams.length > 0) {
382
+ types_1.FunctionType.addParameter(initType, {
383
+ category: 1 /* VarArgList */,
384
+ type: types_1.AnyType.create(),
385
+ });
386
+ keywordOnlyParams.forEach((param) => {
387
+ types_1.FunctionType.addParameter(initType, param);
388
+ });
389
+ }
388
390
  }
389
391
  symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* ClassMember */, initType));
390
392
  symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* ClassMember */, newType));
@@ -459,7 +461,7 @@ function synthesizeDataClassMethods(evaluator, node, classType, skipSynthesizeIn
459
461
  dictType = types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForSpecialization(dictType, [evaluator.getBuiltInObject(node, 'str'), types_1.AnyType.create()],
460
462
  /* isTypeArgumentExplicit */ true));
461
463
  }
462
- symbolTable.set('__dataclass_fields__', symbol_1.Symbol.createWithType(4 /* ClassMember */, dictType));
464
+ symbolTable.set('__dataclass_fields__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 128 /* ClassVar */, dictType));
463
465
  if (types_1.ClassType.isGeneratedDataClassSlots(classType) && classType.details.localSlotsNames === undefined) {
464
466
  classType.details.localSlotsNames = localDataClassEntries.map((entry) => entry.name);
465
467
  }
@@ -551,6 +553,7 @@ function validateDataClassTransformDecorator(evaluator, node) {
551
553
  keywordOnlyParams: false,
552
554
  generateEq: true,
553
555
  generateOrder: false,
556
+ frozen: false,
554
557
  fieldDescriptorNames: [],
555
558
  };
556
559
  const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
@@ -588,6 +591,15 @@ function validateDataClassTransformDecorator(evaluator, node) {
588
591
  behaviors.generateOrder = value;
589
592
  break;
590
593
  }
594
+ case 'frozen_default': {
595
+ const value = (0, staticExpressions_1.evaluateStaticBoolExpression)(arg.valueExpression, fileInfo.executionEnvironment, fileInfo.definedConstants);
596
+ if (value === undefined) {
597
+ evaluator.addError(localize_1.Localizer.Diagnostic.dataClassTransformExpectedBoolLiteral(), arg.valueExpression);
598
+ return;
599
+ }
600
+ behaviors.frozen = value;
601
+ break;
602
+ }
591
603
  // Earlier versions of the dataclass_transform spec used the name "field_descriptors"
592
604
  // rather than "field_specifiers". The older name is now deprecated but still supported
593
605
  // for the time being because some libraries shipped with the older __dataclass_transform__
@@ -652,29 +664,33 @@ function getDataclassDecoratorBehaviors(type) {
652
664
  keywordOnlyParams: false,
653
665
  generateEq: true,
654
666
  generateOrder: false,
667
+ frozen: false,
655
668
  fieldDescriptorNames: ['dataclasses.field', 'dataclasses.Field'],
656
669
  };
657
670
  }
658
671
  return undefined;
659
672
  }
660
673
  exports.getDataclassDecoratorBehaviors = getDataclassDecoratorBehaviors;
661
- function applyDataClassBehaviorOverride(evaluator, errorNode, classType, argName, argValue) {
674
+ function applyDataClassBehaviorOverride(evaluator, errorNode, classType, argName, argValueExpr) {
662
675
  const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
663
- const value = (0, staticExpressions_1.evaluateStaticBoolExpression)(argValue, fileInfo.executionEnvironment, fileInfo.definedConstants);
676
+ const value = (0, staticExpressions_1.evaluateStaticBoolExpression)(argValueExpr, fileInfo.executionEnvironment, fileInfo.definedConstants);
677
+ applyDataClassBehaviorOverrideValue(evaluator, errorNode, classType, argName, value);
678
+ }
679
+ function applyDataClassBehaviorOverrideValue(evaluator, errorNode, classType, argName, argValue) {
664
680
  switch (argName) {
665
681
  case 'order':
666
- if (value === true) {
682
+ if (argValue === true) {
667
683
  classType.details.flags |= 64 /* SynthesizedDataClassOrder */;
668
684
  }
669
- else if (value === false) {
685
+ else if (argValue === false) {
670
686
  classType.details.flags &= ~64 /* SynthesizedDataClassOrder */;
671
687
  }
672
688
  break;
673
689
  case 'kw_only':
674
- if (value === false) {
690
+ if (argValue === false) {
675
691
  classType.details.flags &= ~2097152 /* DataClassKeywordOnlyParams */;
676
692
  }
677
- else if (value === true) {
693
+ else if (argValue === true) {
678
694
  classType.details.flags |= 2097152 /* DataClassKeywordOnlyParams */;
679
695
  }
680
696
  break;
@@ -697,56 +713,71 @@ function applyDataClassBehaviorOverride(evaluator, errorNode, classType, argName
697
713
  }
698
714
  }
699
715
  });
700
- if (value === true || hasFrozenBaseClass) {
716
+ if (argValue) {
701
717
  classType.details.flags |= 8 /* FrozenDataClass */;
702
718
  // A frozen dataclass cannot derive from a non-frozen dataclass.
703
719
  if (hasUnfrozenBaseClass) {
704
- evaluator.addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassBaseClassNotFrozen(), errorNode);
720
+ evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassBaseClassNotFrozen(), errorNode);
721
+ }
722
+ }
723
+ else {
724
+ // A non-frozen dataclass cannot derive from a frozen dataclass.
725
+ if (hasFrozenBaseClass) {
726
+ evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassBaseClassFrozen(), errorNode);
705
727
  }
706
728
  }
707
729
  break;
708
730
  }
709
731
  case 'init':
710
- if (value === false) {
732
+ if (argValue === false) {
711
733
  classType.details.flags |= 16 /* SkipSynthesizedDataClassInit */;
712
734
  }
713
- else if (value === true) {
735
+ else if (argValue === true) {
714
736
  classType.details.flags &= ~16 /* SkipSynthesizedDataClassInit */;
715
737
  }
716
738
  break;
717
739
  case 'eq':
718
- if (value === false) {
740
+ if (argValue === false) {
719
741
  classType.details.flags |= 32 /* SkipSynthesizedDataClassEq */;
720
742
  }
721
- else if (value === true) {
743
+ else if (argValue === true) {
722
744
  classType.details.flags &= ~32 /* SkipSynthesizedDataClassEq */;
723
745
  }
724
746
  break;
725
747
  case 'slots':
726
- if (value === true) {
748
+ if (argValue === true) {
727
749
  classType.details.flags |= 33554432 /* GenerateDataClassSlots */;
728
750
  if (classType.details.localSlotsNames) {
729
- evaluator.addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassSlotsOverwrite(), errorNode);
751
+ evaluator.addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.dataClassSlotsOverwrite(), errorNode);
730
752
  }
731
753
  }
732
- else if (value === false) {
754
+ else if (argValue === false) {
733
755
  classType.details.flags &= ~33554432 /* GenerateDataClassSlots */;
734
756
  }
735
757
  break;
736
758
  case 'hash':
737
759
  case 'unsafe_hash':
738
- if (value === true) {
760
+ if (argValue === true) {
739
761
  classType.details.flags |= 67108864 /* SynthesizeDataClassUnsafeHash */;
740
762
  }
741
763
  break;
742
764
  }
743
765
  }
744
- function applyDataClassClassBehaviorOverrides(evaluator, classType, args) {
766
+ function applyDataClassClassBehaviorOverrides(evaluator, errorNode, classType, args, defaultBehaviors) {
767
+ let sawFrozenArg = false;
745
768
  args.forEach((arg) => {
746
769
  if (arg.valueExpression && arg.name) {
747
770
  applyDataClassBehaviorOverride(evaluator, arg.name, classType, arg.name.value, arg.valueExpression);
771
+ if (arg.name.value === 'frozen') {
772
+ sawFrozenArg = true;
773
+ }
748
774
  }
749
775
  });
776
+ // If there was no frozen argument, it is implicitly false. This will
777
+ // validate that we're not overriding a frozen class with a non-frozen class.
778
+ if (!sawFrozenArg) {
779
+ applyDataClassBehaviorOverrideValue(evaluator, errorNode, classType, 'frozen', defaultBehaviors.frozen);
780
+ }
750
781
  }
751
782
  exports.applyDataClassClassBehaviorOverrides = applyDataClassClassBehaviorOverrides;
752
783
  function applyDataClassDefaultBehaviors(classType, defaultBehaviors) {
@@ -761,13 +792,15 @@ function applyDataClassDefaultBehaviors(classType, defaultBehaviors) {
761
792
  if (defaultBehaviors.generateOrder) {
762
793
  classType.details.flags |= 64 /* SynthesizedDataClassOrder */;
763
794
  }
795
+ if (defaultBehaviors.frozen) {
796
+ classType.details.flags |= 8 /* FrozenDataClass */;
797
+ }
764
798
  }
765
799
  exports.applyDataClassDefaultBehaviors = applyDataClassDefaultBehaviors;
766
- function applyDataClassDecorator(evaluator, classType, defaultBehaviors, callNode) {
800
+ function applyDataClassDecorator(evaluator, errorNode, classType, defaultBehaviors, callNode) {
801
+ var _a;
767
802
  applyDataClassDefaultBehaviors(classType, defaultBehaviors);
768
- if (callNode === null || callNode === void 0 ? void 0 : callNode.arguments) {
769
- applyDataClassClassBehaviorOverrides(evaluator, classType, callNode.arguments);
770
- }
803
+ applyDataClassClassBehaviorOverrides(evaluator, errorNode, classType, (_a = callNode === null || callNode === void 0 ? void 0 : callNode.arguments) !== null && _a !== void 0 ? _a : [], defaultBehaviors);
771
804
  }
772
805
  exports.applyDataClassDecorator = applyDataClassDecorator;
773
806
  //# sourceMappingURL=dataClasses.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dataClasses.js","sourceRoot":"","sources":["../../../src/analyzer/dataClasses.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBH,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAUhC;AAsMD,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0BAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gCAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC"}
1
+ {"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBH,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAUhC;AAwMD,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0BAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qBAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kBAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gCAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sBAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC"}
@@ -1,7 +1,7 @@
1
1
  import { NameNode } from '../parser/parseNodes';
2
2
  import { AliasDeclaration, Declaration } from './declaration';
3
3
  export declare function hasTypeForDeclaration(declaration: Declaration): boolean;
4
- export declare function areDeclarationsSame(decl1: Declaration, decl2: Declaration, treatModuleInImportAndFromImportSame?: boolean): boolean;
4
+ export declare function areDeclarationsSame(decl1: Declaration, decl2: Declaration, treatModuleInImportAndFromImportSame?: boolean, skipRangeForAliases?: boolean): boolean;
5
5
  export declare function isFinalVariableDeclaration(decl: Declaration): boolean;
6
6
  export declare function isExplicitTypeAliasDeclaration(decl: Declaration): boolean;
7
7
  export declare function isPossibleTypeAliasDeclaration(decl: Declaration): boolean;
@@ -48,16 +48,18 @@ function hasTypeForDeclaration(declaration) {
48
48
  }
49
49
  }
50
50
  exports.hasTypeForDeclaration = hasTypeForDeclaration;
51
- function areDeclarationsSame(decl1, decl2, treatModuleInImportAndFromImportSame = false) {
51
+ function areDeclarationsSame(decl1, decl2, treatModuleInImportAndFromImportSame = false, skipRangeForAliases = false) {
52
52
  if (decl1.type !== decl2.type) {
53
53
  return false;
54
54
  }
55
55
  if (decl1.path !== decl2.path) {
56
56
  return false;
57
57
  }
58
- if (decl1.range.start.line !== decl2.range.start.line ||
59
- decl1.range.start.character !== decl2.range.start.character) {
60
- return false;
58
+ if (!skipRangeForAliases || decl1.type !== 8 /* Alias */) {
59
+ if (decl1.range.start.line !== decl2.range.start.line ||
60
+ decl1.range.start.character !== decl2.range.start.character) {
61
+ return false;
62
+ }
61
63
  }
62
64
  // Alias declarations refer to the entire import statement.
63
65
  // We need to further differentiate.
@@ -1 +1 @@
1
- {"version":3,"file":"declarationUtils.js","sourceRoot":"","sources":["../../../src/analyzer/declarationUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"declarationUtils.js","sourceRoot":"","sources":["../../../src/analyzer/declarationUtils.ts"],"names":[],"mappings":"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"}
@@ -55,7 +55,7 @@ const SpaceDotDotRegExp = /^\s*\.\. /;
55
55
  const DirectiveLikeRegExp = /^\s*\.\.\s+(\w+)::\s*(.*)$/;
56
56
  const DoctestRegExp = / *>>> /;
57
57
  const DirectivesExtraNewlineRegExp = /^\s*:(param|arg|type|return|rtype|raise|except|var|ivar|cvar|copyright|license)/;
58
- const epyDocFieldTokensRegExp = /^[.\s\t]+(@\w+)/; // cv2 has leading '.' http://epydoc.sourceforge.net/manual-epytext.html
58
+ const epyDocFieldTokensRegExp = /^\.[\s\t]+(@\w)/gm; // cv2 has leading '.' http://epydoc.sourceforge.net/manual-epytext.html
59
59
  const epyDocCv2FixRegExp = /^(\.\s{3})|^(\.)/;
60
60
  const PotentialHeaders = [
61
61
  { exp: /^\s*=+(\s+=+)+$/, replacement: '=' },
@@ -94,10 +94,11 @@ class DocStringConverter {
94
94
  this._lineNum = 0;
95
95
  this._blockIndent = 0;
96
96
  this._state = this._parseText;
97
+ this._input = input;
97
98
  this._lines = (0, docStringUtils_1.cleanAndSplitDocString)(input);
98
99
  }
99
100
  convert() {
100
- const isEpyDoc = this._lines.some((v) => epyDocFieldTokensRegExp.exec(v));
101
+ const isEpyDoc = epyDocFieldTokensRegExp.test(this._input);
101
102
  if (isEpyDoc) {
102
103
  // fixup cv2 leading '.'
103
104
  this._lines = this._lines.map((v) => v.replace(epyDocCv2FixRegExp, ''));
@@ -407,13 +408,14 @@ class DocStringConverter {
407
408
  this._eatLine();
408
409
  return;
409
410
  }
410
- if (this._currentLineIsOutsideBlock()) {
411
+ const prev = this._lineAt(this._lineNum - 1);
412
+ if (this._currentLineIsOutsideBlock() && _isUndefinedOrWhitespace(prev)) {
411
413
  this._trimOutputAndAppendLine('```');
412
414
  this._appendLine();
413
415
  this._popState();
414
416
  return;
415
417
  }
416
- this._appendLine(this._currentLineWithinBlock());
418
+ this._appendLine(this._currentLine());
417
419
  this._eatLine();
418
420
  }
419
421
  _parseLiteralBlockSingleLine() {
@@ -553,7 +555,7 @@ class DocStringConverter {
553
555
  formattedLine += `${h}|`;
554
556
  });
555
557
  this._appendLine(formattedLine);
556
- //Convert header end
558
+ // Convert header end
557
559
  const endHeaderStr = line.trimStart().replace(/=/g, '-').replace(' ', '|');
558
560
  this._appendLine(`|${endHeaderStr}|`);
559
561
  this._eatLine();