@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":"parseTreeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
@@ -1,84 +1,91 @@
1
1
  import { ArgumentNode, AssertNode, AssignmentExpressionNode, AssignmentNode, AugmentedAssignmentNode, AwaitNode, BinaryOperationNode, BreakNode, CallNode, CaseNode, ClassNode, ConstantNode, ContinueNode, DecoratorNode, DelNode, DictionaryExpandEntryNode, DictionaryKeyEntryNode, DictionaryNode, EllipsisNode, ErrorNode, ExceptNode, FormatStringNode, ForNode, FunctionAnnotationNode, FunctionNode, GlobalNode, IfNode, ImportAsNode, ImportFromAsNode, ImportFromNode, ImportNode, IndexNode, LambdaNode, ListComprehensionForNode, ListComprehensionIfNode, ListComprehensionNode, ListNode, MatchNode, MemberAccessNode, ModuleNameNode, ModuleNode, NameNode, NonlocalNode, NumberNode, ParameterNode, ParseNode, ParseNodeArray, PassNode, PatternAsNode, PatternCaptureNode, PatternClassArgumentNode, PatternClassNode, PatternLiteralNode, PatternMappingExpandEntryNode, PatternMappingKeyEntryNode, PatternMappingNode, PatternSequenceNode, PatternValueNode, RaiseNode, ReturnNode, SetNode, SliceNode, StatementListNode, StringListNode, StringNode, SuiteNode, TernaryNode, TryNode, TupleNode, TypeAliasNode, TypeAnnotationNode, TypeParameterListNode, TypeParameterNode, UnaryOperationNode, UnpackNode, WhileNode, WithItemNode, WithNode, YieldFromNode, YieldNode } from '../parser/parseNodes';
2
- export declare class ParseTreeWalker {
2
+ export declare function getChildNodes(node: ParseNode): ParseNode[] | (ErrorNode | AssignmentExpressionNode | AssignmentNode | AugmentedAssignmentNode | AwaitNode | BinaryOperationNode | CallNode | ConstantNode | DictionaryNode | EllipsisNode | IndexNode | FormatStringNode | LambdaNode | ListNode | ListComprehensionNode | MemberAccessNode | NameNode | NumberNode | PatternAsNode | PatternClassNode | PatternCaptureNode | PatternLiteralNode | PatternMappingNode | PatternSequenceNode | PatternValueNode | SetNode | SliceNode | StringListNode | StringNode | SuiteNode | TernaryNode | TupleNode | TypeAnnotationNode | UnaryOperationNode | UnpackNode | YieldNode | YieldFromNode | undefined)[] | (ArgumentNode | DecoratorNode | NameNode | SuiteNode | TypeParameterListNode | undefined)[] | (IfNode | SuiteNode | import("../parser/parseNodes").ExpressionNode | undefined)[] | (ModuleNameNode | NameNode | undefined)[] | (DecoratorNode | FunctionAnnotationNode | ParameterNode | SuiteNode | TypeParameterListNode | import("../parser/parseNodes").ExpressionNode | undefined)[] | (ExceptNode | SuiteNode | undefined)[];
3
+ export declare class ParseTreeVisitor<T> {
4
+ private readonly _default;
5
+ constructor(_default: T);
6
+ visit(node: ParseNode): T;
7
+ visitArgument(node: ArgumentNode): T;
8
+ visitAssert(node: AssertNode): T;
9
+ visitAssignment(node: AssignmentNode): T;
10
+ visitAssignmentExpression(node: AssignmentExpressionNode): T;
11
+ visitAugmentedAssignment(node: AugmentedAssignmentNode): T;
12
+ visitAwait(node: AwaitNode): T;
13
+ visitBinaryOperation(node: BinaryOperationNode): T;
14
+ visitBreak(node: BreakNode): T;
15
+ visitCall(node: CallNode): T;
16
+ visitCase(node: CaseNode): T;
17
+ visitClass(node: ClassNode): T;
18
+ visitTernary(node: TernaryNode): T;
19
+ visitContinue(node: ContinueNode): T;
20
+ visitConstant(node: ConstantNode): T;
21
+ visitDecorator(node: DecoratorNode): T;
22
+ visitDel(node: DelNode): T;
23
+ visitDictionary(node: DictionaryNode): T;
24
+ visitDictionaryKeyEntry(node: DictionaryKeyEntryNode): T;
25
+ visitDictionaryExpandEntry(node: DictionaryExpandEntryNode): T;
26
+ visitError(node: ErrorNode): T;
27
+ visitEllipsis(node: EllipsisNode): T;
28
+ visitIf(node: IfNode): T;
29
+ visitImport(node: ImportNode): T;
30
+ visitImportAs(node: ImportAsNode): T;
31
+ visitImportFrom(node: ImportFromNode): T;
32
+ visitImportFromAs(node: ImportFromAsNode): T;
33
+ visitIndex(node: IndexNode): T;
34
+ visitExcept(node: ExceptNode): T;
35
+ visitFor(node: ForNode): T;
36
+ visitFormatString(node: FormatStringNode): T;
37
+ visitFunction(node: FunctionNode): T;
38
+ visitFunctionAnnotation(node: FunctionAnnotationNode): T;
39
+ visitGlobal(node: GlobalNode): T;
40
+ visitLambda(node: LambdaNode): T;
41
+ visitList(node: ListNode): T;
42
+ visitListComprehension(node: ListComprehensionNode): T;
43
+ visitListComprehensionFor(node: ListComprehensionForNode): T;
44
+ visitListComprehensionIf(node: ListComprehensionIfNode): T;
45
+ visitMatch(node: MatchNode): T;
46
+ visitMemberAccess(node: MemberAccessNode): T;
47
+ visitModule(node: ModuleNode): T;
48
+ visitModuleName(node: ModuleNameNode): T;
49
+ visitName(node: NameNode): T;
50
+ visitNonlocal(node: NonlocalNode): T;
51
+ visitNumber(node: NumberNode): T;
52
+ visitParameter(node: ParameterNode): T;
53
+ visitPass(node: PassNode): T;
54
+ visitPatternCapture(node: PatternCaptureNode): T;
55
+ visitPatternClass(node: PatternClassNode): T;
56
+ visitPatternClassArgument(node: PatternClassArgumentNode): T;
57
+ visitPatternAs(node: PatternAsNode): T;
58
+ visitPatternLiteral(node: PatternLiteralNode): T;
59
+ visitPatternMappingExpandEntry(node: PatternMappingExpandEntryNode): T;
60
+ visitPatternSequence(node: PatternSequenceNode): T;
61
+ visitPatternValue(node: PatternValueNode): T;
62
+ visitPatternMappingKeyEntry(node: PatternMappingKeyEntryNode): T;
63
+ visitPatternMapping(node: PatternMappingNode): T;
64
+ visitRaise(node: RaiseNode): T;
65
+ visitReturn(node: ReturnNode): T;
66
+ visitSet(node: SetNode): T;
67
+ visitSlice(node: SliceNode): T;
68
+ visitStatementList(node: StatementListNode): T;
69
+ visitString(node: StringNode): T;
70
+ visitStringList(node: StringListNode): T;
71
+ visitSuite(node: SuiteNode): T;
72
+ visitTuple(node: TupleNode): T;
73
+ visitTry(node: TryNode): T;
74
+ visitTypeAlias(node: TypeAliasNode): T;
75
+ visitTypeAnnotation(node: TypeAnnotationNode): T;
76
+ visitTypeParameter(node: TypeParameterNode): T;
77
+ visitTypeParameterList(node: TypeParameterListNode): T;
78
+ visitUnaryOperation(node: UnaryOperationNode): T;
79
+ visitUnpack(node: UnpackNode): T;
80
+ visitWhile(node: WhileNode): T;
81
+ visitWith(node: WithNode): T;
82
+ visitWithItem(node: WithItemNode): T;
83
+ visitYield(node: YieldNode): T;
84
+ visitYieldFrom(node: YieldFromNode): T;
85
+ }
86
+ export declare class ParseTreeWalker extends ParseTreeVisitor<boolean> {
87
+ constructor();
3
88
  walk(node: ParseNode): void;
4
89
  walkMultiple(nodes: ParseNodeArray): void;
5
90
  visitNode(node: ParseNode): ParseNodeArray;
6
- visitArgument(node: ArgumentNode): boolean;
7
- visitAssert(node: AssertNode): boolean;
8
- visitAssignment(node: AssignmentNode): boolean;
9
- visitAssignmentExpression(node: AssignmentExpressionNode): boolean;
10
- visitAugmentedAssignment(node: AugmentedAssignmentNode): boolean;
11
- visitAwait(node: AwaitNode): boolean;
12
- visitBinaryOperation(node: BinaryOperationNode): boolean;
13
- visitBreak(node: BreakNode): boolean;
14
- visitCall(node: CallNode): boolean;
15
- visitCase(node: CaseNode): boolean;
16
- visitClass(node: ClassNode): boolean;
17
- visitTernary(node: TernaryNode): boolean;
18
- visitContinue(node: ContinueNode): boolean;
19
- visitConstant(node: ConstantNode): boolean;
20
- visitDecorator(node: DecoratorNode): boolean;
21
- visitDel(node: DelNode): boolean;
22
- visitDictionary(node: DictionaryNode): boolean;
23
- visitDictionaryKeyEntry(node: DictionaryKeyEntryNode): boolean;
24
- visitDictionaryExpandEntry(node: DictionaryExpandEntryNode): boolean;
25
- visitError(node: ErrorNode): boolean;
26
- visitEllipsis(node: EllipsisNode): boolean;
27
- visitIf(node: IfNode): boolean;
28
- visitImport(node: ImportNode): boolean;
29
- visitImportAs(node: ImportAsNode): boolean;
30
- visitImportFrom(node: ImportFromNode): boolean;
31
- visitImportFromAs(node: ImportFromAsNode): boolean;
32
- visitIndex(node: IndexNode): boolean;
33
- visitExcept(node: ExceptNode): boolean;
34
- visitFor(node: ForNode): boolean;
35
- visitFormatString(node: FormatStringNode): boolean;
36
- visitFunction(node: FunctionNode): boolean;
37
- visitFunctionAnnotation(node: FunctionAnnotationNode): boolean;
38
- visitGlobal(node: GlobalNode): boolean;
39
- visitLambda(node: LambdaNode): boolean;
40
- visitList(node: ListNode): boolean;
41
- visitListComprehension(node: ListComprehensionNode): boolean;
42
- visitListComprehensionFor(node: ListComprehensionForNode): boolean;
43
- visitListComprehensionIf(node: ListComprehensionIfNode): boolean;
44
- visitMatch(node: MatchNode): boolean;
45
- visitMemberAccess(node: MemberAccessNode): boolean;
46
- visitModule(node: ModuleNode): boolean;
47
- visitModuleName(node: ModuleNameNode): boolean;
48
- visitName(node: NameNode): boolean;
49
- visitNonlocal(node: NonlocalNode): boolean;
50
- visitNumber(node: NumberNode): boolean;
51
- visitParameter(node: ParameterNode): boolean;
52
- visitPass(node: PassNode): boolean;
53
- visitPatternCapture(node: PatternCaptureNode): boolean;
54
- visitPatternClass(node: PatternClassNode): boolean;
55
- visitPatternClassArgument(node: PatternClassArgumentNode): boolean;
56
- visitPatternAs(node: PatternAsNode): boolean;
57
- visitPatternLiteral(node: PatternLiteralNode): boolean;
58
- visitPatternMappingExpandEntry(node: PatternMappingExpandEntryNode): boolean;
59
- visitPatternSequence(node: PatternSequenceNode): boolean;
60
- visitPatternValue(node: PatternValueNode): boolean;
61
- visitPatternMappingKeyEntry(node: PatternMappingKeyEntryNode): boolean;
62
- visitPatternMapping(node: PatternMappingNode): boolean;
63
- visitRaise(node: RaiseNode): boolean;
64
- visitReturn(node: ReturnNode): boolean;
65
- visitSet(node: SetNode): boolean;
66
- visitSlice(node: SliceNode): boolean;
67
- visitStatementList(node: StatementListNode): boolean;
68
- visitString(node: StringNode): boolean;
69
- visitStringList(node: StringListNode): boolean;
70
- visitSuite(node: SuiteNode): boolean;
71
- visitTuple(node: TupleNode): boolean;
72
- visitTry(node: TryNode): boolean;
73
- visitTypeAlias(node: TypeAliasNode): boolean;
74
- visitTypeAnnotation(node: TypeAnnotationNode): boolean;
75
- visitTypeParameter(node: TypeParameterNode): boolean;
76
- visitTypeParameterList(node: TypeParameterListNode): boolean;
77
- visitUnaryOperation(node: UnaryOperationNode): boolean;
78
- visitUnpack(node: UnpackNode): boolean;
79
- visitWhile(node: WhileNode): boolean;
80
- visitWith(node: WithNode): boolean;
81
- visitWithItem(node: WithItemNode): boolean;
82
- visitYield(node: YieldNode): boolean;
83
- visitYieldFrom(node: YieldFromNode): boolean;
84
91
  }