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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +7 -9
  2. package/dist/analyzer/backgroundAnalysisProgram.js +14 -52
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +43 -32
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.d.ts +15 -3
  7. package/dist/analyzer/checker.js +260 -143
  8. package/dist/analyzer/checker.js.map +1 -1
  9. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  10. package/dist/analyzer/codeFlowEngine.js +85 -88
  11. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  12. package/dist/analyzer/codeFlowTypes.d.ts +1 -0
  13. package/dist/analyzer/codeFlowTypes.js +3 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolver.js +11 -1
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/dataClasses.d.ts +3 -3
  18. package/dist/analyzer/dataClasses.js +92 -59
  19. package/dist/analyzer/dataClasses.js.map +1 -1
  20. package/dist/analyzer/declaration.js.map +1 -1
  21. package/dist/analyzer/declarationUtils.d.ts +1 -1
  22. package/dist/analyzer/declarationUtils.js +6 -4
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/docStringConversion.js +7 -5
  25. package/dist/analyzer/docStringConversion.js.map +1 -1
  26. package/dist/analyzer/importResolver.d.ts +3 -0
  27. package/dist/analyzer/importResolver.js +50 -8
  28. package/dist/analyzer/importResolver.js.map +1 -1
  29. package/dist/analyzer/importResult.d.ts +1 -0
  30. package/dist/analyzer/namedTuples.js +1 -1
  31. package/dist/analyzer/namedTuples.js.map +1 -1
  32. package/dist/analyzer/packageTypeVerifier.d.ts +2 -1
  33. package/dist/analyzer/packageTypeVerifier.js +16 -10
  34. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  35. package/dist/analyzer/parseTreeUtils.d.ts +2 -1
  36. package/dist/analyzer/parseTreeUtils.js +38 -3
  37. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  38. package/dist/analyzer/parseTreeWalker.d.ts +86 -79
  39. package/dist/analyzer/parseTreeWalker.js +384 -201
  40. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  41. package/dist/analyzer/program.d.ts +4 -7
  42. package/dist/analyzer/program.js +84 -79
  43. package/dist/analyzer/program.js.map +1 -1
  44. package/dist/analyzer/properties.js +10 -3
  45. package/dist/analyzer/properties.js.map +1 -1
  46. package/dist/analyzer/protocols.js +1 -1
  47. package/dist/analyzer/protocols.js.map +1 -1
  48. package/dist/analyzer/regions.d.ts +11 -0
  49. package/dist/analyzer/regions.js +57 -0
  50. package/dist/analyzer/regions.js.map +1 -0
  51. package/dist/analyzer/service.d.ts +11 -6
  52. package/dist/analyzer/service.js +127 -65
  53. package/dist/analyzer/service.js.map +1 -1
  54. package/dist/analyzer/sourceFile.d.ts +5 -2
  55. package/dist/analyzer/sourceFile.js +23 -10
  56. package/dist/analyzer/sourceFile.js.map +1 -1
  57. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -1
  58. package/dist/analyzer/sourceFileInfoUtils.js +1 -1
  59. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  60. package/dist/analyzer/sourceMapper.d.ts +6 -1
  61. package/dist/analyzer/sourceMapper.js +28 -5
  62. package/dist/analyzer/sourceMapper.js.map +1 -1
  63. package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
  64. package/dist/analyzer/sourceMapperUtils.js +17 -5
  65. package/dist/analyzer/sourceMapperUtils.js.map +1 -1
  66. package/dist/analyzer/staticExpressions.js +19 -9
  67. package/dist/analyzer/staticExpressions.js.map +1 -1
  68. package/dist/analyzer/symbolUtils.d.ts +1 -0
  69. package/dist/analyzer/symbolUtils.js +5 -1
  70. package/dist/analyzer/symbolUtils.js.map +1 -1
  71. package/dist/analyzer/typeEvaluator.js +664 -257
  72. package/dist/analyzer/typeEvaluator.js.map +1 -1
  73. package/dist/analyzer/typeEvaluatorTypes.d.ts +16 -4
  74. package/dist/analyzer/typeGuards.js +9 -0
  75. package/dist/analyzer/typeGuards.js.map +1 -1
  76. package/dist/analyzer/typePrinter.d.ts +3 -1
  77. package/dist/analyzer/typePrinter.js +143 -28
  78. package/dist/analyzer/typePrinter.js.map +1 -1
  79. package/dist/analyzer/typeStubWriter.js +5 -1
  80. package/dist/analyzer/typeStubWriter.js.map +1 -1
  81. package/dist/analyzer/typeUtils.d.ts +4 -2
  82. package/dist/analyzer/typeUtils.js +114 -20
  83. package/dist/analyzer/typeUtils.js.map +1 -1
  84. package/dist/analyzer/typedDicts.js +8 -6
  85. package/dist/analyzer/typedDicts.js.map +1 -1
  86. package/dist/analyzer/types.d.ts +7 -5
  87. package/dist/analyzer/types.js +45 -20
  88. package/dist/analyzer/types.js.map +1 -1
  89. package/dist/backgroundAnalysisBase.d.ts +6 -4
  90. package/dist/backgroundAnalysisBase.js +30 -9
  91. package/dist/backgroundAnalysisBase.js.map +1 -1
  92. package/dist/backgroundThreadBase.d.ts +2 -1
  93. package/dist/backgroundThreadBase.js +4 -0
  94. package/dist/backgroundThreadBase.js.map +1 -1
  95. package/dist/commands/createTypeStub.js +3 -1
  96. package/dist/commands/createTypeStub.js.map +1 -1
  97. package/dist/common/configOptions.d.ts +1 -0
  98. package/dist/common/configOptions.js +4 -0
  99. package/dist/common/configOptions.js.map +1 -1
  100. package/dist/common/core.d.ts +2 -0
  101. package/dist/common/core.js +24 -3
  102. package/dist/common/core.js.map +1 -1
  103. package/dist/common/diagnostic.d.ts +8 -0
  104. package/dist/common/diagnostic.js +5 -1
  105. package/dist/common/diagnostic.js.map +1 -1
  106. package/dist/common/diagnosticRules.d.ts +2 -1
  107. package/dist/common/diagnosticRules.js +1 -0
  108. package/dist/common/diagnosticRules.js.map +1 -1
  109. package/dist/common/fileSystem.d.ts +1 -0
  110. package/dist/common/fileSystem.js.map +1 -1
  111. package/dist/common/pathUtils.d.ts +1 -0
  112. package/dist/common/pathUtils.js +17 -4
  113. package/dist/common/pathUtils.js.map +1 -1
  114. package/dist/common/pythonVersion.d.ts +1 -1
  115. package/dist/common/pythonVersion.js +1 -1
  116. package/dist/common/realFileSystem.js +12 -3
  117. package/dist/common/realFileSystem.js.map +1 -1
  118. package/dist/common/workspaceEditUtils.d.ts +6 -1
  119. package/dist/common/workspaceEditUtils.js +72 -1
  120. package/dist/common/workspaceEditUtils.js.map +1 -1
  121. package/dist/languageServerBase.d.ts +16 -8
  122. package/dist/languageServerBase.js +76 -32
  123. package/dist/languageServerBase.js.map +1 -1
  124. package/dist/languageService/analyzerServiceExecutor.d.ts +6 -2
  125. package/dist/languageService/analyzerServiceExecutor.js +8 -6
  126. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  127. package/dist/languageService/autoImporter.js +2 -1
  128. package/dist/languageService/autoImporter.js.map +1 -1
  129. package/dist/languageService/codeActionProvider.js +30 -0
  130. package/dist/languageService/codeActionProvider.js.map +1 -1
  131. package/dist/languageService/completionProvider.d.ts +2 -0
  132. package/dist/languageService/completionProvider.js +84 -32
  133. package/dist/languageService/completionProvider.js.map +1 -1
  134. package/dist/languageService/definitionProvider.d.ts +2 -0
  135. package/dist/languageService/definitionProvider.js +3 -0
  136. package/dist/languageService/definitionProvider.js.map +1 -1
  137. package/dist/languageService/documentSymbolCollector.js +7 -3
  138. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  139. package/dist/languageService/documentSymbolProvider.js +1 -1
  140. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  141. package/dist/languageService/hoverProvider.d.ts +1 -1
  142. package/dist/languageService/hoverProvider.js +73 -38
  143. package/dist/languageService/hoverProvider.js.map +1 -1
  144. package/dist/languageService/indentationUtils.d.ts +3 -0
  145. package/dist/languageService/indentationUtils.js +4 -3
  146. package/dist/languageService/indentationUtils.js.map +1 -1
  147. package/dist/languageService/referencesProvider.js +2 -1
  148. package/dist/languageService/referencesProvider.js.map +1 -1
  149. package/dist/languageService/signatureHelpProvider.js +1 -2
  150. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  151. package/dist/languageService/tooltipUtils.js +30 -19
  152. package/dist/languageService/tooltipUtils.js.map +1 -1
  153. package/dist/localization/localize.d.ts +29 -4
  154. package/dist/localization/localize.js +20 -5
  155. package/dist/localization/localize.js.map +1 -1
  156. package/dist/localization/package.nls.en-us.json +18 -3
  157. package/dist/parser/parseNodes.d.ts +2 -1
  158. package/dist/parser/parseNodes.js +6 -1
  159. package/dist/parser/parseNodes.js.map +1 -1
  160. package/dist/parser/parser.js +29 -15
  161. package/dist/parser/parser.js.map +1 -1
  162. package/dist/parser/tokenizer.js +19 -9
  163. package/dist/parser/tokenizer.js.map +1 -1
  164. package/dist/pyright.js +4 -4
  165. package/dist/pyright.js.map +1 -1
  166. package/dist/pyrightFileSystem.d.ts +1 -0
  167. package/dist/pyrightFileSystem.js +3 -0
  168. package/dist/pyrightFileSystem.js.map +1 -1
  169. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  170. package/dist/readonlyAugmentedFileSystem.js +3 -0
  171. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  172. package/dist/server.d.ts +1 -1
  173. package/dist/server.js +1 -1
  174. package/dist/server.js.map +1 -1
  175. package/dist/tests/chainedSourceFiles.test.js +2 -0
  176. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  177. package/dist/tests/checker.test.js +26 -3
  178. package/dist/tests/checker.test.js.map +1 -1
  179. package/dist/tests/config.test.js +11 -0
  180. package/dist/tests/config.test.js.map +1 -1
  181. package/dist/tests/diagnostics.test.d.ts +1 -0
  182. package/dist/tests/diagnostics.test.js +37 -0
  183. package/dist/tests/diagnostics.test.js.map +1 -0
  184. package/dist/tests/docStringConversion.test.js +71 -12
  185. package/dist/tests/docStringConversion.test.js.map +1 -1
  186. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +1 -1
  187. package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
  188. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +5 -5
  189. package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
  190. package/dist/tests/fourslash/completions.classVariable.fourslash.js +119 -24
  191. package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
  192. package/dist/tests/fourslash/{signature.paramspec.fourslash.d.ts → completions.dunderNew.Inheritance.fourslash.d.ts} +0 -0
  193. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js +29 -0
  194. package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -0
  195. package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +1 -0
  196. package/dist/tests/fourslash/completions.dunderNew.fourslash.js +20 -0
  197. package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -0
  198. package/dist/tests/fourslash/completions.fourslash.js +2 -2
  199. package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
  200. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +1 -1
  201. package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
  202. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +1 -1
  203. package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
  204. package/dist/tests/fourslash/completions.libStub.fourslash.js +1 -1
  205. package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
  206. package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -2
  207. package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -2
  209. package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
  210. package/dist/tests/fourslash/completions.self.fourslash.js +2 -2
  211. package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
  212. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +1 -1
  213. package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
  214. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js +2 -2
  215. package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
  216. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +1 -0
  217. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js +32 -0
  218. package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -0
  219. package/dist/tests/fourslash/fourslash.d.ts +2 -1
  220. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js +2 -2
  221. package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
  222. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +4 -4
  223. package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
  224. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js +1 -1
  225. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
  226. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js +1 -1
  227. package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
  228. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js +1 -1
  229. package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
  230. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js +1 -1
  231. package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
  232. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js +1 -1
  233. package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
  234. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +2 -2
  235. package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
  236. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js +1 -1
  237. package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
  238. package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +1 -0
  239. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +24 -0
  240. package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -0
  241. package/dist/tests/fourslash/hover.docstring.links.fourslash.js +1 -1
  242. package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
  243. package/dist/tests/fourslash/hover.docstring.split.fourslash.js +3 -3
  244. package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
  245. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +1 -0
  246. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js +13 -0
  247. package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -0
  248. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +1 -0
  249. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js +15 -0
  250. package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -0
  251. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +1 -0
  252. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js +21 -0
  253. package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -0
  254. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +1 -0
  255. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js +17 -0
  256. package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -0
  257. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +1 -0
  258. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js +15 -0
  259. package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -0
  260. package/dist/tests/fourslash/hover.fourslash.js +1 -1
  261. package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
  262. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +3 -3
  263. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js +2 -2
  265. package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
  266. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +2 -2
  267. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  268. package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
  269. package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
  270. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js +1 -1
  271. package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
  272. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js +1 -1
  273. package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
  274. package/dist/tests/fourslash/hover.libStub.fourslash.js +1 -1
  275. package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
  276. package/dist/tests/fourslash/hover.plainText.fourslash.js +1 -1
  277. package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +1 -1
  279. package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js +1 -1
  281. package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
  282. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js +1 -1
  283. package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
  284. package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +1 -0
  285. package/dist/tests/fourslash/shadowedImports.fourslash.js +75 -0
  286. package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -0
  287. package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +1 -0
  288. package/dist/tests/fourslash/signature.dunderNew.fourslash.js +24 -0
  289. package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -0
  290. package/dist/tests/harness/fourslash/runner.js +1 -1
  291. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  292. package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -1
  293. package/dist/tests/harness/fourslash/testLanguageService.js +5 -4
  294. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  295. package/dist/tests/harness/fourslash/testState.d.ts +7 -7
  296. package/dist/tests/harness/fourslash/testState.js +79 -163
  297. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  298. package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +16 -0
  299. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +159 -0
  300. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -0
  301. package/dist/tests/harness/vfs/filesystem.d.ts +1 -0
  302. package/dist/tests/harness/vfs/filesystem.js +3 -0
  303. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  304. package/dist/tests/indentationUtils.ptvs.test.js +1 -1
  305. package/dist/tests/indentationUtils.test.js +4 -4
  306. package/dist/tests/ipythonMode.test.js +39 -0
  307. package/dist/tests/ipythonMode.test.js.map +1 -1
  308. package/dist/tests/logger.test.js +3 -1
  309. package/dist/tests/logger.test.js.map +1 -1
  310. package/dist/tests/parser.test.js +3 -3
  311. package/dist/tests/pathUtils.test.js +7 -0
  312. package/dist/tests/pathUtils.test.js.map +1 -1
  313. package/dist/tests/service.test.d.ts +1 -0
  314. package/dist/tests/service.test.js +159 -0
  315. package/dist/tests/service.test.js.map +1 -0
  316. package/dist/tests/sourceFile.test.js +34 -1
  317. package/dist/tests/sourceFile.test.js.map +1 -1
  318. package/dist/tests/sourceMapperUtils.test.js +39 -4
  319. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  320. package/dist/tests/tokenizer.test.js +6 -2
  321. package/dist/tests/tokenizer.test.js.map +1 -1
  322. package/dist/tests/typeEvaluator1.test.js +16 -6
  323. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  324. package/dist/tests/typeEvaluator2.test.js +15 -3
  325. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  326. package/dist/tests/typeEvaluator3.test.js +51 -11
  327. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  328. package/dist/tests/typeEvaluator4.test.js +11 -7
  329. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  330. package/dist/tests/typeEvaluator5.test.js +48 -0
  331. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  332. package/dist/tests/typePrinter.test.d.ts +1 -0
  333. package/dist/tests/typePrinter.test.js +148 -0
  334. package/dist/tests/typePrinter.test.js.map +1 -0
  335. package/dist/tests/workspaceEditUtils.test.d.ts +1 -0
  336. package/dist/tests/workspaceEditUtils.test.js +167 -0
  337. package/dist/tests/workspaceEditUtils.test.js.map +1 -0
  338. package/dist/workspaceMap.d.ts +4 -1
  339. package/dist/workspaceMap.js +64 -16
  340. package/dist/workspaceMap.js.map +1 -1
  341. package/package.json +3 -3
  342. package/dist/tests/fourslash/signature.paramspec.fourslash.js +0 -30
  343. package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +0 -1
@@ -0,0 +1,159 @@
1
+ "use strict";
2
+ /*
3
+ * service.test.ts
4
+ *
5
+ * service tests.
6
+ */
7
+ var __importDefault = (this && this.__importDefault) || function (mod) {
8
+ return (mod && mod.__esModule) ? mod : { "default": mod };
9
+ };
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
+ const assert_1 = __importDefault(require("assert"));
12
+ const pathUtils_1 = require("../common/pathUtils");
13
+ const testState_1 = require("./harness/fourslash/testState");
14
+ test('basic file change', () => {
15
+ const code = `
16
+ // @filename: test.py
17
+ //// [|/*marker*/|]
18
+ `;
19
+ testSourceFileWatchChange(code);
20
+ });
21
+ test('non python file', () => {
22
+ const code = `
23
+ // @filename: test.pyc
24
+ //// [|/*marker*/|]
25
+ `;
26
+ testSourceFileWatchChange(code, /* expected */ false);
27
+ });
28
+ test('temp file', () => {
29
+ const code = `
30
+ // @filename: test.py.12345678901234567890123456789012.py
31
+ //// [|/*marker*/|]
32
+ `;
33
+ testSourceFileWatchChange(code, /* expected */ false);
34
+ });
35
+ test('excluded file', () => {
36
+ const code = `
37
+ // @filename: pyrightconfig.json
38
+ //// {
39
+ //// "exclude": ["**/excluded.py"]
40
+ //// }
41
+
42
+ // @filename: included.py
43
+ //// # empty
44
+
45
+ // @filename: excluded.py
46
+ //// [|/*marker*/|]
47
+ `;
48
+ testSourceFileWatchChange(code, /* expected */ false);
49
+ });
50
+ test('excluded but still part of program', () => {
51
+ const code = `
52
+ // @filename: pyrightconfig.json
53
+ //// {
54
+ //// "exclude": ["**/excluded.py"]
55
+ //// }
56
+
57
+ // @filename: included.py
58
+ //// from . import excluded
59
+
60
+ // @filename: excluded.py
61
+ //// [|/*marker*/|]
62
+ `;
63
+ const state = (0, testState_1.parseAndGetTestState)(code, '/projectRoot').state;
64
+ const marker = state.getMarkerByName('marker');
65
+ while (state.workspace.serviceInstance.test_program.analyze())
66
+ ;
67
+ assert_1.default.strictEqual(state.workspace.serviceInstance.test_shouldHandleSourceFileWatchChanges(marker.fileName, /* isFile */ true), true);
68
+ });
69
+ test('random folder changed', () => {
70
+ const code = `
71
+ // @filename: notUsed.py
72
+ //// # empty
73
+ `;
74
+ const state = (0, testState_1.parseAndGetTestState)(code, '/projectRoot').state;
75
+ assert_1.default.strictEqual(state.workspace.serviceInstance.test_shouldHandleSourceFileWatchChanges('/randomFolder', /* isFile */ false), false);
76
+ });
77
+ test('excluded folder changed', () => {
78
+ const code = `
79
+ // @filename: pyrightconfig.json
80
+ //// {
81
+ //// "exclude": ["**/.*"]
82
+ //// }
83
+
84
+ // @filename: .excluded/notUsed.py
85
+ //// [|/*marker*/|]
86
+ `;
87
+ testSourceFileWatchChange(code, /* expected */ false, /* isFile */ false);
88
+ });
89
+ test('file under excluded folder changed', () => {
90
+ const code = `
91
+ // @filename: pyrightconfig.json
92
+ //// {
93
+ //// "exclude": ["**/.*"]
94
+ //// }
95
+
96
+ // @filename: included.py
97
+ //// # empty
98
+
99
+ // @filename: .excluded/notUsed.py
100
+ //// [|/*marker*/|]
101
+ `;
102
+ testSourceFileWatchChange(code, /* expected */ false);
103
+ });
104
+ test('folder under excluded folder changed', () => {
105
+ const code = `
106
+ // @filename: pyrightconfig.json
107
+ //// {
108
+ //// "exclude": ["**/.*"]
109
+ //// }
110
+
111
+ // @filename: .excluded/nested/notUsed.py
112
+ //// [|/*marker*/|]
113
+ `;
114
+ testSourceFileWatchChange(code, /* expected */ false, /* isFile */ false);
115
+ });
116
+ test('folder that contains no file has changed', () => {
117
+ const code = `
118
+ // @filename: pyrightconfig.json
119
+ //// {
120
+ //// "exclude": ["**/excluded.py"]
121
+ //// }
122
+
123
+ // @filename: included.py
124
+ //// # empty
125
+
126
+ // @filename: lib/excluded.py
127
+ //// [|/*marker*/|]
128
+ `;
129
+ testSourceFileWatchChange(code, /* expected */ false, /* isFile */ false);
130
+ });
131
+ test('folder that contains a file has changed', () => {
132
+ const code = `
133
+ // @filename: lib/included.py
134
+ //// [|/*marker*/|]
135
+ `;
136
+ testSourceFileWatchChange(code, /* expected */ true, /* isFile */ false);
137
+ });
138
+ test('folder that contains no file but whose parent has __init__ has changed', () => {
139
+ const code = `
140
+ // @filename: pyrightconfig.json
141
+ //// {
142
+ //// "exclude": ["**/excluded.py"]
143
+ //// }
144
+
145
+ // @filename: lib/__init__.py
146
+ //// # empty
147
+
148
+ // @filename: lib/nested/excluded.py
149
+ //// [|/*marker*/|]
150
+ `;
151
+ testSourceFileWatchChange(code, /* expected */ true, /* isFile */ false);
152
+ });
153
+ function testSourceFileWatchChange(code, expected = true, isFile = true) {
154
+ const state = (0, testState_1.parseAndGetTestState)(code, '/projectRoot').state;
155
+ const marker = state.getMarkerByName('marker');
156
+ const path = isFile ? marker.fileName : (0, pathUtils_1.getDirectoryPath)(marker.fileName);
157
+ assert_1.default.strictEqual(state.workspace.serviceInstance.test_shouldHandleSourceFileWatchChanges(path, isFile), expected);
158
+ }
159
+ //# sourceMappingURL=service.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service.test.js","sourceRoot":"","sources":["../../../src/tests/service.test.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,24 @@
1
1
  "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
2
22
  /*
3
23
  * sourceFile.test.ts
4
24
  * Copyright (c) Microsoft Corporation.
@@ -7,13 +27,14 @@
7
27
  *
8
28
  * Unit tests for pyright sourceFile module.
9
29
  */
10
- Object.defineProperty(exports, "__esModule", { value: true });
30
+ const assert = __importStar(require("assert"));
11
31
  const importResolver_1 = require("../analyzer/importResolver");
12
32
  const sourceFile_1 = require("../analyzer/sourceFile");
13
33
  const configOptions_1 = require("../common/configOptions");
14
34
  const fullAccessHost_1 = require("../common/fullAccessHost");
15
35
  const pathUtils_1 = require("../common/pathUtils");
16
36
  const realFileSystem_1 = require("../common/realFileSystem");
37
+ const testState_1 = require("./harness/fourslash/testState");
17
38
  test('Empty', () => {
18
39
  const filePath = (0, pathUtils_1.combinePaths)(process.cwd(), 'tests/samples/test_file1.py');
19
40
  const fs = (0, realFileSystem_1.createFromRealFileSystem)();
@@ -22,4 +43,16 @@ test('Empty', () => {
22
43
  const importResolver = new importResolver_1.ImportResolver(fs, configOptions, new fullAccessHost_1.FullAccessHost(fs));
23
44
  sourceFile.parse(configOptions, importResolver);
24
45
  });
46
+ test('Empty Open file', () => {
47
+ var _a, _b;
48
+ const code = `
49
+ // @filename: test.py
50
+ //// [|/*marker*/# Content|]
51
+ `;
52
+ const state = (0, testState_1.parseAndGetTestState)(code).state;
53
+ const marker = state.getMarkerByName('marker');
54
+ assert.strictEqual((_a = state.workspace.serviceInstance.test_program.getSourceFile(marker.fileName)) === null || _a === void 0 ? void 0 : _a.getFileContent(), '# Content');
55
+ state.workspace.serviceInstance.updateOpenFileContents(marker.fileName, 1, [{ text: '' }]);
56
+ assert.strictEqual((_b = state.workspace.serviceInstance.test_program.getSourceFile(marker.fileName)) === null || _b === void 0 ? void 0 : _b.getFileContent(), '');
57
+ });
25
58
  //# sourceMappingURL=sourceFile.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceFile.test.js","sourceRoot":"","sources":["../../../src/tests/sourceFile.test.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;AAEH,+DAA4D;AAC5D,uDAAoD;AACpD,2DAAwD;AACxD,6DAA0D;AAC1D,mDAAmD;AACnD,6DAAoE;AAEpE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACf,MAAM,QAAQ,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,IAAA,yCAAwB,GAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,+BAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAErF,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"sourceFile.test.js","sourceRoot":"","sources":["../../../src/tests/sourceFile.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;GAOG;AACH,+CAAiC;AAEjC,+DAA4D;AAC5D,uDAAoD;AACpD,2DAAwD;AACxD,6DAA0D;AAC1D,mDAAmD;AACnD,6DAAoE;AACpE,6DAAqE;AAErE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACf,MAAM,QAAQ,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,6BAA6B,CAAC,CAAC;IAC5E,MAAM,EAAE,GAAG,IAAA,yCAAwB,GAAE,CAAC;IACtC,MAAM,UAAU,GAAG,IAAI,uBAAU,CAAC,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClE,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,+BAAc,CAAC,EAAE,EAAE,aAAa,EAAE,IAAI,+BAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IAErF,UAAU,CAAC,KAAK,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;;IACzB,MAAM,IAAI,GAAG;;;KAGZ,CAAC;IAEF,MAAM,KAAK,GAAG,IAAA,gCAAoB,EAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC/C,MAAM,MAAM,GAAG,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IAE/C,MAAM,CAAC,WAAW,CACd,MAAA,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAAE,cAAc,EAAE,EAC7F,WAAW,CACd,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,sBAAsB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3F,MAAM,CAAC,WAAW,CACd,MAAA,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,YAAY,CAAC,aAAa,CAAC,MAAM,CAAC,QAAQ,CAAC,0CAAE,cAAc,EAAE,EAC7F,EAAE,CACL,CAAC;AACN,CAAC,CAAC,CAAC"}
@@ -27,8 +27,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
27
27
  * Unit tests for pyright sourceMapperUtils module.
28
28
  */
29
29
  const assert = __importStar(require("assert"));
30
+ const vscode_jsonrpc_1 = require("vscode-jsonrpc");
30
31
  const sourceMapperUtils_1 = require("../analyzer/sourceMapperUtils");
31
32
  describe('BuildImportTree', () => {
33
+ const tokenSource = new vscode_jsonrpc_1.CancellationTokenSource();
32
34
  test('Simple', () => {
33
35
  const results = (0, sourceMapperUtils_1.buildImportTree)('A', 'C', (f) => {
34
36
  switch (f) {
@@ -40,7 +42,7 @@ describe('BuildImportTree', () => {
40
42
  break;
41
43
  }
42
44
  return [];
43
- });
45
+ }, tokenSource.token);
44
46
  assert.deepEqual(results, ['C', 'B']);
45
47
  });
46
48
  test('Recursion', () => {
@@ -58,7 +60,7 @@ describe('BuildImportTree', () => {
58
60
  break;
59
61
  }
60
62
  return [];
61
- });
63
+ }, tokenSource.token);
62
64
  assert.deepEqual(results, ['E', 'D', 'B']);
63
65
  });
64
66
  test('Multiple Paths', () => {
@@ -78,7 +80,7 @@ describe('BuildImportTree', () => {
78
80
  break;
79
81
  }
80
82
  return [];
81
- });
83
+ }, tokenSource.token);
82
84
  assert.deepEqual(results, ['G', 'F', 'D', 'B']);
83
85
  });
84
86
  test('No paths', () => {
@@ -96,8 +98,41 @@ describe('BuildImportTree', () => {
96
98
  break;
97
99
  }
98
100
  return [];
99
- });
101
+ }, tokenSource.token);
100
102
  assert.deepEqual(results, ['G']);
101
103
  });
104
+ function genArray(start, end) {
105
+ return Array(end - start)
106
+ .fill(0)
107
+ .map(() => String.fromCharCode(start++));
108
+ }
109
+ test('Too deep', () => {
110
+ const results = (0, sourceMapperUtils_1.buildImportTree)('Z', 'A', (f) => {
111
+ const start = f.charCodeAt(0);
112
+ const end = 'Y'.charCodeAt(0);
113
+ return genArray(start, end);
114
+ }, tokenSource.token);
115
+ assert.deepEqual(results, ['A']);
116
+ });
117
+ test('Canceled', () => {
118
+ const canceled = new vscode_jsonrpc_1.CancellationTokenSource();
119
+ canceled.cancel();
120
+ const results = (0, sourceMapperUtils_1.buildImportTree)('A', 'E', (f) => {
121
+ switch (f) {
122
+ case 'E':
123
+ return ['D'];
124
+ case 'D':
125
+ return ['C', 'B'];
126
+ case 'C':
127
+ return ['D'];
128
+ case 'B':
129
+ return ['A'];
130
+ default:
131
+ break;
132
+ }
133
+ return [];
134
+ }, canceled.token);
135
+ assert.deepEqual(results, ['E']);
136
+ });
102
137
  });
103
138
  //# sourceMappingURL=sourceMapperUtils.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sourceMapperUtils.test.js","sourceRoot":"","sources":["../../../src/tests/sourceMapperUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sourceMapperUtils.test.js","sourceRoot":"","sources":["../../../src/tests/sourceMapperUtils.test.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;GAMG;AACH,+CAAiC;AACjC,mDAAyD;AAEzD,qEAAgE;AAEhE,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,MAAM,WAAW,GAAG,IAAI,wCAAuB,EAAE,CAAC;IAClD,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;QAChB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,QAAQ,CAAC,EAAE;gBACP,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB;oBACI,MAAM;aACb;YACD,OAAO,EAAE,CAAC;QACd,CAAC,EACD,WAAW,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;QACnB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,QAAQ,CAAC,EAAE;gBACP,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB;oBACI,MAAM;aACb;YACD,OAAO,EAAE,CAAC;QACd,CAAC,EACD,WAAW,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,gBAAgB,EAAE,GAAG,EAAE;QACxB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,QAAQ,CAAC,EAAE;gBACP,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB;oBACI,MAAM;aACb;YACD,OAAO,EAAE,CAAC;QACd,CAAC,EACD,WAAW,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAClB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,QAAQ,CAAC,EAAE;gBACP,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBAC3B,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB;oBACI,MAAM;aACb;YACD,OAAO,EAAE,CAAC;QACd,CAAC,EACD,WAAW,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,SAAS,QAAQ,CAAC,KAAa,EAAE,GAAW;QACxC,OAAO,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC;aACpB,IAAI,CAAC,CAAC,CAAC;aACP,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAClB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,MAAM,KAAK,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YAC9B,OAAO,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,EACD,WAAW,CAAC,KAAK,CACpB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,EAAE,GAAG,EAAE;QAClB,MAAM,QAAQ,GAAG,IAAI,wCAAuB,EAAE,CAAC;QAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,OAAO,GAAG,IAAA,mCAAe,EAC3B,GAAG,EACH,GAAG,EACH,CAAC,CAAC,EAAE,EAAE;YACF,QAAQ,CAAC,EAAE;gBACP,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB,KAAK,GAAG;oBACJ,OAAO,CAAC,GAAG,CAAC,CAAC;gBACjB;oBACI,MAAM;aACb;YACD,OAAO,EAAE,CAAC;QACd,CAAC,EACD,QAAQ,CAAC,KAAK,CACjB,CAAC;QACF,MAAM,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -945,8 +945,8 @@ test('Decimal number operator', () => {
945
945
  });
946
946
  test('Floating point number', () => {
947
947
  const t = new tokenizer_1.Tokenizer();
948
- const results = t.tokenize('3.0 .2 ++.3e+12 --.4e1 1e-4 0.01');
949
- assert_1.default.equal(results.tokens.count, 10 + _implicitTokenCount);
948
+ const results = t.tokenize('3.0 .2 ++.3e+12 --.4e1 1e-4 0.01 01.0');
949
+ assert_1.default.equal(results.tokens.count, 11 + _implicitTokenCount);
950
950
  assert_1.default.equal(results.tokens.getItemAt(0).type, 6 /* Number */);
951
951
  assert_1.default.equal(results.tokens.getItemAt(0).value, 3);
952
952
  assert_1.default.equal(results.tokens.getItemAt(0).isInteger, false);
@@ -979,6 +979,10 @@ test('Floating point number', () => {
979
979
  assert_1.default.equal(results.tokens.getItemAt(9).value, 0.01);
980
980
  assert_1.default.equal(results.tokens.getItemAt(9).isInteger, false);
981
981
  assert_1.default.equal(results.tokens.getItemAt(9).length, 4);
982
+ assert_1.default.equal(results.tokens.getItemAt(10).type, 6 /* Number */);
983
+ assert_1.default.equal(results.tokens.getItemAt(10).value, 1.0);
984
+ assert_1.default.equal(results.tokens.getItemAt(10).isInteger, false);
985
+ assert_1.default.equal(results.tokens.getItemAt(10).length, 4);
982
986
  });
983
987
  test('Floating point numbers with parens', () => {
984
988
  const t = new tokenizer_1.Tokenizer();