brighterscript 0.72.1 → 0.72.3

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 (313) hide show
  1. package/README.md +7 -2
  2. package/dist/LanguageServer.d.ts +2 -1
  3. package/dist/LanguageServer.js +12 -0
  4. package/dist/LanguageServer.js.map +1 -1
  5. package/dist/Program.d.ts +5 -1
  6. package/dist/Program.js +20 -0
  7. package/dist/Program.js.map +1 -1
  8. package/dist/bscPlugin/BscPlugin.d.ts +2 -1
  9. package/dist/bscPlugin/BscPlugin.js +4 -0
  10. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  11. package/dist/bscPlugin/inlayHints/InlayHintProcessor.d.ts +23 -0
  12. package/dist/bscPlugin/inlayHints/InlayHintProcessor.js +183 -0
  13. package/dist/bscPlugin/inlayHints/InlayHintProcessor.js.map +1 -0
  14. package/dist/interfaces.d.ts +34 -1
  15. package/dist/lsp/LspProject.d.ts +8 -1
  16. package/dist/lsp/Project.d.ts +5 -1
  17. package/dist/lsp/Project.js +6 -0
  18. package/dist/lsp/Project.js.map +1 -1
  19. package/dist/lsp/ProjectManager.d.ts +5 -1
  20. package/dist/lsp/ProjectManager.js +12 -0
  21. package/dist/lsp/ProjectManager.js.map +1 -1
  22. package/dist/lsp/worker/WorkerThreadProject.d.ts +5 -1
  23. package/dist/lsp/worker/WorkerThreadProject.js +3 -0
  24. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  25. package/package.json +18 -14
  26. package/dist/astUtils/AstEditor.spec.d.ts +0 -1
  27. package/dist/astUtils/AstEditor.spec.js +0 -254
  28. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  29. package/dist/astUtils/creators.spec.d.ts +0 -1
  30. package/dist/astUtils/creators.spec.js +0 -21
  31. package/dist/astUtils/creators.spec.js.map +0 -1
  32. package/dist/astUtils/reflection.spec.d.ts +0 -1
  33. package/dist/astUtils/reflection.spec.js +0 -308
  34. package/dist/astUtils/reflection.spec.js.map +0 -1
  35. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  36. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  37. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  38. package/dist/astUtils/visitors.spec.d.ts +0 -1
  39. package/dist/astUtils/visitors.spec.js +0 -1197
  40. package/dist/astUtils/visitors.spec.js.map +0 -1
  41. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  42. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -1237
  43. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  44. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  45. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -171
  46. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  47. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  48. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -201
  49. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  50. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  51. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  52. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  53. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +0 -1
  54. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +0 -298
  55. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +0 -1
  56. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  57. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -399
  58. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  59. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  60. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -290
  61. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  62. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  63. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  64. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  65. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +0 -1
  66. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -46
  67. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  68. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  69. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -702
  70. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  71. package/dist/common/Sequencer.spec.d.ts +0 -1
  72. package/dist/common/Sequencer.spec.js +0 -75
  73. package/dist/common/Sequencer.spec.js.map +0 -1
  74. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  75. package/dist/files/BrsFile.Class.spec.js +0 -1805
  76. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  77. package/dist/files/BrsFile.spec.d.ts +0 -1
  78. package/dist/files/BrsFile.spec.js +0 -4611
  79. package/dist/files/BrsFile.spec.js.map +0 -1
  80. package/dist/files/XmlFile.spec.d.ts +0 -1
  81. package/dist/files/XmlFile.spec.js +0 -1219
  82. package/dist/files/XmlFile.spec.js.map +0 -1
  83. package/dist/files/tests/imports.spec.d.ts +0 -1
  84. package/dist/files/tests/imports.spec.js +0 -241
  85. package/dist/files/tests/imports.spec.js.map +0 -1
  86. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  87. package/dist/files/tests/optionalChaning.spec.js +0 -152
  88. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  89. package/dist/lexer/Character.spec.d.ts +0 -1
  90. package/dist/lexer/Character.spec.js +0 -27
  91. package/dist/lexer/Character.spec.js.map +0 -1
  92. package/dist/lexer/Lexer.spec.d.ts +0 -1
  93. package/dist/lexer/Lexer.spec.js +0 -1300
  94. package/dist/lexer/Lexer.spec.js.map +0 -1
  95. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  96. package/dist/lsp/ActionQueue.spec.js +0 -80
  97. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  98. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  99. package/dist/lsp/DocumentManager.spec.js +0 -103
  100. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  101. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  102. package/dist/lsp/PathFilterer.spec.js +0 -182
  103. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  104. package/dist/lsp/Project.spec.d.ts +0 -1
  105. package/dist/lsp/Project.spec.js +0 -400
  106. package/dist/lsp/Project.spec.js.map +0 -1
  107. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  108. package/dist/lsp/ProjectManager.spec.js +0 -1183
  109. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  110. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  111. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  112. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  113. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  114. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  115. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  116. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  117. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -72
  118. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  119. package/dist/parser/AstNode.spec.d.ts +0 -1
  120. package/dist/parser/AstNode.spec.js +0 -1452
  121. package/dist/parser/AstNode.spec.js.map +0 -1
  122. package/dist/parser/Expression.spec.d.ts +0 -1
  123. package/dist/parser/Expression.spec.js +0 -40
  124. package/dist/parser/Expression.spec.js.map +0 -1
  125. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  126. package/dist/parser/Parser.Class.spec.js +0 -495
  127. package/dist/parser/Parser.Class.spec.js.map +0 -1
  128. package/dist/parser/Parser.spec.d.ts +0 -4
  129. package/dist/parser/Parser.spec.js +0 -1985
  130. package/dist/parser/Parser.spec.js.map +0 -1
  131. package/dist/parser/SGParser.spec.d.ts +0 -1
  132. package/dist/parser/SGParser.spec.js +0 -131
  133. package/dist/parser/SGParser.spec.js.map +0 -1
  134. package/dist/parser/Statement.spec.d.ts +0 -1
  135. package/dist/parser/Statement.spec.js +0 -118
  136. package/dist/parser/Statement.spec.js.map +0 -1
  137. package/dist/parser/tests/Parser.spec.d.ts +0 -19
  138. package/dist/parser/tests/Parser.spec.js +0 -38
  139. package/dist/parser/tests/Parser.spec.js.map +0 -1
  140. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  141. package/dist/parser/tests/controlFlow/For.spec.js +0 -208
  142. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  143. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  144. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -143
  145. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  146. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  147. package/dist/parser/tests/controlFlow/If.spec.js +0 -570
  148. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  149. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  150. package/dist/parser/tests/controlFlow/While.spec.js +0 -156
  151. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  152. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  153. package/dist/parser/tests/expression/Additive.spec.js +0 -99
  154. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  155. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  156. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -291
  157. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  158. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  159. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -401
  160. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  161. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  162. package/dist/parser/tests/expression/Boolean.spec.js +0 -83
  163. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  164. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  165. package/dist/parser/tests/expression/Call.spec.js +0 -242
  166. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  167. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  168. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  169. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  170. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  171. package/dist/parser/tests/expression/Function.spec.js +0 -403
  172. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  173. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  174. package/dist/parser/tests/expression/Indexing.spec.js +0 -289
  175. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  176. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  177. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  178. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  179. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  180. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  181. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  182. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  183. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -105
  184. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  185. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  186. package/dist/parser/tests/expression/Primary.spec.js +0 -149
  187. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  188. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  189. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  190. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  191. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  192. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  193. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  194. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  195. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  196. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  197. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  198. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  199. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  200. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  201. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -876
  202. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  203. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  204. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  205. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  206. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  207. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  208. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  209. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  210. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -708
  211. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  212. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  213. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  214. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  215. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  216. package/dist/parser/tests/statement/Declaration.spec.js +0 -108
  217. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  218. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  219. package/dist/parser/tests/statement/Dim.spec.js +0 -73
  220. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  221. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  222. package/dist/parser/tests/statement/Enum.spec.js +0 -1307
  223. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  224. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  225. package/dist/parser/tests/statement/For.spec.js +0 -45
  226. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  227. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  228. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  229. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  230. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  231. package/dist/parser/tests/statement/Function.spec.js +0 -342
  232. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  233. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  234. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  235. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  236. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  237. package/dist/parser/tests/statement/Increment.spec.js +0 -117
  238. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  239. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  240. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -102
  241. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  242. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  243. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  244. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  245. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  246. package/dist/parser/tests/statement/Misc.spec.js +0 -335
  247. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  248. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  249. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -195
  250. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  251. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  252. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -94
  253. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  254. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  255. package/dist/parser/tests/statement/Set.spec.js +0 -218
  256. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  257. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  258. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  259. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  260. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  261. package/dist/parser/tests/statement/Throw.spec.js +0 -35
  262. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  263. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  264. package/dist/parser/tests/statement/TryCatch.spec.js +0 -142
  265. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  266. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  267. package/dist/preprocessor/Manifest.spec.js +0 -80
  268. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  269. package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
  270. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  271. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  272. package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
  273. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  274. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  275. package/dist/types/ArrayType.spec.d.ts +0 -1
  276. package/dist/types/ArrayType.spec.js +0 -30
  277. package/dist/types/ArrayType.spec.js.map +0 -1
  278. package/dist/types/BooleanType.spec.d.ts +0 -1
  279. package/dist/types/BooleanType.spec.js +0 -12
  280. package/dist/types/BooleanType.spec.js.map +0 -1
  281. package/dist/types/DoubleType.spec.d.ts +0 -1
  282. package/dist/types/DoubleType.spec.js +0 -12
  283. package/dist/types/DoubleType.spec.js.map +0 -1
  284. package/dist/types/DynamicType.spec.d.ts +0 -1
  285. package/dist/types/DynamicType.spec.js +0 -12
  286. package/dist/types/DynamicType.spec.js.map +0 -1
  287. package/dist/types/FloatType.spec.d.ts +0 -1
  288. package/dist/types/FloatType.spec.js +0 -12
  289. package/dist/types/FloatType.spec.js.map +0 -1
  290. package/dist/types/FunctionType.spec.d.ts +0 -1
  291. package/dist/types/FunctionType.spec.js +0 -23
  292. package/dist/types/FunctionType.spec.js.map +0 -1
  293. package/dist/types/IntegerType.spec.d.ts +0 -1
  294. package/dist/types/IntegerType.spec.js +0 -12
  295. package/dist/types/IntegerType.spec.js.map +0 -1
  296. package/dist/types/InterfaceType.spec.d.ts +0 -1
  297. package/dist/types/InterfaceType.spec.js +0 -175
  298. package/dist/types/InterfaceType.spec.js.map +0 -1
  299. package/dist/types/InvalidType.spec.d.ts +0 -1
  300. package/dist/types/InvalidType.spec.js +0 -12
  301. package/dist/types/InvalidType.spec.js.map +0 -1
  302. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  303. package/dist/types/LongIntegerType.spec.js +0 -12
  304. package/dist/types/LongIntegerType.spec.js.map +0 -1
  305. package/dist/types/ObjectType.spec.d.ts +0 -1
  306. package/dist/types/ObjectType.spec.js +0 -12
  307. package/dist/types/ObjectType.spec.js.map +0 -1
  308. package/dist/types/StringType.spec.d.ts +0 -1
  309. package/dist/types/StringType.spec.js +0 -12
  310. package/dist/types/StringType.spec.js.map +0 -1
  311. package/dist/types/VoidType.spec.d.ts +0 -1
  312. package/dist/types/VoidType.spec.js +0 -12
  313. package/dist/types/VoidType.spec.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"AstNode.spec.js","sourceRoot":"","sources":["../../src/parser/AstNode.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,40 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
4
- const Parser_1 = require("./Parser");
5
- const reflection_1 = require("../astUtils/reflection");
6
- describe('AnnotationExpression', () => {
7
- describe('getArguments', () => {
8
- function getArguments(text) {
9
- return Parser_1.Parser.parse(`
10
- @annotation(${text})
11
- function test()
12
- end function
13
- `).ast.findChild(reflection_1.isFunctionStatement).annotations[0].getArguments();
14
- }
15
- it('should return the value of a number', () => {
16
- (0, chai_1.expect)(getArguments('1')).to.eql([1]);
17
- });
18
- it('should return the value of a string', () => {
19
- (0, chai_1.expect)(getArguments('"hello"')).to.eql(['hello']);
20
- });
21
- it('should return the value of a boolean', () => {
22
- (0, chai_1.expect)(getArguments('true')).to.eql([true]);
23
- });
24
- it('should return the value of an object', () => {
25
- (0, chai_1.expect)(getArguments('{ a: 1 }')).to.eql([{ a: 1 }]);
26
- });
27
- it('should return the value of an array', () => {
28
- (0, chai_1.expect)(getArguments('[1, 2, 3]')).to.eql([
29
- [1, 2, 3]
30
- ]);
31
- });
32
- it('should return the value of a template string', () => {
33
- (0, chai_1.expect)(getArguments('`hello`')).to.eql(['hello']);
34
- });
35
- it('work with complex template string', () => {
36
- (0, chai_1.expect)(getArguments('`createObject("roSGNode", "BrsComponent")`')).to.eql([`createObject("roSGNode", "BrsComponent")`]);
37
- });
38
- });
39
- });
40
- //# sourceMappingURL=Expression.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Expression.spec.js","sourceRoot":"","sources":["../../src/parser/Expression.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,qCAAkC;AAClC,uDAA6D;AAG7D,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAClC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;QAC1B,SAAS,YAAY,CAAC,IAAY;YAC9B,OAAO,eAAM,CAAC,KAAK,CAAC;8BACF,IAAI;;;aAGrB,CAAC,CAAC,GAAG,CAAC,SAAS,CAAoB,gCAAmB,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC;QAC3F,CAAC;QAED,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,IAAA,aAAM,EAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,IAAA,aAAM,EAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,IAAA,aAAM,EAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,IAAA,aAAM,EAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,IAAA,aAAM,EAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC;gBACrC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aACZ,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACpD,IAAA,aAAM,EAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,IAAA,aAAM,EAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,0CAA0C,CAAC,CAAC,CAAC;QAC5H,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,495 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../chai-config.spec");
4
- const DiagnosticMessages_1 = require("../DiagnosticMessages");
5
- const TokenKind_1 = require("../lexer/TokenKind");
6
- const Lexer_1 = require("../lexer/Lexer");
7
- const Parser_1 = require("./Parser");
8
- const Statement_1 = require("./Statement");
9
- const Expression_1 = require("./Expression");
10
- const testHelpers_spec_1 = require("../testHelpers.spec");
11
- const reflection_1 = require("../astUtils/reflection");
12
- const util_1 = require("../util");
13
- describe('parser class', () => {
14
- it('throws exception when used in brightscript scope', () => {
15
- var _a;
16
- let { tokens } = Lexer_1.Lexer.scan(`
17
- class Person
18
- end class
19
- `);
20
- let { diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrightScript });
21
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.code).to.equal(DiagnosticMessages_1.DiagnosticMessages.bsFeatureNotSupportedInBrsFiles('').code);
22
- });
23
- for (let keyword of TokenKind_1.AllowedProperties) {
24
- //skip a few of the class-specific keywords that are not allowed as field/method names
25
- if ([
26
- TokenKind_1.TokenKind.Function,
27
- TokenKind_1.TokenKind.Rem,
28
- TokenKind_1.TokenKind.Sub,
29
- TokenKind_1.TokenKind.Public,
30
- TokenKind_1.TokenKind.Protected,
31
- TokenKind_1.TokenKind.Private,
32
- TokenKind_1.TokenKind.Override
33
- ].includes(keyword)) {
34
- continue;
35
- }
36
- it(`supports ${keyword} as property name`, () => {
37
- //test as property
38
- let { tokens } = Lexer_1.Lexer.scan(`
39
- class Person
40
- ${keyword} as string
41
- end class
42
- `);
43
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
44
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
45
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
46
- });
47
- it(`supports ${keyword} as method name`, () => {
48
- var _a;
49
- //test as property
50
- let { tokens } = Lexer_1.Lexer.scan(`
51
- class Person
52
- sub ${keyword}()
53
- end sub
54
- end class
55
- `);
56
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
57
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
58
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
59
- });
60
- }
61
- for (let keyword of TokenKind_1.AllowedLocalIdentifiers) {
62
- it(`supports ${keyword} as class name`, () => {
63
- //test as property
64
- let { tokens } = Lexer_1.Lexer.scan(`
65
- class ${keyword}
66
- end class
67
- `);
68
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
69
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
70
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
71
- });
72
- }
73
- it('does not allow "throw" to be defined as a local var', () => {
74
- var _a;
75
- const parser = Parser_1.Parser.parse(`
76
- sub main()
77
- 'not allowed to define "throw" as local var
78
- throw = true
79
- end sub
80
- `);
81
- (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.eql(DiagnosticMessages_1.DiagnosticMessages.unexpectedToken('=').message);
82
- });
83
- it('does not allow function named "throw"', () => {
84
- var _a;
85
- const parser = Parser_1.Parser.parse(`
86
- 'not allowed to define a function called "throw"
87
- sub throw()
88
- end sub
89
- `);
90
- (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.eql(DiagnosticMessages_1.DiagnosticMessages.cannotUseReservedWordAsIdentifier('throw').message);
91
- });
92
- it('does not allow function param named "type"', () => {
93
- const parser = Parser_1.Parser.parse(`
94
- sub test(type as string)
95
- end sub
96
- `);
97
- (0, testHelpers_spec_1.expectDiagnostics)(parser, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.cannotUseReservedWordAsIdentifier('type')), { range: util_1.default.createRange(1, 21, 1, 25) })]);
98
- });
99
- it('does not allow class method named "type"', () => {
100
- const parser = Parser_1.Parser.parse(`
101
- class Person
102
- sub test(type as string)
103
- end sub
104
- end class
105
- `, { mode: Parser_1.ParseMode.BrighterScript });
106
- (0, testHelpers_spec_1.expectDiagnostics)(parser, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.cannotUseReservedWordAsIdentifier('type')), { range: util_1.default.createRange(2, 25, 2, 29) })]);
107
- });
108
- it('does not allow interface method named "type"', () => {
109
- const parser = Parser_1.Parser.parse(`
110
- interface Person
111
- sub test(type as string)
112
- end interface
113
- `, { mode: Parser_1.ParseMode.BrighterScript });
114
- (0, testHelpers_spec_1.expectDiagnostics)(parser, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.cannotUseReservedWordAsIdentifier('type')), { range: util_1.default.createRange(2, 25, 2, 29) })]);
115
- });
116
- it('supports the try/catch keywords in various places', () => {
117
- var _a;
118
- const parser = Parser_1.Parser.parse(`
119
- sub main()
120
- 'allowed to be local vars
121
- try = true
122
- catch = true
123
- endTry = true
124
- 'not allowed to use throw as local variable
125
- 'throw = true
126
-
127
- 'allowed to be object props
128
- person = {
129
- try: true,
130
- catch: true,
131
- endTry: true,
132
- throw: true
133
- }
134
-
135
- person.try = true
136
- person.catch = true
137
- person.endTry = true
138
- person.throw = true
139
-
140
- 'allowed as object property reference
141
- print person.try
142
- print person.catch
143
- print person.endTry
144
- print person.throw
145
- end sub
146
-
147
- sub try()
148
- end sub
149
-
150
- sub catch()
151
- end sub
152
-
153
- sub endTry()
154
- end sub
155
-
156
- 'not allowed to define a function called "throw"
157
- ' sub throw()
158
- ' end sub
159
- `);
160
- (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
161
- });
162
- it('parses empty class', () => {
163
- let { tokens } = Lexer_1.Lexer.scan(`
164
- class Person
165
- end class
166
- `);
167
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
168
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
169
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
170
- });
171
- it('bad property does not invalidate next sibling method', () => {
172
- let { tokens } = Lexer_1.Lexer.scan(`
173
- class Person
174
- public firstname =
175
- public sub new()
176
- end sub
177
- end class
178
- `);
179
- let { statements } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
180
- let classStatement = statements[0];
181
- (0, chai_config_spec_1.expect)(classStatement.methods[0]).to.exist;
182
- (0, chai_config_spec_1.expect)(classStatement.methods[0].name.text).to.equal('new');
183
- });
184
- it('catches class without name', () => {
185
- let { tokens } = Lexer_1.Lexer.scan(`
186
- class
187
- end class
188
- `);
189
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
190
- (0, chai_config_spec_1.expect)(diagnostics).length.to.be.greaterThan(0);
191
- (0, chai_config_spec_1.expect)(diagnostics[0].code).to.equal(DiagnosticMessages_1.DiagnosticMessages.expectedIdentifierAfterKeyword('class').code);
192
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
193
- });
194
- it('catches malformed class', () => {
195
- let { tokens } = Lexer_1.Lexer.scan(`
196
- class Person
197
- `);
198
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
199
- (0, chai_config_spec_1.expect)(diagnostics).length.to.be.greaterThan(0);
200
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
201
- });
202
- describe('fields', () => {
203
- it('identifies perfect syntax', () => {
204
- let { tokens } = Lexer_1.Lexer.scan(`
205
- class Person
206
- public firstName as string
207
- end class
208
- `);
209
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
210
- (0, chai_config_spec_1.expect)(diagnostics).to.be.empty;
211
- (0, chai_config_spec_1.expect)(statements[0]).instanceof(Statement_1.ClassStatement);
212
- let field = statements[0].body[0];
213
- (0, chai_config_spec_1.expect)(field.accessModifier.kind).to.equal(TokenKind_1.TokenKind.Public);
214
- (0, chai_config_spec_1.expect)(field.name.text).to.equal('firstName');
215
- (0, chai_config_spec_1.expect)(field.as.text).to.equal('as');
216
- (0, chai_config_spec_1.expect)(field.type.text).to.equal('string');
217
- });
218
- it('can be solely an identifier', () => {
219
- let { tokens } = Lexer_1.Lexer.scan(`
220
- class Person
221
- firstName
222
- end class
223
- `);
224
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
225
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
226
- let cls = statements[0];
227
- (0, chai_config_spec_1.expect)(cls.fields[0].name.text).to.equal('firstName');
228
- });
229
- it('malformed field does not impact leading and trailing fields', () => {
230
- let { tokens } = Lexer_1.Lexer.scan(`
231
- class Person
232
- firstName as string
233
- middleName asdf asdf asdf
234
- lastName as string
235
- end class
236
- `);
237
- let { statements } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
238
- let cls = statements[0];
239
- (0, chai_config_spec_1.expect)(cls.fields[0].name.text).to.equal('firstName');
240
- (0, chai_config_spec_1.expect)(cls.fields[cls.fields.length - 1].name.text).to.equal('lastName');
241
- });
242
- it(`detects missing type after 'as' keyword`, () => {
243
- let { tokens } = Lexer_1.Lexer.scan(`
244
- class Person
245
- middleName as
246
- end class
247
- `);
248
- let { diagnostics, statements } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
249
- (0, chai_config_spec_1.expect)(diagnostics.length).to.be.greaterThan(0);
250
- let cls = statements[0];
251
- (0, chai_config_spec_1.expect)(cls.fields[0].name.text).to.equal('middleName');
252
- (0, chai_config_spec_1.expect)(diagnostics[0].code).to.equal(DiagnosticMessages_1.DiagnosticMessages.expectedIdentifierAfterKeyword('as').code);
253
- });
254
- it('field access modifier defaults to undefined when omitted', () => {
255
- let { tokens } = Lexer_1.Lexer.scan(`
256
- class Person
257
- firstName as string
258
- end class
259
- `);
260
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
261
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
262
- let cls = statements[0];
263
- (0, chai_config_spec_1.expect)(cls.fields[0].accessModifier).to.be.undefined;
264
- });
265
- });
266
- describe('methods', () => {
267
- it('recognizes perfect syntax', () => {
268
- let { tokens } = Lexer_1.Lexer.scan(`
269
- class Person
270
- public function getName() as string
271
- return "name"
272
- end function
273
- end class
274
- `);
275
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
276
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
277
- let theClass = statements[0];
278
- (0, chai_config_spec_1.expect)(theClass).to.be.instanceof(Statement_1.ClassStatement);
279
- let method = theClass.methods[0];
280
- (0, chai_config_spec_1.expect)(method.name.text).to.equal('getName');
281
- (0, chai_config_spec_1.expect)(method.accessModifier.text).to.equal('public');
282
- (0, chai_config_spec_1.expect)(method.func).to.exist;
283
- });
284
- it('supports omitting method return type', () => {
285
- let { tokens } = Lexer_1.Lexer.scan(`
286
- class Person
287
- public function getName()
288
- return "name"
289
- end function
290
- end class
291
- `);
292
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
293
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
294
- let theClass = statements[0];
295
- let method = theClass.methods[0];
296
- (0, chai_config_spec_1.expect)(method.accessModifier.text).to.equal('public');
297
- (0, chai_config_spec_1.expect)(method.func).to.exist;
298
- });
299
- it('method access modifier is undefined when omitted', () => {
300
- let { tokens } = Lexer_1.Lexer.scan(`
301
- class Person
302
- function getName() as string
303
- return "name"
304
- end function
305
- end class
306
- `);
307
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
308
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
309
- let cls = statements[0];
310
- (0, chai_config_spec_1.expect)(cls.methods[0].accessModifier).to.be.undefined;
311
- });
312
- it('supports primitive field initializers', () => {
313
- var _a;
314
- let { tokens } = Lexer_1.Lexer.scan(`
315
- class Person
316
- name = "Bob"
317
- age = 20
318
- isAlive = true
319
- callback = sub()
320
- print "hello"
321
- end sub
322
- end class
323
- `);
324
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
325
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
326
- let cls = statements[0];
327
- (0, chai_config_spec_1.expect)(cls.memberMap['name'].initialValue).to.exist;
328
- (0, chai_config_spec_1.expect)(cls.memberMap['age'].initialValue).to.exist;
329
- (0, chai_config_spec_1.expect)(cls.memberMap['isalive'].initialValue).to.exist;
330
- (0, chai_config_spec_1.expect)(cls.memberMap['callback'].initialValue).to.exist;
331
- });
332
- it('detects missing function keyword', () => {
333
- let { tokens } = Lexer_1.Lexer.scan(`
334
- class Person
335
- public getName() as string
336
- return "name"
337
- end function
338
- end class
339
- `);
340
- let { diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
341
- (0, chai_config_spec_1.expect)(diagnostics).to.have.lengthOf(1);
342
- (0, chai_config_spec_1.expect)(diagnostics[0].code).to.equal(DiagnosticMessages_1.DiagnosticMessages.missingCallableKeyword().code);
343
- });
344
- });
345
- it('supports comments in various locations', () => {
346
- var _a;
347
- let { diagnostics } = Parser_1.Parser.parse(`
348
- 'comment
349
- class Animal 'comment
350
- 'comment
351
- sub new() 'comment
352
- 'comment
353
- end sub 'comment
354
- 'comment
355
- end class 'comment
356
- `, { mode: Parser_1.ParseMode.BrighterScript });
357
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.not.exist;
358
- });
359
- it('recognizes the "extends" keyword', () => {
360
- var _a;
361
- let { tokens } = Lexer_1.Lexer.scan(`
362
- class Person
363
- public sub sayHi()
364
- print "hi"
365
- end sub
366
- end class
367
-
368
- class Toddler extends Person
369
- end class
370
- `);
371
- let { statements, diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
372
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.not.exist;
373
- let stmt = statements[1];
374
- (0, chai_config_spec_1.expect)(stmt.extendsKeyword.text).to.equal('extends');
375
- (0, chai_config_spec_1.expect)(stmt.parentClassName.getName(Parser_1.ParseMode.BrighterScript)).to.equal('Person');
376
- });
377
- it('catches missing identifier after "extends" keyword', () => {
378
- let { tokens } = Lexer_1.Lexer.scan(`
379
- class Person
380
- public sub sayHi()
381
- print "hi"
382
- end sub
383
- end class
384
-
385
- class Toddler extends
386
- end class
387
- `);
388
- let { diagnostics } = Parser_1.Parser.parse(tokens, { mode: Parser_1.ParseMode.BrighterScript });
389
- (0, chai_config_spec_1.expect)(diagnostics[0].code).to.equal(DiagnosticMessages_1.DiagnosticMessages.expectedIdentifierAfterKeyword('extends').code);
390
- });
391
- describe('new keyword', () => {
392
- it('parses properly', () => {
393
- var _a;
394
- let { statements, diagnostics } = Parser_1.Parser.parse(`
395
- sub main()
396
- a = new Animal()
397
- end sub
398
- class Animal
399
- end class
400
- `, { mode: Parser_1.ParseMode.BrighterScript });
401
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.not.exist;
402
- let body = statements[0].func.body;
403
- let stmt = body.statements[0];
404
- (0, chai_config_spec_1.expect)(stmt.value).to.be.instanceof(Expression_1.NewExpression);
405
- });
406
- it('is allowed to be used as a local variable in brs files', () => {
407
- var _a;
408
- let { diagnostics } = Parser_1.Parser.parse(`
409
- sub main()
410
- new = true
411
- old = new
412
- end sub
413
- `, { mode: Parser_1.ParseMode.BrightScript });
414
- (0, chai_config_spec_1.expect)((_a = diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).to.not.exist;
415
- });
416
- });
417
- describe('optional members', () => {
418
- it('allows optional fields', () => {
419
- let { statements, diagnostics } = Parser_1.Parser.parse(`
420
- class HasOptional
421
- optional name as string
422
- optional height
423
- end class
424
- `, { mode: Parser_1.ParseMode.BrighterScript });
425
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
426
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
427
- (0, chai_config_spec_1.expect)((0, reflection_1.isClassStatement)(statements[0])).to.be.true;
428
- const klass = statements[0];
429
- klass.fields.forEach(f => (0, chai_config_spec_1.expect)(f.isOptional).to.be.true);
430
- });
431
- it('allows fields named optional', () => {
432
- let { statements, diagnostics } = Parser_1.Parser.parse(`
433
- class IsJustOptional
434
- optional
435
- someThingElse
436
- end class
437
- `, { mode: Parser_1.ParseMode.BrighterScript });
438
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
439
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
440
- (0, chai_config_spec_1.expect)((0, reflection_1.isClassStatement)(statements[0])).to.be.true;
441
- const klass = statements[0];
442
- klass.fields.forEach(f => (0, chai_config_spec_1.expect)(f.isOptional).to.be.false);
443
- });
444
- it('allows typed fields named optional', () => {
445
- let { statements, diagnostics } = Parser_1.Parser.parse(`
446
- class IsJustOptional
447
- optional as string
448
- end class
449
- `, { mode: Parser_1.ParseMode.BrighterScript });
450
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
451
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
452
- (0, chai_config_spec_1.expect)((0, reflection_1.isClassStatement)(statements[0])).to.be.true;
453
- const klass = statements[0];
454
- klass.fields.forEach(f => (0, chai_config_spec_1.expect)(f.isOptional).to.be.false);
455
- });
456
- it('allows fields named optional that are also optional', () => {
457
- let { statements, diagnostics } = Parser_1.Parser.parse(`
458
- class IsJustOptional
459
- optional optional
460
- end class
461
- `, { mode: Parser_1.ParseMode.BrighterScript });
462
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
463
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
464
- (0, chai_config_spec_1.expect)((0, reflection_1.isClassStatement)(statements[0])).to.be.true;
465
- const klass = statements[0];
466
- klass.fields.forEach(f => (0, chai_config_spec_1.expect)(f.isOptional).to.be.true);
467
- });
468
- it('disallows optional methods', () => {
469
- let { statements, diagnostics } = Parser_1.Parser.parse(`
470
- class HasOptional
471
- optional function getValue() as boolean
472
- return false
473
- end function
474
- end class
475
- `, { mode: Parser_1.ParseMode.BrighterScript });
476
- (0, testHelpers_spec_1.expectDiagnosticsIncludes)(diagnostics, [
477
- DiagnosticMessages_1.DiagnosticMessages.expectedNewlineOrColon().message
478
- ]);
479
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
480
- });
481
- it('allows fields named `as` that are also optional', () => {
482
- let { statements, diagnostics } = Parser_1.Parser.parse(`
483
- class IsJustOptional
484
- optional as
485
- end class
486
- `, { mode: Parser_1.ParseMode.BrighterScript });
487
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
488
- (0, chai_config_spec_1.expect)(statements.length).to.eq(1);
489
- (0, chai_config_spec_1.expect)((0, reflection_1.isClassStatement)(statements[0])).to.be.true;
490
- const klass = statements[0];
491
- klass.fields.forEach(f => (0, chai_config_spec_1.expect)(f.isOptional).to.be.true);
492
- });
493
- });
494
- });
495
- //# sourceMappingURL=Parser.Class.spec.js.map