brighterscript 0.72.0 → 0.72.2

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 (335) hide show
  1. package/bsconfig.schema.json +62 -0
  2. package/dist/BsConfig.d.ts +56 -1
  3. package/dist/CommentFlagProcessor.d.ts +16 -12
  4. package/dist/CommentFlagProcessor.js +141 -59
  5. package/dist/CommentFlagProcessor.js.map +1 -1
  6. package/dist/DiagnosticMessages.d.ts +27 -1
  7. package/dist/DiagnosticMessages.js +32 -2
  8. package/dist/DiagnosticMessages.js.map +1 -1
  9. package/dist/Program.d.ts +4 -0
  10. package/dist/Program.js +2 -0
  11. package/dist/Program.js.map +1 -1
  12. package/dist/ProgramBuilder.d.ts +1 -8
  13. package/dist/ProgramBuilder.js +31 -11
  14. package/dist/ProgramBuilder.js.map +1 -1
  15. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +38 -0
  16. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +257 -14
  17. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  18. package/dist/bscPlugin/validation/BrsFileValidator.js +13 -0
  19. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  20. package/dist/cli.js +13 -0
  21. package/dist/cli.js.map +1 -1
  22. package/dist/diagnosticUtils.d.ts +51 -1
  23. package/dist/diagnosticUtils.js +222 -1
  24. package/dist/diagnosticUtils.js.map +1 -1
  25. package/dist/files/BrsFile.js +4 -2
  26. package/dist/files/BrsFile.js.map +1 -1
  27. package/dist/files/XmlFile.js +2 -1
  28. package/dist/files/XmlFile.js.map +1 -1
  29. package/dist/interfaces.d.ts +15 -1
  30. package/dist/lexer/TokenKind.d.ts +8 -0
  31. package/dist/lexer/TokenKind.js +21 -1
  32. package/dist/lexer/TokenKind.js.map +1 -1
  33. package/dist/lsp/LspProject.d.ts +19 -0
  34. package/dist/lsp/Project.d.ts +14 -0
  35. package/dist/lsp/Project.js +9 -1
  36. package/dist/lsp/Project.js.map +1 -1
  37. package/dist/lsp/ProjectManager.js +15 -1
  38. package/dist/lsp/ProjectManager.js.map +1 -1
  39. package/dist/lsp/worker/WorkerThreadProject.d.ts +14 -0
  40. package/dist/lsp/worker/WorkerThreadProject.js +7 -0
  41. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  42. package/dist/parser/Parser.d.ts +13 -1
  43. package/dist/parser/Parser.js +40 -14
  44. package/dist/parser/Parser.js.map +1 -1
  45. package/dist/util.js +20 -9
  46. package/dist/util.js.map +1 -1
  47. package/package.json +17 -14
  48. package/dist/astUtils/AstEditor.spec.d.ts +0 -1
  49. package/dist/astUtils/AstEditor.spec.js +0 -254
  50. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  51. package/dist/astUtils/creators.spec.d.ts +0 -1
  52. package/dist/astUtils/creators.spec.js +0 -21
  53. package/dist/astUtils/creators.spec.js.map +0 -1
  54. package/dist/astUtils/reflection.spec.d.ts +0 -1
  55. package/dist/astUtils/reflection.spec.js +0 -308
  56. package/dist/astUtils/reflection.spec.js.map +0 -1
  57. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  58. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  59. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  60. package/dist/astUtils/visitors.spec.d.ts +0 -1
  61. package/dist/astUtils/visitors.spec.js +0 -1197
  62. package/dist/astUtils/visitors.spec.js.map +0 -1
  63. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  64. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -887
  65. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  66. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  67. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -171
  68. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  69. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  70. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -201
  71. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  72. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  73. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  74. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  75. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +0 -1
  76. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +0 -298
  77. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +0 -1
  78. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  79. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -399
  80. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  81. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  82. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -290
  83. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  84. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  85. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  86. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  87. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +0 -1
  88. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -46
  89. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  90. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  91. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -487
  92. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  93. package/dist/common/Sequencer.spec.d.ts +0 -1
  94. package/dist/common/Sequencer.spec.js +0 -75
  95. package/dist/common/Sequencer.spec.js.map +0 -1
  96. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  97. package/dist/files/BrsFile.Class.spec.js +0 -1805
  98. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  99. package/dist/files/BrsFile.spec.d.ts +0 -1
  100. package/dist/files/BrsFile.spec.js +0 -4420
  101. package/dist/files/BrsFile.spec.js.map +0 -1
  102. package/dist/files/XmlFile.spec.d.ts +0 -1
  103. package/dist/files/XmlFile.spec.js +0 -1169
  104. package/dist/files/XmlFile.spec.js.map +0 -1
  105. package/dist/files/tests/imports.spec.d.ts +0 -1
  106. package/dist/files/tests/imports.spec.js +0 -241
  107. package/dist/files/tests/imports.spec.js.map +0 -1
  108. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  109. package/dist/files/tests/optionalChaning.spec.js +0 -152
  110. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  111. package/dist/lexer/Character.spec.d.ts +0 -1
  112. package/dist/lexer/Character.spec.js +0 -27
  113. package/dist/lexer/Character.spec.js.map +0 -1
  114. package/dist/lexer/Lexer.spec.d.ts +0 -1
  115. package/dist/lexer/Lexer.spec.js +0 -1300
  116. package/dist/lexer/Lexer.spec.js.map +0 -1
  117. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  118. package/dist/lsp/ActionQueue.spec.js +0 -80
  119. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  120. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  121. package/dist/lsp/DocumentManager.spec.js +0 -103
  122. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  123. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  124. package/dist/lsp/PathFilterer.spec.js +0 -182
  125. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  126. package/dist/lsp/Project.spec.d.ts +0 -1
  127. package/dist/lsp/Project.spec.js +0 -400
  128. package/dist/lsp/Project.spec.js.map +0 -1
  129. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  130. package/dist/lsp/ProjectManager.spec.js +0 -1147
  131. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  132. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  133. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  134. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  135. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  136. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  137. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  138. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  139. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -72
  140. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  141. package/dist/parser/AstNode.spec.d.ts +0 -1
  142. package/dist/parser/AstNode.spec.js +0 -1452
  143. package/dist/parser/AstNode.spec.js.map +0 -1
  144. package/dist/parser/Expression.spec.d.ts +0 -1
  145. package/dist/parser/Expression.spec.js +0 -40
  146. package/dist/parser/Expression.spec.js.map +0 -1
  147. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  148. package/dist/parser/Parser.Class.spec.js +0 -495
  149. package/dist/parser/Parser.Class.spec.js.map +0 -1
  150. package/dist/parser/Parser.spec.d.ts +0 -4
  151. package/dist/parser/Parser.spec.js +0 -1857
  152. package/dist/parser/Parser.spec.js.map +0 -1
  153. package/dist/parser/SGParser.spec.d.ts +0 -1
  154. package/dist/parser/SGParser.spec.js +0 -131
  155. package/dist/parser/SGParser.spec.js.map +0 -1
  156. package/dist/parser/Statement.spec.d.ts +0 -1
  157. package/dist/parser/Statement.spec.js +0 -118
  158. package/dist/parser/Statement.spec.js.map +0 -1
  159. package/dist/parser/tests/Parser.spec.d.ts +0 -19
  160. package/dist/parser/tests/Parser.spec.js +0 -38
  161. package/dist/parser/tests/Parser.spec.js.map +0 -1
  162. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  163. package/dist/parser/tests/controlFlow/For.spec.js +0 -161
  164. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  165. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  166. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -106
  167. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  168. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  169. package/dist/parser/tests/controlFlow/If.spec.js +0 -570
  170. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  171. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  172. package/dist/parser/tests/controlFlow/While.spec.js +0 -107
  173. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  174. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  175. package/dist/parser/tests/expression/Additive.spec.js +0 -99
  176. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  177. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  178. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -291
  179. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  180. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  181. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -401
  182. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  183. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  184. package/dist/parser/tests/expression/Boolean.spec.js +0 -83
  185. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  186. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  187. package/dist/parser/tests/expression/Call.spec.js +0 -242
  188. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  189. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  190. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  191. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  192. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  193. package/dist/parser/tests/expression/Function.spec.js +0 -403
  194. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  195. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  196. package/dist/parser/tests/expression/Indexing.spec.js +0 -289
  197. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  198. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  199. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  200. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  201. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  202. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  203. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  204. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  205. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -105
  206. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  207. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  208. package/dist/parser/tests/expression/Primary.spec.js +0 -149
  209. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  210. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  211. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  212. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  213. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  214. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  215. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  216. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  217. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  218. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  219. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  220. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  221. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  222. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  223. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -876
  224. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  225. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  226. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  227. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  228. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  229. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  230. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  231. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  232. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -708
  233. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  234. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  235. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  236. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  237. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  238. package/dist/parser/tests/statement/Declaration.spec.js +0 -108
  239. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  240. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  241. package/dist/parser/tests/statement/Dim.spec.js +0 -73
  242. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  243. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  244. package/dist/parser/tests/statement/Enum.spec.js +0 -1307
  245. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  246. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  247. package/dist/parser/tests/statement/For.spec.js +0 -45
  248. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  249. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  250. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  251. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  252. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  253. package/dist/parser/tests/statement/Function.spec.js +0 -342
  254. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  255. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  256. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  257. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  258. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  259. package/dist/parser/tests/statement/Increment.spec.js +0 -117
  260. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  261. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  262. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -102
  263. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  264. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  265. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  266. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  267. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  268. package/dist/parser/tests/statement/Misc.spec.js +0 -335
  269. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  270. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  271. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -195
  272. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  273. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  274. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -94
  275. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  276. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  277. package/dist/parser/tests/statement/Set.spec.js +0 -218
  278. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  279. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  280. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  281. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  282. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  283. package/dist/parser/tests/statement/Throw.spec.js +0 -35
  284. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  285. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  286. package/dist/parser/tests/statement/TryCatch.spec.js +0 -142
  287. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  288. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  289. package/dist/preprocessor/Manifest.spec.js +0 -80
  290. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  291. package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
  292. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  293. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  294. package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
  295. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  296. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  297. package/dist/types/ArrayType.spec.d.ts +0 -1
  298. package/dist/types/ArrayType.spec.js +0 -30
  299. package/dist/types/ArrayType.spec.js.map +0 -1
  300. package/dist/types/BooleanType.spec.d.ts +0 -1
  301. package/dist/types/BooleanType.spec.js +0 -12
  302. package/dist/types/BooleanType.spec.js.map +0 -1
  303. package/dist/types/DoubleType.spec.d.ts +0 -1
  304. package/dist/types/DoubleType.spec.js +0 -12
  305. package/dist/types/DoubleType.spec.js.map +0 -1
  306. package/dist/types/DynamicType.spec.d.ts +0 -1
  307. package/dist/types/DynamicType.spec.js +0 -12
  308. package/dist/types/DynamicType.spec.js.map +0 -1
  309. package/dist/types/FloatType.spec.d.ts +0 -1
  310. package/dist/types/FloatType.spec.js +0 -12
  311. package/dist/types/FloatType.spec.js.map +0 -1
  312. package/dist/types/FunctionType.spec.d.ts +0 -1
  313. package/dist/types/FunctionType.spec.js +0 -23
  314. package/dist/types/FunctionType.spec.js.map +0 -1
  315. package/dist/types/IntegerType.spec.d.ts +0 -1
  316. package/dist/types/IntegerType.spec.js +0 -12
  317. package/dist/types/IntegerType.spec.js.map +0 -1
  318. package/dist/types/InterfaceType.spec.d.ts +0 -1
  319. package/dist/types/InterfaceType.spec.js +0 -175
  320. package/dist/types/InterfaceType.spec.js.map +0 -1
  321. package/dist/types/InvalidType.spec.d.ts +0 -1
  322. package/dist/types/InvalidType.spec.js +0 -12
  323. package/dist/types/InvalidType.spec.js.map +0 -1
  324. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  325. package/dist/types/LongIntegerType.spec.js +0 -12
  326. package/dist/types/LongIntegerType.spec.js.map +0 -1
  327. package/dist/types/ObjectType.spec.d.ts +0 -1
  328. package/dist/types/ObjectType.spec.js +0 -12
  329. package/dist/types/ObjectType.spec.js.map +0 -1
  330. package/dist/types/StringType.spec.d.ts +0 -1
  331. package/dist/types/StringType.spec.js +0 -12
  332. package/dist/types/StringType.spec.js.map +0 -1
  333. package/dist/types/VoidType.spec.d.ts +0 -1
  334. package/dist/types/VoidType.spec.js +0 -12
  335. package/dist/types/VoidType.spec.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"Parser.spec.js","sourceRoot":"","sources":["../../src/parser/Parser.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,131 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../chai-config.spec");
4
- const vscode_languageserver_1 = require("vscode-languageserver");
5
- const DiagnosticMessages_1 = require("../DiagnosticMessages");
6
- const testHelpers_spec_1 = require("../testHelpers.spec");
7
- const SGParser_1 = require("./SGParser");
8
- const sinon_1 = require("sinon");
9
- const Program_1 = require("../Program");
10
- const testHelpers_spec_2 = require("../testHelpers.spec");
11
- let sinon = (0, sinon_1.createSandbox)();
12
- describe('SGParser', () => {
13
- let program;
14
- beforeEach(() => {
15
- program = new Program_1.Program({ rootDir: testHelpers_spec_2.rootDir, sourceMap: false });
16
- });
17
- afterEach(() => {
18
- sinon.restore();
19
- program.dispose();
20
- });
21
- it('Parses well formed SG component', () => {
22
- const file = program.setFile('components/file.xml', (0, testHelpers_spec_1.trim) `
23
- <?xml version="1.0" encoding="utf-8" ?>
24
- <component name="ParentScene" extends="GrandparentScene">
25
- <interface>
26
- <field id="content" type="string" alwaysNotify="true" />
27
- <function name="load" />
28
- </interface>
29
- <!-- some XML comment -->
30
- <script type="text/brightscript" uri="./Component1.brs" />
31
- <script type="text/brightscript">
32
- <![CDATA[
33
- function init()
34
- print "hello"
35
- end function
36
- ]]>
37
- </script>
38
- <children>
39
- <Label id="loadingIndicator"
40
- text="Loading..."
41
- font="font:MediumBoldSystemFont"
42
- />
43
- </children>
44
- </component>`);
45
- const { ast } = file.parser;
46
- (0, chai_config_spec_1.expect)(ast.prolog).to.exist;
47
- (0, chai_config_spec_1.expect)(ast.component).to.exist;
48
- (0, chai_config_spec_1.expect)(ast.root).to.equal(ast.component);
49
- (0, testHelpers_spec_1.expectZeroDiagnostics)(file);
50
- const output = file.transpile();
51
- (0, chai_config_spec_1.expect)(output.code.trimEnd()).to.equal((0, testHelpers_spec_1.trim) `
52
- <?xml version="1.0" encoding="utf-8" ?>
53
- <component name="ParentScene" extends="GrandparentScene">
54
- <interface>
55
- <field id="content" type="string" alwaysNotify="true" />
56
- <function name="load" />
57
- </interface>
58
- <script type="text/brightscript" uri="./Component1.brs" />
59
- <script type="text/brightscript"><![CDATA[
60
- function init()
61
- print "hello"
62
- end function
63
- ]]></script>
64
- <script type="text/brightscript" uri="pkg:/source/bslib.brs" />
65
- <children>
66
- <Label id="loadingIndicator" text="Loading..." font="font:MediumBoldSystemFont" />
67
- </children>
68
- </component>
69
- `);
70
- });
71
- it('does not crash when missing tag name', () => {
72
- const parser = new SGParser_1.default();
73
- parser.parse('pkg:/components/ParentScene.xml', (0, testHelpers_spec_1.trim) `
74
- <?xml version="1.0" encoding="utf-8" ?>
75
- <component name="ChildScene" extends="ParentScene">
76
- <!-- a standalone less-than symbol used to cause issues -->
77
- <
78
- </component>
79
- `);
80
- //the test passes if the parser doesn't throw a runtime exception.
81
- });
82
- it('Adds error when an unexpected tag is found in xml', () => {
83
- const parser = new SGParser_1.default();
84
- parser.parse('pkg:/components/ParentScene.xml', (0, testHelpers_spec_1.trim) `
85
- <?xml version="1.0" encoding="utf-8" ?>
86
- <component name="ChildScene" extends="ParentScene">
87
- <interface>
88
- <unexpected />
89
- </interface>
90
- <unexpectedToo />
91
- </component>
92
- `);
93
- (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(2);
94
- (0, chai_config_spec_1.expect)(parser.diagnostics[0]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag('unexpected')), { range: vscode_languageserver_1.Range.create(3, 9, 3, 19) }));
95
- (0, chai_config_spec_1.expect)(parser.diagnostics[1]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag('unexpectedToo')), { range: vscode_languageserver_1.Range.create(5, 5, 5, 18) }));
96
- });
97
- it('Adds error when a leaf tag is found to have children', () => {
98
- const parser = new SGParser_1.default();
99
- parser.parse('pkg:/components/ParentScene.xml', (0, testHelpers_spec_1.trim) `
100
- <?xml version="1.0" encoding="utf-8" ?>
101
- <component name="ChildScene" extends="ParentScene">
102
- <interface>
103
- <field id="prop">
104
- <unexpected />
105
- </field>
106
- </interface>
107
- <script type="text/brightscript" uri="./Component1.brs">
108
- <unexpectedToo />
109
- </script>
110
- </component>
111
- `);
112
- (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(2);
113
- (0, chai_config_spec_1.expect)(parser.diagnostics[0]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedChildren('field')), { range: vscode_languageserver_1.Range.create(3, 9, 3, 14) }));
114
- (0, chai_config_spec_1.expect)(parser.diagnostics[1]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedChildren('script')), { range: vscode_languageserver_1.Range.create(7, 5, 7, 11) }));
115
- });
116
- it('Adds error when whitespace appears before the prolog', () => {
117
- const parser = new SGParser_1.default();
118
- parser.parse('path/to/component/ChildScene.xml', /* not trimmed */ `
119
- <?xml version="1.0" encoding="utf-8" ?>
120
- <component name="ChildScene" extends="ParentScene">
121
- <script type="text/brightscript" uri="ChildScene.brs" />
122
- </component>`);
123
- (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(2);
124
- (0, chai_config_spec_1.expect)(parser.diagnostics[0]).to.deep.include({
125
- code: DiagnosticMessages_1.DiagnosticMessages.xmlGenericParseError('').code,
126
- range: vscode_languageserver_1.Range.create(1, 12, 1, 18)
127
- });
128
- (0, chai_config_spec_1.expect)(parser.diagnostics[1]).to.deep.include(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlGenericParseError('Syntax error: whitespace found before the XML prolog')), { range: vscode_languageserver_1.Range.create(0, 0, 1, 12) }));
129
- });
130
- });
131
- //# sourceMappingURL=SGParser.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SGParser.spec.js","sourceRoot":"","sources":["../../src/parser/SGParser.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,118 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../chai-config.spec");
4
- const Statement_1 = require("./Statement");
5
- const Parser_1 = require("./Parser");
6
- const visitors_1 = require("../astUtils/visitors");
7
- const reflection_1 = require("../astUtils/reflection");
8
- const vscode_languageserver_1 = require("vscode-languageserver");
9
- const Program_1 = require("../Program");
10
- const testHelpers_spec_1 = require("../testHelpers.spec");
11
- const testHelpers_spec_2 = require("../testHelpers.spec");
12
- describe('Statement', () => {
13
- let program;
14
- beforeEach(() => {
15
- program = new Program_1.Program({
16
- cwd: testHelpers_spec_2.tempDir
17
- });
18
- });
19
- describe('EmptyStatement', () => {
20
- it('returns empty array for transpile', () => {
21
- const statement = new Statement_1.EmptyStatement();
22
- (0, chai_config_spec_1.expect)(statement.transpile({})).to.eql([]);
23
- });
24
- it('does nothing for walkAll', () => {
25
- const statement = new Statement_1.EmptyStatement();
26
- statement.walk(() => {
27
- (0, chai_config_spec_1.expect)(true).to.be.false;
28
- }, { walkMode: visitors_1.WalkMode.visitAllRecursive });
29
- });
30
- });
31
- describe('Body', () => {
32
- it('initializes statements array if none provided', () => {
33
- const body = new Statement_1.Body();
34
- (0, chai_config_spec_1.expect)(body.statements).to.eql([]);
35
- });
36
- });
37
- describe('NamespaceStatement', () => {
38
- it('getName() works', () => {
39
- const parser = Parser_1.Parser.parse(`
40
- namespace NameA.NameB
41
- end namespace
42
- `);
43
- const statement = parser.ast.statements[0];
44
- (0, chai_config_spec_1.expect)(statement.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.NameB');
45
- (0, chai_config_spec_1.expect)(statement.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_NameB');
46
- });
47
- it('getName() works', () => {
48
- program.setFile('source/main.brs', `
49
- namespace NameA
50
- namespace NameB
51
- sub main()
52
- end sub
53
- end namespace
54
- end namespace
55
- `);
56
- program.validate();
57
- let node = program.getFile('source/main.brs').ast.findChild(reflection_1.isNamespaceStatement);
58
- while (node.findChild(reflection_1.isNamespaceStatement)) {
59
- node = node.findChild(reflection_1.isNamespaceStatement);
60
- }
61
- (0, chai_config_spec_1.expect)(node.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.NameB');
62
- (0, chai_config_spec_1.expect)(node.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_NameB');
63
- });
64
- });
65
- describe('CommentStatement', () => {
66
- describe('walk', () => {
67
- it('skips visitor if canceled', () => {
68
- const comment = new Statement_1.CommentStatement([]);
69
- const cancel = new vscode_languageserver_1.CancellationTokenSource();
70
- cancel.cancel();
71
- comment.walk(() => {
72
- throw new Error('Should not have been called');
73
- }, { walkMode: visitors_1.WalkMode.visitAllRecursive, cancel: cancel.token });
74
- });
75
- });
76
- });
77
- describe('ClassStatement', () => {
78
- describe('getName', () => {
79
- it('handles null namespace name', () => {
80
- const file = program.setFile('source/lib.bs', `
81
- class Animal
82
- end class
83
- `);
84
- program.validate();
85
- const stmt = file.parser.references.classStatements[0];
86
- (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('Animal');
87
- (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('Animal');
88
- });
89
- it('handles namespaces', () => {
90
- const file = program.setFile('source/lib.bs', `
91
- namespace NameA
92
- class Animal
93
- end class
94
- end namespace
95
- `);
96
- program.validate();
97
- const stmt = file.parser.references.classStatements[0];
98
- (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrightScript)).to.equal('NameA_Animal');
99
- (0, chai_config_spec_1.expect)(stmt.getName(Parser_1.ParseMode.BrighterScript)).to.equal('NameA.Animal');
100
- });
101
- });
102
- });
103
- describe('ImportStatement', () => {
104
- describe('getTypedef', () => {
105
- it('changes .bs file extensions to .brs', () => {
106
- const file = program.setFile('source/main.bs', `
107
- import "lib1.bs"
108
- import "pkg:/source/lib2.bs"
109
- `);
110
- (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.trim) `${file.getTypedef()}`).to.eql((0, testHelpers_spec_1.trim) `
111
- import "lib1.brs"
112
- import "pkg:/source/lib2.brs"
113
- `);
114
- });
115
- });
116
- });
117
- });
118
- //# sourceMappingURL=Statement.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Statement.spec.js","sourceRoot":"","sources":["../../src/parser/Statement.spec.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import type { Token } from '../../lexer/Token';
2
- import { TokenKind } from '../../lexer/TokenKind';
3
- import type { Range } from 'vscode-languageserver';
4
- /**
5
- * Creates a token with the given `kind` and (optional) `literal` value.
6
- */
7
- export declare function token(kind: TokenKind, text?: string): Token;
8
- /**
9
- * Creates an Identifier token with the given `text`.
10
- */
11
- export declare function identifier(text: string): Token;
12
- /**
13
- * Test whether a range matches a group of elements with a `range`
14
- */
15
- export declare function rangeMatch(range: Range, elements: ({
16
- range: Range;
17
- })[]): boolean;
18
- /** An end-of-file token. */
19
- export declare const EOF: Token;
@@ -1,38 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EOF = exports.rangeMatch = exports.identifier = exports.token = void 0;
4
- const TokenKind_1 = require("../../lexer/TokenKind");
5
- /* A set of utilities to be used while writing tests for the BRS parser. */
6
- /**
7
- * Creates a token with the given `kind` and (optional) `literal` value.
8
- */
9
- function token(kind, text) {
10
- return {
11
- kind: kind,
12
- text: text,
13
- isReserved: TokenKind_1.ReservedWords.has((text !== null && text !== void 0 ? text : '').toLowerCase()),
14
- range: null,
15
- leadingWhitespace: ''
16
- };
17
- }
18
- exports.token = token;
19
- /**
20
- * Creates an Identifier token with the given `text`.
21
- */
22
- function identifier(text) {
23
- return token(TokenKind_1.TokenKind.Identifier, text);
24
- }
25
- exports.identifier = identifier;
26
- /**
27
- * Test whether a range matches a group of elements with a `range`
28
- */
29
- function rangeMatch(range, elements) {
30
- return range.start.line === elements[0].range.start.line &&
31
- range.start.character === elements[0].range.start.character &&
32
- range.end.line === elements[elements.length - 1].range.end.line &&
33
- range.end.character === elements[elements.length - 1].range.end.character;
34
- }
35
- exports.rangeMatch = rangeMatch;
36
- /** An end-of-file token. */
37
- exports.EOF = token(TokenKind_1.TokenKind.Eof, '\0');
38
- //# sourceMappingURL=Parser.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Parser.spec.js","sourceRoot":"","sources":["../../../src/parser/tests/Parser.spec.ts"],"names":[],"mappings":";;;AACA,qDAAiE;AAGjE,2EAA2E;AAE3E;;GAEG;AACH,SAAgB,KAAK,CAAC,IAAe,EAAE,IAAa;IAChD,OAAO;QACH,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,IAAK;QACX,UAAU,EAAE,yBAAa,CAAC,GAAG,CAAC,CAAC,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;QACzD,KAAK,EAAE,IAAI;QACX,iBAAiB,EAAE,EAAE;KACxB,CAAC;AACN,CAAC;AARD,sBAQC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,IAAY;IACnC,OAAO,KAAK,CAAC,qBAAS,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC;AAFD,gCAEC;AAED;;GAEG;AACH,SAAgB,UAAU,CAAC,KAAY,EAAE,QAA8B;IACnE,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI;QACpD,KAAK,CAAC,KAAK,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;QAC3D,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI;QAC/D,KAAK,CAAC,GAAG,CAAC,SAAS,KAAK,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC;AAClF,CAAC;AALD,gCAKC;AAED,4BAA4B;AACf,QAAA,GAAG,GAAG,KAAK,CAAC,qBAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,161 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../../chai-config.spec");
4
- const Parser_1 = require("../../Parser");
5
- const TokenKind_1 = require("../../../lexer/TokenKind");
6
- const Parser_spec_1 = require("../Parser.spec");
7
- const vscode_languageserver_1 = require("vscode-languageserver");
8
- const Expression_1 = require("../../Expression");
9
- describe('parser for loops', () => {
10
- it('accepts a \'step\' clause', () => {
11
- var _a;
12
- let { statements, diagnostics } = Parser_1.Parser.parse([
13
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.For, 'for'),
14
- (0, Parser_spec_1.identifier)('i'),
15
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
16
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '0'),
17
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.To, 'to'),
18
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '5'),
19
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Step, 'step'),
20
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
21
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
22
- // body would go here, but it's not necessary for this test
23
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.EndFor, 'end for'),
24
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
25
- Parser_spec_1.EOF
26
- ]);
27
- const statement = statements[0];
28
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
29
- (0, chai_config_spec_1.expect)(statement.increment).to.be.instanceof(Expression_1.LiteralExpression);
30
- (0, chai_config_spec_1.expect)(statement.increment.token.text).to.equal('2');
31
- });
32
- it('supports omitted \'step\' clause', () => {
33
- var _a;
34
- let { statements, diagnostics } = Parser_1.Parser.parse([
35
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.For, 'for'),
36
- (0, Parser_spec_1.identifier)('i'),
37
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
38
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '0'),
39
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.To, 'to'),
40
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '5'),
41
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
42
- // body would go here, but it's not necessary for this test
43
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.EndFor, 'end for'),
44
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
45
- Parser_spec_1.EOF
46
- ]);
47
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
48
- (0, chai_config_spec_1.expect)(statements[0].increment).not.to.exist;
49
- });
50
- it('catches unterminated for reaching function boundary', () => {
51
- const parser = Parser_1.Parser.parse(`
52
- function test()
53
- for i = 1 to 10
54
- print "while"
55
- end function
56
- `);
57
- (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(1);
58
- (0, chai_config_spec_1.expect)(parser.statements).to.be.lengthOf(1);
59
- (0, chai_config_spec_1.expect)(parser.references.functionStatements[0].func.body.statements).to.be.lengthOf(1);
60
- });
61
- it('allows \'next\' to terminate loop', () => {
62
- let { statements, diagnostics } = Parser_1.Parser.parse([
63
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.For, 'for'),
64
- (0, Parser_spec_1.identifier)('i'),
65
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
66
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '0'),
67
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.To, 'to'),
68
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '5'),
69
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
70
- // body would go here, but it's not necessary for this test
71
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Next, 'next'),
72
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
73
- Parser_spec_1.EOF
74
- ]);
75
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
76
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
77
- });
78
- it('supports a single trailing colon after the `to` expression', () => {
79
- var _a;
80
- const parser = Parser_1.Parser.parse(`
81
- for i = 1 to 3:
82
- print "for"
83
- end for
84
- `);
85
- (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.be.undefined;
86
- });
87
- it('location tracking', () => {
88
- /**
89
- * 0 0 0 1 1
90
- * 0 4 8 2 6
91
- * +------------------
92
- * 0| for i = 0 to 10
93
- * 1| Rnd(i)
94
- * 2| end for
95
- */
96
- let { statements, diagnostics } = Parser_1.Parser.parse([
97
- {
98
- kind: TokenKind_1.TokenKind.For,
99
- text: 'for',
100
- isReserved: true,
101
- range: vscode_languageserver_1.Range.create(0, 0, 0, 3)
102
- },
103
- {
104
- kind: TokenKind_1.TokenKind.Identifier,
105
- text: 'i',
106
- isReserved: false,
107
- range: vscode_languageserver_1.Range.create(0, 4, 0, 5)
108
- },
109
- {
110
- kind: TokenKind_1.TokenKind.Equal,
111
- text: '=',
112
- isReserved: false,
113
- range: vscode_languageserver_1.Range.create(0, 6, 0, 7)
114
- },
115
- {
116
- kind: TokenKind_1.TokenKind.IntegerLiteral,
117
- text: '0',
118
- isReserved: false,
119
- range: vscode_languageserver_1.Range.create(0, 8, 0, 9)
120
- },
121
- {
122
- kind: TokenKind_1.TokenKind.To,
123
- text: 'to',
124
- isReserved: false,
125
- range: {
126
- start: { line: 0, character: 10 },
127
- end: { line: 0, character: 12 }
128
- }
129
- },
130
- {
131
- kind: TokenKind_1.TokenKind.IntegerLiteral,
132
- text: '10',
133
- isReserved: false,
134
- range: vscode_languageserver_1.Range.create(0, 13, 0, 15)
135
- },
136
- {
137
- kind: TokenKind_1.TokenKind.Newline,
138
- text: '\n',
139
- isReserved: false,
140
- range: vscode_languageserver_1.Range.create(0, 15, 0, 16)
141
- },
142
- // loop body isn't significant for location tracking, so helper functions are safe
143
- (0, Parser_spec_1.identifier)('Rnd'),
144
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftParen, '('),
145
- (0, Parser_spec_1.identifier)('i'),
146
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightParen, ')'),
147
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
148
- {
149
- kind: TokenKind_1.TokenKind.EndFor,
150
- text: 'end for',
151
- isReserved: false,
152
- range: vscode_languageserver_1.Range.create(2, 0, 2, 8)
153
- },
154
- Parser_spec_1.EOF
155
- ]);
156
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
157
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(1);
158
- (0, chai_config_spec_1.expect)(statements[0].range).to.deep.include(vscode_languageserver_1.Range.create(0, 0, 2, 8));
159
- });
160
- });
161
- //# sourceMappingURL=For.spec.js.map