@zzzen/pyright-internal 1.2.0-dev.20240128 → 1.2.0-dev.20240225

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 (593) hide show
  1. package/dist/analyzer/analysis.js +4 -1
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  4. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  5. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  6. package/dist/analyzer/binder.js +1 -0
  7. package/dist/analyzer/binder.js.map +1 -1
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.d.ts +1 -2
  10. package/dist/analyzer/checker.js +251 -121
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/circularDependency.js.map +1 -1
  13. package/dist/analyzer/codeFlowEngine.js +29 -3
  14. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  15. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  16. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  17. package/dist/analyzer/commentUtils.js.map +1 -1
  18. package/dist/analyzer/constraintSolver.d.ts +2 -2
  19. package/dist/analyzer/constraintSolver.js +28 -6
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/constructorTransform.js.map +1 -1
  22. package/dist/analyzer/constructors.js.map +1 -1
  23. package/dist/analyzer/dataClasses.js +6 -6
  24. package/dist/analyzer/dataClasses.js.map +1 -1
  25. package/dist/analyzer/declaration.js.map +1 -1
  26. package/dist/analyzer/declarationUtils.js.map +1 -1
  27. package/dist/analyzer/decorators.js +6 -6
  28. package/dist/analyzer/decorators.js.map +1 -1
  29. package/dist/analyzer/deprecatedSymbols.js.map +1 -1
  30. package/dist/analyzer/docStringConversion.js.map +1 -1
  31. package/dist/analyzer/docStringUtils.js.map +1 -1
  32. package/dist/analyzer/enums.d.ts +4 -1
  33. package/dist/analyzer/enums.js +30 -16
  34. package/dist/analyzer/enums.js.map +1 -1
  35. package/dist/analyzer/functionTransform.js.map +1 -1
  36. package/dist/analyzer/importResolver.js +12 -4
  37. package/dist/analyzer/importResolver.js.map +1 -1
  38. package/dist/analyzer/importResult.js.map +1 -1
  39. package/dist/analyzer/importStatementUtils.js +2 -0
  40. package/dist/analyzer/importStatementUtils.js.map +1 -1
  41. package/dist/analyzer/namedTuples.js +1 -1
  42. package/dist/analyzer/namedTuples.js.map +1 -1
  43. package/dist/analyzer/operations.js +6 -0
  44. package/dist/analyzer/operations.js.map +1 -1
  45. package/dist/analyzer/packageTypeReport.js.map +1 -1
  46. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  47. package/dist/analyzer/parameterUtils.d.ts +1 -0
  48. package/dist/analyzer/parameterUtils.js +16 -2
  49. package/dist/analyzer/parameterUtils.js.map +1 -1
  50. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  51. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  52. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  53. package/dist/analyzer/parseTreeUtils.js +4 -3
  54. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  55. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  56. package/dist/analyzer/patternMatching.js +90 -61
  57. package/dist/analyzer/patternMatching.js.map +1 -1
  58. package/dist/analyzer/program.d.ts +1 -1
  59. package/dist/analyzer/program.js +2 -2
  60. package/dist/analyzer/program.js.map +1 -1
  61. package/dist/analyzer/properties.js +2 -2
  62. package/dist/analyzer/properties.js.map +1 -1
  63. package/dist/analyzer/protocols.js.map +1 -1
  64. package/dist/analyzer/pyTypedUtils.js.map +1 -1
  65. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  66. package/dist/analyzer/scope.js.map +1 -1
  67. package/dist/analyzer/scopeUtils.js.map +1 -1
  68. package/dist/analyzer/service.js.map +1 -1
  69. package/dist/analyzer/sourceFile.js +4 -4
  70. package/dist/analyzer/sourceFile.js.map +1 -1
  71. package/dist/analyzer/sourceFileInfo.js +1 -1
  72. package/dist/analyzer/sourceFileInfo.js.map +1 -1
  73. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  74. package/dist/analyzer/sourceMapper.js.map +1 -1
  75. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  76. package/dist/analyzer/staticExpressions.js.map +1 -1
  77. package/dist/analyzer/symbol.js.map +1 -1
  78. package/dist/analyzer/symbolNameUtils.js.map +1 -1
  79. package/dist/analyzer/symbolUtils.js.map +1 -1
  80. package/dist/analyzer/testWalker.js.map +1 -1
  81. package/dist/analyzer/tracePrinter.js.map +1 -1
  82. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  83. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  84. package/dist/analyzer/typeEvaluator.js +433 -334
  85. package/dist/analyzer/typeEvaluator.js.map +1 -1
  86. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
  87. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  88. package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
  89. package/dist/analyzer/typeGuards.js +10 -5
  90. package/dist/analyzer/typeGuards.js.map +1 -1
  91. package/dist/analyzer/typePrinter.js +1 -1
  92. package/dist/analyzer/typePrinter.js.map +1 -1
  93. package/dist/analyzer/typeStubWriter.js.map +1 -1
  94. package/dist/analyzer/typeUtils.d.ts +0 -1
  95. package/dist/analyzer/typeUtils.js +22 -8
  96. package/dist/analyzer/typeUtils.js.map +1 -1
  97. package/dist/analyzer/typeVarContext.d.ts +2 -2
  98. package/dist/analyzer/typeVarContext.js +10 -4
  99. package/dist/analyzer/typeVarContext.js.map +1 -1
  100. package/dist/analyzer/typeWalker.js.map +1 -1
  101. package/dist/analyzer/typedDicts.d.ts +6 -3
  102. package/dist/analyzer/typedDicts.js +292 -65
  103. package/dist/analyzer/typedDicts.js.map +1 -1
  104. package/dist/analyzer/types.d.ts +38 -26
  105. package/dist/analyzer/types.js +99 -72
  106. package/dist/analyzer/types.js.map +1 -1
  107. package/dist/backgroundAnalysis.js.map +1 -1
  108. package/dist/backgroundAnalysisBase.js.map +1 -1
  109. package/dist/backgroundThreadBase.js.map +1 -1
  110. package/dist/commands/commandController.js.map +1 -1
  111. package/dist/commands/commandResult.js.map +1 -1
  112. package/dist/commands/commands.js.map +1 -1
  113. package/dist/commands/createTypeStub.js.map +1 -1
  114. package/dist/commands/dumpFileDebugInfoCommand.js +18 -18
  115. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  116. package/dist/commands/quickActionCommand.js.map +1 -1
  117. package/dist/commands/restartServer.js.map +1 -1
  118. package/dist/common/cancellationUtils.d.ts +6 -1
  119. package/dist/common/cancellationUtils.js +18 -4
  120. package/dist/common/cancellationUtils.js.map +1 -1
  121. package/dist/common/charCodes.js.map +1 -1
  122. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  123. package/dist/common/collectionUtils.js.map +1 -1
  124. package/dist/common/commandLineOptions.js.map +1 -1
  125. package/dist/common/commandUtils.js.map +1 -1
  126. package/dist/common/configOptions.js.map +1 -1
  127. package/dist/common/console.js.map +1 -1
  128. package/dist/common/core.js.map +1 -1
  129. package/dist/common/crypto.js.map +1 -1
  130. package/dist/common/debug.js.map +1 -1
  131. package/dist/common/deferred.js.map +1 -1
  132. package/dist/common/diagnostic.js.map +1 -1
  133. package/dist/common/diagnosticRules.js.map +1 -1
  134. package/dist/common/diagnosticSink.js.map +1 -1
  135. package/dist/common/editAction.js.map +1 -1
  136. package/dist/common/envVarUtils.d.ts +2 -1
  137. package/dist/common/envVarUtils.js +5 -1
  138. package/dist/common/envVarUtils.js.map +1 -1
  139. package/dist/common/extensibility.js.map +1 -1
  140. package/dist/common/extensions.js.map +1 -1
  141. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  142. package/dist/common/fileSystem.js.map +1 -1
  143. package/dist/common/fileWatcher.js.map +1 -1
  144. package/dist/common/fullAccessHost.js +1 -1
  145. package/dist/common/fullAccessHost.js.map +1 -1
  146. package/dist/common/host.js.map +1 -1
  147. package/dist/common/logTracker.js.map +1 -1
  148. package/dist/common/lspUtils.js.map +1 -1
  149. package/dist/common/memUtils.js.map +1 -1
  150. package/dist/common/pathConsts.js.map +1 -1
  151. package/dist/common/pathUtils.js.map +1 -1
  152. package/dist/common/positionUtils.js.map +1 -1
  153. package/dist/common/progressReporter.js.map +1 -1
  154. package/dist/common/pythonVersion.js.map +1 -1
  155. package/dist/common/realFileSystem.js +1 -1
  156. package/dist/common/realFileSystem.js.map +1 -1
  157. package/dist/common/serviceProvider.js.map +1 -1
  158. package/dist/common/serviceProviderExtensions.js.map +1 -1
  159. package/dist/common/stringUtils.js.map +1 -1
  160. package/dist/common/textEditTracker.js.map +1 -1
  161. package/dist/common/textRange.js.map +1 -1
  162. package/dist/common/textRangeCollection.js.map +1 -1
  163. package/dist/common/timing.js.map +1 -1
  164. package/dist/common/uri/baseUri.d.ts +2 -0
  165. package/dist/common/uri/baseUri.js +7 -7
  166. package/dist/common/uri/baseUri.js.map +1 -1
  167. package/dist/common/uri/emptyUri.d.ts +2 -0
  168. package/dist/common/uri/emptyUri.js +6 -0
  169. package/dist/common/uri/emptyUri.js.map +1 -1
  170. package/dist/common/uri/fileUri.d.ts +6 -4
  171. package/dist/common/uri/fileUri.js +18 -9
  172. package/dist/common/uri/fileUri.js.map +1 -1
  173. package/dist/common/uri/memoization.js.map +1 -1
  174. package/dist/common/uri/uri.d.ts +8 -0
  175. package/dist/common/uri/uri.js +16 -7
  176. package/dist/common/uri/uri.js.map +1 -1
  177. package/dist/common/uri/uriUtils.js.map +1 -1
  178. package/dist/common/uri/webUri.d.ts +3 -1
  179. package/dist/common/uri/webUri.js +21 -8
  180. package/dist/common/uri/webUri.js.map +1 -1
  181. package/dist/common/workspaceEditUtils.js.map +1 -1
  182. package/dist/languageServerBase.js.map +1 -1
  183. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  184. package/dist/languageService/autoImporter.d.ts +1 -0
  185. package/dist/languageService/autoImporter.js +3 -1
  186. package/dist/languageService/autoImporter.js.map +1 -1
  187. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  188. package/dist/languageService/codeActionProvider.js.map +1 -1
  189. package/dist/languageService/completionProvider.js +11 -3
  190. package/dist/languageService/completionProvider.js.map +1 -1
  191. package/dist/languageService/completionProviderUtils.js.map +1 -1
  192. package/dist/languageService/definitionProvider.js.map +1 -1
  193. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  194. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  195. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  196. package/dist/languageService/hoverProvider.js +1 -1
  197. package/dist/languageService/hoverProvider.js.map +1 -1
  198. package/dist/languageService/importSorter.js.map +1 -1
  199. package/dist/languageService/navigationUtils.js.map +1 -1
  200. package/dist/languageService/quickActions.js.map +1 -1
  201. package/dist/languageService/referencesProvider.js +11 -1
  202. package/dist/languageService/referencesProvider.js.map +1 -1
  203. package/dist/languageService/renameProvider.js.map +1 -1
  204. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  205. package/dist/languageService/symbolIndexer.js.map +1 -1
  206. package/dist/languageService/tooltipUtils.js.map +1 -1
  207. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  208. package/dist/localization/localize.d.ts +45 -3
  209. package/dist/localization/localize.js +16 -3
  210. package/dist/localization/localize.js.map +1 -1
  211. package/dist/localization/package.nls.cs.json +15 -9
  212. package/dist/localization/package.nls.de.json +17 -11
  213. package/dist/localization/package.nls.en-us.json +25 -12
  214. package/dist/localization/package.nls.es.json +16 -10
  215. package/dist/localization/package.nls.fr.json +16 -10
  216. package/dist/localization/package.nls.it.json +16 -10
  217. package/dist/localization/package.nls.ja.json +17 -11
  218. package/dist/localization/package.nls.ko.json +14 -8
  219. package/dist/localization/package.nls.pl.json +14 -8
  220. package/dist/localization/package.nls.pt-br.json +17 -11
  221. package/dist/localization/package.nls.qps-ploc.json +12 -6
  222. package/dist/localization/package.nls.ru.json +17 -11
  223. package/dist/localization/package.nls.tr.json +16 -10
  224. package/dist/localization/package.nls.zh-cn.json +17 -11
  225. package/dist/localization/package.nls.zh-tw.json +17 -11
  226. package/dist/nodeMain.js.map +1 -1
  227. package/dist/nodeServer.js.map +1 -1
  228. package/dist/parser/characterStream.js.map +1 -1
  229. package/dist/parser/characters.js.map +1 -1
  230. package/dist/parser/parseNodes.js.map +1 -1
  231. package/dist/parser/parser.js.map +1 -1
  232. package/dist/parser/stringTokenUtils.js.map +1 -1
  233. package/dist/parser/tokenizer.js.map +1 -1
  234. package/dist/parser/tokenizerTypes.js.map +1 -1
  235. package/dist/parser/unicode.js.map +1 -1
  236. package/dist/pprof/profiler.js.map +1 -1
  237. package/dist/pyright.js.map +1 -1
  238. package/dist/pyrightFileSystem.js.map +1 -1
  239. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  240. package/dist/server.d.ts +2 -1
  241. package/dist/server.js +9 -7
  242. package/dist/server.js.map +1 -1
  243. package/dist/tests/cacheManager.test.js.map +1 -1
  244. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  245. package/dist/tests/checker.test.js +0 -4
  246. package/dist/tests/checker.test.js.map +1 -1
  247. package/dist/tests/classDeclaration.test.js.map +1 -1
  248. package/dist/tests/collectionUtils.test.js.map +1 -1
  249. package/dist/tests/common.test.js.map +1 -1
  250. package/dist/tests/completions.test.js +23 -0
  251. package/dist/tests/completions.test.js.map +1 -1
  252. package/dist/tests/config.test.js +1 -2
  253. package/dist/tests/config.test.js.map +1 -1
  254. package/dist/tests/debug.test.js.map +1 -1
  255. package/dist/tests/deferred.test.js.map +1 -1
  256. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  257. package/dist/tests/diagnostics.test.js.map +1 -1
  258. package/dist/tests/docStringConversion.test.js.map +1 -1
  259. package/dist/tests/docStringUtils.test.js.map +1 -1
  260. package/dist/tests/documentSymbolCollector.test.js.map +1 -1
  261. package/dist/tests/envVarUtils.test.d.ts +1 -0
  262. package/dist/tests/envVarUtils.test.js +130 -0
  263. package/dist/tests/envVarUtils.test.js.map +1 -0
  264. package/dist/tests/filesystem.test.js.map +1 -1
  265. package/dist/tests/fourSlashParser.test.js.map +1 -1
  266. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  267. package/dist/tests/fourslash/completions.autoimport.Lib.Found.Type.fourslash.js.map +1 -1
  268. package/dist/tests/fourslash/completions.autoimport.Lib.Found.duplication.fourslash.js.map +1 -1
  269. package/dist/tests/fourslash/completions.autoimport.Lib.NotFound.fourslash.js.map +1 -1
  270. package/dist/tests/fourslash/completions.autoimport.disabled.fourslash.js.map +1 -1
  271. package/dist/tests/fourslash/completions.autoimport.duplicates.fourslash.js.map +1 -1
  272. package/dist/tests/fourslash/completions.autoimport.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/completions.autoimport.fromImport.fourslash.js.map +1 -1
  274. package/dist/tests/fourslash/completions.autoimport.lib.alias.fourslash.js.map +1 -1
  275. package/dist/tests/fourslash/completions.autoimport.plainText.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  277. package/dist/tests/fourslash/completions.autoimport.submodule.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/completions.autoimport.topLevel.fourslash.js.map +1 -1
  279. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/completions.builtinOverride.fourslash.js.map +1 -1
  281. package/dist/tests/fourslash/completions.call.stringLiteral.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  283. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  284. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  285. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  286. package/dist/tests/fourslash/completions.comment.fourslash.js.map +1 -1
  287. package/dist/tests/fourslash/completions.declNames.class.fourslash.js.map +1 -1
  288. package/dist/tests/fourslash/completions.declNames.exception.fourslash.js.map +1 -1
  289. package/dist/tests/fourslash/completions.declNames.for.fourslash.js.map +1 -1
  290. package/dist/tests/fourslash/completions.declNames.importAlias.fourslash.js.map +1 -1
  291. package/dist/tests/fourslash/completions.declNames.lambda.fourslash.js.map +1 -1
  292. package/dist/tests/fourslash/completions.declNames.method.fourslash.js.map +1 -1
  293. package/dist/tests/fourslash/completions.declNames.overload.fourslash.js.map +1 -1
  294. package/dist/tests/fourslash/completions.declNames.topLevelOverload.fourslash.js.map +1 -1
  295. package/dist/tests/fourslash/completions.dictionary.keys.complex.fourslash.js.map +1 -1
  296. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  297. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  298. package/dist/tests/fourslash/completions.dictionary.keys.simple.fourslash.js.map +1 -1
  299. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  300. package/dist/tests/fourslash/completions.dictionary.keys.symbols.fourslash.js.map +1 -1
  301. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -1
  302. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -1
  303. package/dist/tests/fourslash/completions.enums.members.fourslash.js.map +1 -1
  304. package/dist/tests/fourslash/completions.errorNodes.fourslash.js.map +1 -1
  305. package/dist/tests/fourslash/completions.excluded.fourslash.js.map +1 -1
  306. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  307. package/dist/tests/fourslash/completions.fstring.fourslash.js.map +1 -1
  308. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  309. package/dist/tests/fourslash/completions.fuzzyMatching.fourslash.js.map +1 -1
  310. package/dist/tests/fourslash/completions.importDunderNames.fourslash.js.map +1 -1
  311. package/dist/tests/fourslash/completions.importInterimFile.fourslash.disabled.js.map +1 -1
  312. package/dist/tests/fourslash/completions.importPrivateNoPytyped.fourslash.js.map +1 -1
  313. package/dist/tests/fourslash/completions.importPytyped.fourslash.js.map +1 -1
  314. package/dist/tests/fourslash/completions.importPytypedLocal.fourslash.js.map +1 -1
  315. package/dist/tests/fourslash/completions.importSubmodule.fourslash.js.map +1 -1
  316. package/dist/tests/fourslash/completions.importsDuplicates.fourslash.js.map +1 -1
  317. package/dist/tests/fourslash/completions.inList.fourslash.js.map +1 -1
  318. package/dist/tests/fourslash/completions.included.fourslash.js.map +1 -1
  319. package/dist/tests/fourslash/completions.indexer.keys.getitem.fourslash.js.map +1 -1
  320. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  321. package/dist/tests/fourslash/completions.inherited.overload.docFromScrWithStub.fourslash.js.map +1 -1
  322. package/dist/tests/fourslash/completions.inherited.overload.docFromStub.fourslash.js.map +1 -1
  323. package/dist/tests/fourslash/completions.inherited.property.docFromSrc.fourslash.js.map +1 -1
  324. package/dist/tests/fourslash/completions.inherited.property.docFromStub.fourslash.js.map +1 -1
  325. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  326. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  327. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  328. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  329. package/dist/tests/fourslash/completions.literals.fourslash.js.map +1 -1
  330. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  331. package/dist/tests/fourslash/completions.moduleContext.UnknownMemberOnInstance.fourslash.js.map +1 -1
  332. package/dist/tests/fourslash/completions.moduleContext.UnknownStaticFunctionOnClass.fourslash.js.map +1 -1
  333. package/dist/tests/fourslash/completions.moduleContext.libCodeNoStub.fourslash.js.map +1 -1
  334. package/dist/tests/fourslash/completions.overloads.fourslash.js.map +1 -1
  335. package/dist/tests/fourslash/completions.override.default.fourslash.js.map +1 -1
  336. package/dist/tests/fourslash/completions.override.default.importStub.js.map +1 -1
  337. package/dist/tests/fourslash/completions.override.default.imported.fourslash.js.map +1 -1
  338. package/dist/tests/fourslash/completions.override.default.stub.fourslash.js.map +1 -1
  339. package/dist/tests/fourslash/completions.override.fourslash.js.map +1 -1
  340. package/dist/tests/fourslash/completions.override.property.fourslash.js.map +1 -1
  341. package/dist/tests/fourslash/completions.override.property.stub.fourslash.js.map +1 -1
  342. package/dist/tests/fourslash/completions.override.staticAndClassmethod.fourslash.js.map +1 -1
  343. package/dist/tests/fourslash/completions.override.stub.fourslash.js.map +1 -1
  344. package/dist/tests/fourslash/completions.override2.fourslash.js.map +1 -1
  345. package/dist/tests/fourslash/completions.parameters.fourslash.js.map +1 -1
  346. package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
  347. package/dist/tests/fourslash/completions.parentFolder.fourslash.js.map +1 -1
  348. package/dist/tests/fourslash/completions.parentFolders.fourslash.js.map +1 -1
  349. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  350. package/dist/tests/fourslash/completions.private.fourslash.js.map +1 -1
  351. package/dist/tests/fourslash/completions.property.fourslash.js.map +1 -1
  352. package/dist/tests/fourslash/completions.propertyDocStrings.fourslash.js.map +1 -1
  353. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  354. package/dist/tests/fourslash/completions.stringLiteral.escape.fourslash.js.map +1 -1
  355. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  356. package/dist/tests/fourslash/completions.triggers.fourslash.js.map +1 -1
  357. package/dist/tests/fourslash/completions.typeAlias.fourslash.js.map +1 -1
  358. package/dist/tests/fourslash/completions.typeshed.fourslash.js.map +1 -1
  359. package/dist/tests/fourslash/completions.vardecls.fourslash.js.map +1 -1
  360. package/dist/tests/fourslash/completions.variableDocStrings.fourslash.js.map +1 -1
  361. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  362. package/dist/tests/fourslash/completions.with.fourslash.js.map +1 -1
  363. package/dist/tests/fourslash/diagnostics.missingModuleSource.fourslash.js.map +1 -1
  364. package/dist/tests/fourslash/findDefinitions.builtinClass.fourslash.js.map +1 -1
  365. package/dist/tests/fourslash/findDefinitions.classes.fourslash.js.map +1 -1
  366. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.fourslash.js.map +1 -1
  367. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferSource.onlyStubs.js.map +1 -1
  368. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.fourslash.js.map +1 -1
  369. package/dist/tests/fourslash/findDefinitions.definitionFilter.preferStub.onlySource.fourslash.js.map +1 -1
  370. package/dist/tests/fourslash/findDefinitions.fields.fourslash.js.map +1 -1
  371. package/dist/tests/fourslash/findDefinitions.functions.fourslash.js.map +1 -1
  372. package/dist/tests/fourslash/findDefinitions.methods.fourslash.js.map +1 -1
  373. package/dist/tests/fourslash/findDefinitions.modules.fourslash.js.map +1 -1
  374. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  375. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -1
  376. package/dist/tests/fourslash/findDefinitions.overloads.fourslash.js.map +1 -1
  377. package/dist/tests/fourslash/findDefinitions.parameters.fourslash.js.map +1 -1
  378. package/dist/tests/fourslash/findDefinitions.sourceAndStub.function.fourslash.js.map +1 -1
  379. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClass.fourslash.js.map +1 -1
  380. package/dist/tests/fourslash/findDefinitions.sourceAndStub.innerClassMethod.fourslash.js.map +1 -1
  381. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClass.fourslash.js.map +1 -1
  382. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassMethod.fourslash.js.map +1 -1
  383. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadOnly.fourslash.js.map +1 -1
  384. package/dist/tests/fourslash/findDefinitions.sourceAndStub.outerClassPropertyReadWrite.fourslash.js.map +1 -1
  385. package/dist/tests/fourslash/findDefinitions.sourceOnly.class.fourslash.js.map +1 -1
  386. package/dist/tests/fourslash/findDefinitions.sourceOnly.function1.fourslash.js.map +1 -1
  387. package/dist/tests/fourslash/findDefinitions.sourceOnly.function2.fourslash.js.map +1 -1
  388. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport1.fourslash.js.map +1 -1
  389. package/dist/tests/fourslash/findDefinitions.sourceOnly.relativeImport2.fourslash.js.map +1 -1
  390. package/dist/tests/fourslash/findDefinitions.stubOnly.fourslash.js.map +1 -1
  391. package/dist/tests/fourslash/findDefinitions.stubPackages.fourslash.js.map +1 -1
  392. package/dist/tests/fourslash/findDefinitions.typedDict.keys.fourslash.js.map +1 -1
  393. package/dist/tests/fourslash/findDefinitions.variables.fourslash.js.map +1 -1
  394. package/dist/tests/fourslash/findDefinitions.wildcardimports.fourslash.js.map +1 -1
  395. package/dist/tests/fourslash/findTypeDefinitions.builtinClass.fourslash.js.map +1 -1
  396. package/dist/tests/fourslash/findTypeDefinitions.classes.fourslash.js.map +1 -1
  397. package/dist/tests/fourslash/findTypeDefinitions.unions.fourslash.js.map +1 -1
  398. package/dist/tests/fourslash/findallreferences.classPropertyReadWrite.js.map +1 -1
  399. package/dist/tests/fourslash/findallreferences.fourslash.js.map +1 -1
  400. package/dist/tests/fourslash/findallreferences.importalias.fourslash.js.map +1 -1
  401. package/dist/tests/fourslash/findallreferences.invokedFromLibrary.fourslash.js.map +1 -1
  402. package/dist/tests/fourslash/findallreferences.module.nested.fourslash.js.map +1 -1
  403. package/dist/tests/fourslash/findallreferences.modules.duplicated.fourslash.js.map +1 -1
  404. package/dist/tests/fourslash/findallreferences.modules.fourslash.js.map +1 -1
  405. package/dist/tests/fourslash/findallreferences.modules.shadow.fourslash.js.map +1 -1
  406. package/dist/tests/fourslash/findallreferences.openFiles.fourslash.js.map +1 -1
  407. package/dist/tests/fourslash/findallreferences.parameter.fourslash.js.map +1 -1
  408. package/dist/tests/fourslash/findallreferences.sourceAndStub.class.fourslash.js.map +1 -1
  409. package/dist/tests/fourslash/findallreferences.sourceAndStub.classMethod.fourslash.js.map +1 -1
  410. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadOnly.fourslash.js.map +1 -1
  411. package/dist/tests/fourslash/findallreferences.sourceAndStub.classPropertyReadWrite.fourslash.skip.js.map +1 -1
  412. package/dist/tests/fourslash/findallreferences.sourceAndStub.function.fourslash.js.map +1 -1
  413. package/dist/tests/fourslash/findallreferences.variable.fourslash.js.map +1 -1
  414. package/dist/tests/fourslash/fourslash.js.map +1 -1
  415. package/dist/tests/fourslash/highlightreferences.attributes.fourslash.js.map +1 -1
  416. package/dist/tests/fourslash/hover.async.fourslash.js.map +1 -1
  417. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  418. package/dist/tests/fourslash/hover.class.docString.fourslash.js.map +1 -1
  419. package/dist/tests/fourslash/hover.classNoInit.fourslash.js.map +1 -1
  420. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  421. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  422. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  423. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  424. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  425. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  426. package/dist/tests/fourslash/hover.docFromSrc.stringFormat.fourslash.js.map +1 -1
  427. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  428. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  429. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
  430. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  431. package/dist/tests/fourslash/hover.docstring.overloads.fourslash.js.map +1 -1
  432. package/dist/tests/fourslash/hover.docstring.parameter.fourslash.js.map +1 -1
  433. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  434. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -1
  435. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -1
  436. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -1
  437. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -1
  438. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -1
  439. package/dist/tests/fourslash/hover.formatted.fourslash.js.map +1 -1
  440. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  441. package/dist/tests/fourslash/hover.import.django.view.fourslash.js.map +1 -1
  442. package/dist/tests/fourslash/hover.import.fourslash.js.map +1 -1
  443. package/dist/tests/fourslash/hover.inferred.fourslash.js.map +1 -1
  444. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  445. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  446. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  447. package/dist/tests/fourslash/hover.inherited.overload.docFromSrcWithStub.fourslash.js.map +1 -1
  448. package/dist/tests/fourslash/hover.inherited.overload.docFromStub.fourslash.js.map +1 -1
  449. package/dist/tests/fourslash/hover.inherited.property.docFromSrcWithStub.fourslash.js.map +1 -1
  450. package/dist/tests/fourslash/hover.inherited.property.docFromStub.fourslash.js.map +1 -1
  451. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  452. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  453. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  454. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  455. package/dist/tests/fourslash/hover.optionalAliasParameter.fourslash.js.map +1 -1
  456. package/dist/tests/fourslash/hover.overloadedFunction.fourslash.js.map +1 -1
  457. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  458. package/dist/tests/fourslash/hover.slots.fourslash.js.map +1 -1
  459. package/dist/tests/fourslash/hover.typedDict.key.fourslash.js.map +1 -1
  460. package/dist/tests/fourslash/hover.unpackedTypedDict.key.fourslash.js.map +1 -1
  461. package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
  462. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  463. package/dist/tests/fourslash/import.multipart.fourslash.js.map +1 -1
  464. package/dist/tests/fourslash/import.publicSymbols.fourslash.js.map +1 -1
  465. package/dist/tests/fourslash/import.pytyped.dunderAll.fourslash.js.map +1 -1
  466. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  467. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  468. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  469. package/dist/tests/fourslash/import.wildcard.fourslash.js.map +1 -1
  470. package/dist/tests/fourslash/importnotresolved.fourslash.js.map +1 -1
  471. package/dist/tests/fourslash/missingModuleSource.disablingInStrictMode.fourslash.js.map +1 -1
  472. package/dist/tests/fourslash/missingModuleSource.fourslash.js.map +1 -1
  473. package/dist/tests/fourslash/missingTypeStub.codeAction.fourslash.js.map +1 -1
  474. package/dist/tests/fourslash/missingTypeStub.command.multipart.fourslash.js.map +1 -1
  475. package/dist/tests/fourslash/missingTypeStub.command.singlefile.fourslash.js.map +1 -1
  476. package/dist/tests/fourslash/missingTypeStub.command.singlepart.fourslash.js.map +1 -1
  477. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -1
  478. package/dist/tests/fourslash/missingTypeStub.fourslash.js.map +1 -1
  479. package/dist/tests/fourslash/missingTypeStub.invokeCodeAction.fourslash.js.map +1 -1
  480. package/dist/tests/fourslash/noerrors.fourslash.js.map +1 -1
  481. package/dist/tests/fourslash/orderImports1.command.fourslash.js.map +1 -1
  482. package/dist/tests/fourslash/orderImports2.command.fourslash.js.map +1 -1
  483. package/dist/tests/fourslash/rename.externallyHidden.fourslash.js.map +1 -1
  484. package/dist/tests/fourslash/rename.externallyHidden.params.fourslash.js.map +1 -1
  485. package/dist/tests/fourslash/rename.fourslash.js.map +1 -1
  486. package/dist/tests/fourslash/rename.function.untitledFile.fourslash.js.map +1 -1
  487. package/dist/tests/fourslash/rename.init.fourslash.js.map +1 -1
  488. package/dist/tests/fourslash/rename.library.fourslash.js.map +1 -1
  489. package/dist/tests/fourslash/rename.library.sourceAndStub.fourslash.js.map +1 -1
  490. package/dist/tests/fourslash/rename.multipleDecl.fourslash.d.ts +1 -1
  491. package/dist/tests/fourslash/rename.multipleDecl.fourslash.js.map +1 -1
  492. package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -1
  493. package/dist/tests/fourslash/rename.sourceAndStub.fourslash.js.map +1 -1
  494. package/dist/tests/fourslash/rename.string.excluded.fourslash.js.map +1 -1
  495. package/dist/tests/fourslash/rename.string.fourslash.js.map +1 -1
  496. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -1
  497. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedFunction.fourslash.js.map +1 -1
  498. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.aliasedVariable.fourslash.js.map +1 -1
  499. package/dist/tests/fourslash/showcallhierarchy.incomingCalls.function.fourslash.js.map +1 -1
  500. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction1.fourslash.js.map +1 -1
  501. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.aliasedFunction2.fourslash.js.map +1 -1
  502. package/dist/tests/fourslash/showcallhierarchy.outgoingCalls.function.fourslash.js.map +1 -1
  503. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  504. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  505. package/dist/tests/fourslash/signature.cornercases.fourslash.js.map +1 -1
  506. package/dist/tests/fourslash/signature.docstrings.fourslash.js.map +1 -1
  507. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  508. package/dist/tests/fourslash/signature.docstrings.wildcardimports.fourslash.js.map +1 -1
  509. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -1
  510. package/dist/tests/fourslash/signature.overload.fourslash.js.map +1 -1
  511. package/dist/tests/fourslash/signature.simple.fourslash.js.map +1 -1
  512. package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -1
  513. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  514. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  515. package/dist/tests/harness/fourslash/runner.js +1 -1
  516. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  517. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  518. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  519. package/dist/tests/harness/fourslash/testState.d.ts +0 -13
  520. package/dist/tests/harness/fourslash/testState.js +11 -0
  521. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  522. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  523. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  524. package/dist/tests/harness/testAccessHost.js.map +1 -1
  525. package/dist/tests/harness/testHost.js.map +1 -1
  526. package/dist/tests/harness/utils.js.map +1 -1
  527. package/dist/tests/harness/vfs/factory.js.map +1 -1
  528. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  529. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  530. package/dist/tests/hoverProvider.test.js.map +1 -1
  531. package/dist/tests/importResolver.test.js.map +1 -1
  532. package/dist/tests/importStatementUtils.test.js +8 -0
  533. package/dist/tests/importStatementUtils.test.js.map +1 -1
  534. package/dist/tests/ipythonMode.test.js.map +1 -1
  535. package/dist/tests/languageServer.test.d.ts +1 -0
  536. package/dist/tests/languageServer.test.js +137 -0
  537. package/dist/tests/languageServer.test.js.map +1 -0
  538. package/dist/tests/localizer.test.js.map +1 -1
  539. package/dist/tests/logger.test.js.map +1 -1
  540. package/dist/tests/lsp/customLsp.d.ts +112 -0
  541. package/dist/tests/lsp/customLsp.js +67 -0
  542. package/dist/tests/lsp/customLsp.js.map +1 -0
  543. package/dist/tests/lsp/languageServer.d.ts +1 -0
  544. package/dist/tests/lsp/languageServer.js +326 -0
  545. package/dist/tests/lsp/languageServer.js.map +1 -0
  546. package/dist/tests/lsp/languageServerTestUtils.d.ts +100 -0
  547. package/dist/tests/lsp/languageServerTestUtils.js +803 -0
  548. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -0
  549. package/dist/tests/lsp/main.d.ts +1 -0
  550. package/dist/tests/lsp/main.js +12 -0
  551. package/dist/tests/lsp/main.js.map +1 -0
  552. package/dist/tests/lsp/webpack.testserver.config.d.ts +4 -0
  553. package/dist/tests/lsp/webpack.testserver.config.js +64 -0
  554. package/dist/tests/lsp/webpack.testserver.config.js.map +1 -0
  555. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  556. package/dist/tests/parser.test.js.map +1 -1
  557. package/dist/tests/pathUtils.test.js.map +1 -1
  558. package/dist/tests/positionUtils.test.js.map +1 -1
  559. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  560. package/dist/tests/serialization.test.js.map +1 -1
  561. package/dist/tests/service.test.js.map +1 -1
  562. package/dist/tests/signatureHelp.test.js.map +1 -1
  563. package/dist/tests/sourceFile.test.js.map +1 -1
  564. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  565. package/dist/tests/stringUtils.test.js.map +1 -1
  566. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  567. package/dist/tests/testState.test.js.map +1 -1
  568. package/dist/tests/testStateUtils.js.map +1 -1
  569. package/dist/tests/testUtils.js.map +1 -1
  570. package/dist/tests/textEditUtil.test.js.map +1 -1
  571. package/dist/tests/textRange.test.js.map +1 -1
  572. package/dist/tests/tokenizer.test.js.map +1 -1
  573. package/dist/tests/typeEvaluator1.test.js +21 -5
  574. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  575. package/dist/tests/typeEvaluator2.test.js +8 -4
  576. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  577. package/dist/tests/typeEvaluator3.test.js +5 -9
  578. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  579. package/dist/tests/typeEvaluator4.test.js +1 -1
  580. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  581. package/dist/tests/typeEvaluator5.test.js +43 -1
  582. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  583. package/dist/tests/typePrinter.test.js.map +1 -1
  584. package/dist/tests/uri.test.js +74 -26
  585. package/dist/tests/uri.test.js.map +1 -1
  586. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  587. package/dist/tests/zipfs.test.js.map +1 -1
  588. package/dist/workspaceFactory.js +2 -1
  589. package/dist/workspaceFactory.js.map +1 -1
  590. package/package.json +23 -15
  591. package/dist/analyzer/regions.d.ts +0 -11
  592. package/dist/analyzer/regions.js +0 -62
  593. package/dist/analyzer/regions.js.map +0 -1
@@ -0,0 +1,326 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.run = void 0;
27
+ /*
28
+ * languageServer.ts
29
+ * Copyright (c) Microsoft Corporation.
30
+ * Licensed under the MIT license.
31
+ *
32
+ * Test language server wrapper that lets us run the language server during a test.
33
+ */
34
+ const node_1 = require("vscode-languageserver/node");
35
+ const worker_threads_1 = require("worker_threads");
36
+ const deferred_1 = require("../../common/deferred");
37
+ const pathUtils_1 = require("../../common/pathUtils");
38
+ const serviceProvider_1 = require("../../common/serviceProvider");
39
+ const uri_1 = require("../../common/uri/uri");
40
+ const fourSlashParser_1 = require("../harness/fourslash/fourSlashParser");
41
+ const PyrightTestHost = __importStar(require("../harness/testHost"));
42
+ const factory_1 = require("../harness/vfs/factory");
43
+ const backgroundAnalysis_1 = require("../../backgroundAnalysis");
44
+ const backgroundThreadBase_1 = require("../../backgroundThreadBase");
45
+ const serviceProviderExtensions_1 = require("../../common/serviceProviderExtensions");
46
+ const pyrightFileSystem_1 = require("../../pyrightFileSystem");
47
+ const server_1 = require("../../server");
48
+ const customLsp_1 = require("./customLsp");
49
+ const languageServerTestUtils_1 = require("./languageServerTestUtils");
50
+ const WORKER_STARTED = 'WORKER_STARTED';
51
+ const WORKER_BACKGROUND_DATA = 'WORKER_BACKGROUND_DATA';
52
+ function getCommonRoot(files) {
53
+ var _a;
54
+ let root = ((_a = files[0]) === null || _a === void 0 ? void 0 : _a.getPath()) || languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT;
55
+ for (let i = 1; i < files.length; i++) {
56
+ const file = files[i];
57
+ while (root.length > 0 && !file.pathStartsWith(root)) {
58
+ root = root.slice(0, root.lastIndexOf('/'));
59
+ }
60
+ }
61
+ return root;
62
+ }
63
+ class TestPyrightHost {
64
+ constructor(_host) {
65
+ this._host = _host;
66
+ }
67
+ useCaseSensitiveFileNames() {
68
+ return this._host.useCaseSensitiveFileNames();
69
+ }
70
+ getAccessibleFileSystemEntries(dirname) {
71
+ return this._host.getAccessibleFileSystemEntries(dirname);
72
+ }
73
+ directoryExists(path) {
74
+ return this._host.directoryExists(path);
75
+ }
76
+ fileExists(fileName) {
77
+ return this._host.fileExists(fileName);
78
+ }
79
+ getFileSize(path) {
80
+ return this._host.getFileSize(path);
81
+ }
82
+ readFile(path) {
83
+ return this._host.readFile(path);
84
+ }
85
+ getWorkspaceRoot() {
86
+ // The default workspace root is wrong. It should be based on where the bundle is running.
87
+ // That's where the typeshed fallback and other bundled files are located.
88
+ return (0, pathUtils_1.resolvePaths)(__dirname);
89
+ }
90
+ writeFile(path, contents) {
91
+ this._host.writeFile(path, contents);
92
+ }
93
+ listFiles(path, filter, options) {
94
+ return this._host.listFiles(path, filter, options);
95
+ }
96
+ log(text) {
97
+ this._host.log(text);
98
+ }
99
+ }
100
+ function createTestHost(testServerData) {
101
+ const scriptOutput = '';
102
+ const runScript = async (pythonPath, scriptPath, args, cwd, token) => {
103
+ return { stdout: scriptOutput, stderr: '', exitCode: 0 };
104
+ };
105
+ const options = new languageServerTestUtils_1.TestHostOptions({ version: testServerData.pythonVersion, runScript });
106
+ const projectRootPaths = testServerData.projectRoots.map((p) => (0, languageServerTestUtils_1.getFileLikePath)(p));
107
+ const testData = (0, fourSlashParser_1.parseTestData)(testServerData.projectRoots.length === 1 ? projectRootPaths[0] : languageServerTestUtils_1.DEFAULT_WORKSPACE_ROOT, testServerData.code, 'noname.py');
108
+ const commonRoot = getCommonRoot(testServerData.projectRoots);
109
+ // Make sure global variables from previous tests are cleared.
110
+ (0, factory_1.clearCache)();
111
+ // create a test file system using the test data.
112
+ const fs = (0, languageServerTestUtils_1.createFileSystem)(commonRoot, testData, new TestPyrightHost(PyrightTestHost.HOST));
113
+ return new languageServerTestUtils_1.TestHost(fs, fs, testData, projectRootPaths, options);
114
+ }
115
+ class TestServer extends server_1.PyrightServer {
116
+ constructor(connection, fs, _supportsBackgroundAnalysis) {
117
+ super(connection, fs);
118
+ this._supportsBackgroundAnalysis = _supportsBackgroundAnalysis;
119
+ }
120
+ test_onDidChangeWatchedFiles(params) {
121
+ this.onDidChangeWatchedFiles(params);
122
+ }
123
+ async updateSettingsForWorkspace(workspace, status, serverSettings) {
124
+ const result = await super.updateSettingsForWorkspace(workspace, status, serverSettings);
125
+ // LSP notification only allows synchronous callback. because of that, the one that sent the notification can't know
126
+ // when the work caused by the notification actually ended. To workaround that issue, we will send custom lsp to indicate
127
+ // something has been done.
128
+ customLsp_1.CustomLSP.sendNotification(this.connection, customLsp_1.CustomLSP.Notifications.TestSignal, {
129
+ uri: workspace.rootUri.toString(),
130
+ kind: customLsp_1.CustomLSP.TestSignalKinds.Initialization,
131
+ });
132
+ return result;
133
+ }
134
+ createBackgroundAnalysis(serviceId) {
135
+ if (this._supportsBackgroundAnalysis) {
136
+ return new backgroundAnalysis_1.BackgroundAnalysis(this.serverOptions.serviceProvider);
137
+ }
138
+ return undefined;
139
+ }
140
+ }
141
+ async function runServer(testServerData, reader, writer, connectionFactory) {
142
+ // Create connection back to the client first.
143
+ const connection = connectionFactory(reader, writer);
144
+ // Fixup the input data.
145
+ testServerData = {
146
+ ...testServerData,
147
+ projectRoots: testServerData.projectRoots.map((p) => uri_1.Uri.fromJsonObj(p)),
148
+ logFile: uri_1.Uri.fromJsonObj(testServerData.logFile),
149
+ };
150
+ try {
151
+ // Create a host so we can control the file system for the PyrightServer.
152
+ const disposables = [];
153
+ const host = createTestHost(testServerData);
154
+ const server = new TestServer(connection, host.fs, testServerData.backgroundAnalysis);
155
+ // Listen for the test messages from the client. These messages
156
+ // are how the test code queries the state of the server.
157
+ disposables.push(customLsp_1.CustomLSP.onRequest(connection, customLsp_1.CustomLSP.Requests.GetDiagnostics, async (params, token) => {
158
+ const filePath = uri_1.Uri.parse(params.uri, true);
159
+ const workspace = await server.getWorkspaceForFile(filePath);
160
+ workspace.service.test_program.analyze(undefined, token);
161
+ const file = workspace.service.test_program.getBoundSourceFile(filePath);
162
+ const diagnostics = (file === null || file === void 0 ? void 0 : file.getDiagnostics(workspace.service.test_program.configOptions)) || [];
163
+ return { diagnostics: (0, backgroundThreadBase_1.serialize)(diagnostics) };
164
+ }));
165
+ // Dispose the server and connection when terminating the server.
166
+ disposables.push(server);
167
+ disposables.push(connection);
168
+ return { disposables, connection };
169
+ }
170
+ catch (err) {
171
+ console.error(err);
172
+ return { disposables: [], connection };
173
+ }
174
+ }
175
+ class ListeningPortMessageWriter extends node_1.PortMessageWriter {
176
+ constructor(port) {
177
+ super(port);
178
+ this._callbacks = [];
179
+ }
180
+ async write(msg) {
181
+ await Promise.all(this._callbacks.map((c) => c(msg)));
182
+ return super.write(msg);
183
+ }
184
+ onPostMessage(callback) {
185
+ this._callbacks.push(callback);
186
+ }
187
+ }
188
+ /**
189
+ * Object that exists in the worker thread that starts and stops (and cleans up after) the main server.
190
+ */
191
+ class ServerStateManager {
192
+ constructor(_connectionFactory) {
193
+ this._connectionFactory = _connectionFactory;
194
+ this._instances = [];
195
+ this._reader = new node_1.PortMessageReader(worker_threads_1.parentPort);
196
+ this._writer = new ListeningPortMessageWriter(worker_threads_1.parentPort);
197
+ this._shutdownId = null;
198
+ // Listen for shutdown response.
199
+ this._writer.onPostMessage(async (msg) => {
200
+ if (node_1.Message.isResponse(msg) && msg.id === this._shutdownId) {
201
+ await this._handleShutdown();
202
+ }
203
+ });
204
+ }
205
+ run() {
206
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.on('message', (message) => this._handleMessage(message));
207
+ }
208
+ _handleMessage(message) {
209
+ try {
210
+ // Debug output to help diagnose sync issues.
211
+ if (message && message.method === customLsp_1.CustomLSP.Notifications.TestStartServer) {
212
+ this._handleStart(message.params);
213
+ }
214
+ else if (node_1.Message.isRequest(message) && message.method === node_1.ShutdownRequest.method) {
215
+ this._shutdownId = message.id;
216
+ }
217
+ }
218
+ catch (err) {
219
+ console.error(err);
220
+ }
221
+ }
222
+ async _handleStart(options) {
223
+ var _a;
224
+ (0, languageServerTestUtils_1.logToDisk)(`Starting server for ${options.testName}`, options.logFile);
225
+ // Every time we start the server, remove all message handlers from our PortMessageReader.
226
+ // This prevents the old servers from responding to messages for new ones.
227
+ this._reader.dispose();
228
+ // Wait for the previous server to finish. This should be okay because the test
229
+ // client waits for the response message before sending anything else. Otherwise
230
+ // we'd receive the initialize message for the server and drop it before the server
231
+ // actually started.
232
+ if (this._pendingDispose) {
233
+ (0, languageServerTestUtils_1.logToDisk)(`Waiting for previous server ${(_a = this._currentOptions) === null || _a === void 0 ? void 0 : _a.testName} to finish for ${options.testName}`, options.logFile);
234
+ await this._pendingDispose.promise;
235
+ this._pendingDispose = undefined;
236
+ }
237
+ this._currentOptions = options;
238
+ // Set the worker data for the current test. Any background threads
239
+ // started after this point will pick up this value.
240
+ (0, worker_threads_1.setEnvironmentData)(WORKER_BACKGROUND_DATA, options);
241
+ // Create an instance of the server.
242
+ const { disposables, connection } = await runServer(options, this._reader, this._writer, this._connectionFactory);
243
+ this._instances.push({ disposables, connection });
244
+ // Enable this to help diagnose sync issues.
245
+ (0, languageServerTestUtils_1.logToDisk)(`Started server for ${options.testName}`, options.logFile);
246
+ // Respond back.
247
+ worker_threads_1.parentPort === null || worker_threads_1.parentPort === void 0 ? void 0 : worker_threads_1.parentPort.postMessage({
248
+ jsonrpc: '2.0',
249
+ method: customLsp_1.CustomLSP.Notifications.TestStartServerResponse,
250
+ params: options,
251
+ });
252
+ }
253
+ async _handleShutdown() {
254
+ var _a, _b, _c, _d, _e;
255
+ if (this._currentOptions) {
256
+ (0, languageServerTestUtils_1.logToDisk)(`Stopping ${(_a = this._currentOptions) === null || _a === void 0 ? void 0 : _a.testName}`, this._currentOptions.logFile);
257
+ }
258
+ this._shutdownId = null;
259
+ const instance = this._instances.pop();
260
+ if (instance) {
261
+ this._pendingDispose = (0, deferred_1.createDeferred)();
262
+ // Wait for our connection to finish first. Give it 10 tries.
263
+ // This is a bit of a hack but there are no good ways to cancel all running requests
264
+ // on shutdown.
265
+ let count = 0;
266
+ while (count < 10 && ((_c = (_b = instance.connection.console) === null || _b === void 0 ? void 0 : _b._rawConnection) === null || _c === void 0 ? void 0 : _c.hasPendingResponse())) {
267
+ await (0, languageServerTestUtils_1.sleep)(10);
268
+ count += 1;
269
+ }
270
+ this._pendingDispose.resolve();
271
+ instance.disposables.forEach((d) => {
272
+ d.dispose();
273
+ });
274
+ this._pendingDispose = undefined;
275
+ if (this._currentOptions) {
276
+ (0, languageServerTestUtils_1.logToDisk)(`Stopped ${(_d = this._currentOptions) === null || _d === void 0 ? void 0 : _d.testName}`, this._currentOptions.logFile);
277
+ }
278
+ }
279
+ else {
280
+ if (this._currentOptions) {
281
+ (0, languageServerTestUtils_1.logToDisk)(`Failed to stop ${(_e = this._currentOptions) === null || _e === void 0 ? void 0 : _e.testName}`, this._currentOptions.logFile);
282
+ }
283
+ }
284
+ if (global.gc) {
285
+ global.gc();
286
+ }
287
+ }
288
+ }
289
+ async function runTestBackgroundThread() {
290
+ let options = (0, worker_threads_1.getEnvironmentData)(WORKER_BACKGROUND_DATA);
291
+ // Normalize the options.
292
+ options = {
293
+ ...options,
294
+ projectRoots: options.projectRoots.map((p) => uri_1.Uri.fromJsonObj(p)),
295
+ logFile: uri_1.Uri.fromJsonObj(options.logFile),
296
+ };
297
+ try {
298
+ // Create a host on the background thread too so that it uses
299
+ // the host's file system. Has to be sync so that we don't
300
+ // drop any messages sent to the background thread.
301
+ const host = createTestHost(options);
302
+ const fs = new pyrightFileSystem_1.PyrightFileSystem(host.fs);
303
+ const serviceProvider = new serviceProvider_1.ServiceProvider();
304
+ serviceProvider.add(serviceProviderExtensions_1.ServiceKeys.fs, fs);
305
+ // run default background runner
306
+ const runner = new backgroundAnalysis_1.BackgroundAnalysisRunner(serviceProvider);
307
+ runner.start();
308
+ }
309
+ catch (e) {
310
+ console.error(`BackgroundThread crashed with ${e}`);
311
+ }
312
+ }
313
+ function run() {
314
+ // Start the background thread if this is not the first worker.
315
+ if ((0, worker_threads_1.getEnvironmentData)(WORKER_STARTED) === 'true') {
316
+ runTestBackgroundThread();
317
+ }
318
+ else {
319
+ (0, worker_threads_1.setEnvironmentData)(WORKER_STARTED, 'true');
320
+ // Start the server state manager.
321
+ const stateManager = new ServerStateManager((reader, writer) => (0, node_1.createConnection)(reader, writer, {}));
322
+ stateManager.run();
323
+ }
324
+ }
325
+ exports.run = run;
326
+ //# sourceMappingURL=languageServer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languageServer.js","sourceRoot":"","sources":["../../../../../../src/tests/lsp/languageServer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,100 @@
1
+ import { ApplyWorkspaceEditParams, CancellationToken, ConfigurationItem, Disposable, InitializeParams, LogMessageParams, PublishDiagnosticsParams, Registration } from 'vscode-languageserver-protocol';
2
+ import { Connection, Event, NotificationHandler, ProgressToken, ProgressType, ProtocolNotificationType } from 'vscode-languageserver/node';
3
+ import { PythonPathResult } from '../../analyzer/pythonPathUtils';
4
+ import { IPythonMode } from '../../analyzer/sourceFile';
5
+ import { PythonPlatform } from '../../common/configOptions';
6
+ import { Deferred } from '../../common/deferred';
7
+ import { FileSystem } from '../../common/fileSystem';
8
+ import { LimitedAccessHost } from '../../common/fullAccessHost';
9
+ import { HostKind, ScriptOutput } from '../../common/host';
10
+ import { PythonVersion } from '../../common/pythonVersion';
11
+ import { Uri } from '../../common/uri/uri';
12
+ import { FourSlashData } from '../harness/fourslash/fourSlashTypes';
13
+ import * as host from '../harness/testHost';
14
+ import * as vfs from '../harness/vfs/filesystem';
15
+ import { CustomLSP } from './customLsp';
16
+ export declare const DEFAULT_WORKSPACE_ROOT: string;
17
+ export declare const ERROR_SCRIPT_OUTPUT = "Error: script failed to run";
18
+ export declare const STALL_SCRIPT_OUTPUT = "Timeout: script never finished running";
19
+ export interface PyrightServerInfo {
20
+ disposables: Disposable[];
21
+ registrations: Registration[];
22
+ logs: LogMessageParams[];
23
+ connection: Connection;
24
+ signals: Map<CustomLSP.TestSignalKinds, Deferred<boolean>>;
25
+ testName: string;
26
+ testData: FourSlashData;
27
+ projectRoots: Uri[];
28
+ progressReporters: string[];
29
+ progressReporterStatus: Map<string, number>;
30
+ progressParts: Map<string, TestProgressPart>;
31
+ telemetry: any[];
32
+ diagnostics: PublishDiagnosticsParams[];
33
+ diagnosticsEvent: Event<PublishDiagnosticsParams>;
34
+ workspaceEdits: ApplyWorkspaceEditParams[];
35
+ workspaceEditsEvent: Event<ApplyWorkspaceEditParams>;
36
+ getInitializeParams(): InitializeParams;
37
+ dispose(): Promise<void>;
38
+ convertPathToUri(path: string): Uri;
39
+ }
40
+ export declare class TestHostOptions {
41
+ version: PythonVersion;
42
+ platform: PythonPlatform;
43
+ searchPaths: Uri[];
44
+ runScript: (pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken) => Promise<ScriptOutput>;
45
+ constructor({ version, platform, searchPaths, runScript, }?: {
46
+ version?: PythonVersion | undefined;
47
+ platform?: PythonPlatform | undefined;
48
+ searchPaths?: Uri[] | undefined;
49
+ runScript?: ((pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken) => Promise<{
50
+ stdout: string;
51
+ stderr: string;
52
+ }>) | undefined;
53
+ });
54
+ }
55
+ export declare const logToDisk: (m: string, f: Uri) => void;
56
+ export declare function logToDiskImpl(message: string, fileName: Uri): void;
57
+ export declare function cleanupAfterAll(): Promise<void>;
58
+ export declare function getFileLikePath(uri: Uri): string;
59
+ export declare function createFileSystem(projectRoot: string, testData: FourSlashData, optionalHost?: host.TestHost): vfs.TestFileSystem;
60
+ export declare function updateSettingsMap(info: PyrightServerInfo, settings: {
61
+ item: ConfigurationItem;
62
+ value: any;
63
+ }[]): void;
64
+ export declare function getParseResults(fileContents: string, isStubFile?: boolean, ipythonMode?: IPythonMode): import("../../parser/parser").ParseResults;
65
+ export declare function waitForDiagnostics(info: PyrightServerInfo, timeout?: number): Promise<PublishDiagnosticsParams[]>;
66
+ interface ProgressPart {
67
+ }
68
+ interface ProgressContext {
69
+ onProgress<P>(type: ProgressType<P>, token: string | number, handler: NotificationHandler<P>): Disposable;
70
+ sendNotification<P, RO>(type: ProtocolNotificationType<P, RO>, params?: P): void;
71
+ }
72
+ declare class TestProgressPart implements ProgressPart {
73
+ private readonly _context;
74
+ private readonly _token;
75
+ constructor(_context: ProgressContext, _token: ProgressToken, info: PyrightServerInfo, done: () => void);
76
+ sendCancel(): void;
77
+ }
78
+ export declare function runPyrightServer(projectRoots: string[] | string, code: string, callInitialize?: boolean, extraSettings?: {
79
+ item: ConfigurationItem;
80
+ value: any;
81
+ }[], pythonVersion?: PythonVersion, backgroundAnalysis?: boolean): Promise<PyrightServerInfo>;
82
+ export declare function initializeLanguageServer(info: PyrightServerInfo): Promise<import("vscode-languageserver-protocol").InitializeResult<any>>;
83
+ export declare function sleep(timeout: number): Promise<number>;
84
+ export declare function openFile(info: PyrightServerInfo, markerName: string, text?: string): void;
85
+ export declare function hover(info: PyrightServerInfo, markerName: string): Promise<import("vscode-languageserver-types").Hover | null>;
86
+ export declare function getInitializeParams(projectRoots: Uri[]): InitializeParams;
87
+ export declare class TestHost extends LimitedAccessHost {
88
+ readonly fs: FileSystem;
89
+ readonly testFs: vfs.TestFileSystem;
90
+ readonly testData: FourSlashData;
91
+ readonly projectRoots: string[];
92
+ private readonly _options;
93
+ constructor(fs: FileSystem, testFs: vfs.TestFileSystem, testData: FourSlashData, projectRoots: string[], options?: TestHostOptions);
94
+ get kind(): HostKind;
95
+ getPythonVersion(pythonPath?: Uri, logInfo?: string[]): PythonVersion | undefined;
96
+ getPythonPlatform(logInfo?: string[]): PythonPlatform | undefined;
97
+ getPythonSearchPaths(pythonPath?: Uri, logInfo?: string[]): PythonPathResult;
98
+ runScript(pythonPath: Uri | undefined, scriptPath: Uri, args: string[], cwd: Uri, token: CancellationToken): Promise<ScriptOutput>;
99
+ }
100
+ export {};