brighterscript 1.0.0-alpha.24 → 1.0.0-alpha.26

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 (536) hide show
  1. package/CHANGELOG.md +521 -233
  2. package/README.md +45 -139
  3. package/bsconfig.schema.json +46 -0
  4. package/dist/ActionPipeline.d.ts +10 -0
  5. package/dist/ActionPipeline.js +40 -0
  6. package/dist/ActionPipeline.js.map +1 -0
  7. package/dist/AstValidationSegmenter.d.ts +25 -0
  8. package/dist/AstValidationSegmenter.js +152 -0
  9. package/dist/AstValidationSegmenter.js.map +1 -0
  10. package/dist/BsConfig.d.ts +40 -4
  11. package/dist/BusyStatusTracker.d.ts +31 -0
  12. package/dist/BusyStatusTracker.js +83 -0
  13. package/dist/BusyStatusTracker.js.map +1 -0
  14. package/dist/Cache.js +3 -3
  15. package/dist/Cache.js.map +1 -1
  16. package/dist/CacheVerifier.d.ts +7 -0
  17. package/dist/CacheVerifier.js +20 -0
  18. package/dist/CacheVerifier.js.map +1 -0
  19. package/dist/CodeActionUtil.d.ts +3 -3
  20. package/dist/CodeActionUtil.js.map +1 -1
  21. package/dist/CommentFlagProcessor.d.ts +3 -2
  22. package/dist/CommentFlagProcessor.js +5 -4
  23. package/dist/CommentFlagProcessor.js.map +1 -1
  24. package/dist/DependencyGraph.d.ts +3 -2
  25. package/dist/DependencyGraph.js +11 -10
  26. package/dist/DependencyGraph.js.map +1 -1
  27. package/dist/DiagnosticCollection.js +9 -5
  28. package/dist/DiagnosticCollection.js.map +1 -1
  29. package/dist/DiagnosticFilterer.d.ts +1 -0
  30. package/dist/DiagnosticFilterer.js +5 -3
  31. package/dist/DiagnosticFilterer.js.map +1 -1
  32. package/dist/DiagnosticMessages.d.ts +61 -13
  33. package/dist/DiagnosticMessages.js +116 -19
  34. package/dist/DiagnosticMessages.js.map +1 -1
  35. package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
  36. package/dist/DiagnosticSeverityAdjuster.js +41 -0
  37. package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
  38. package/dist/FunctionScope.d.ts +28 -0
  39. package/dist/FunctionScope.js +52 -0
  40. package/dist/FunctionScope.js.map +1 -0
  41. package/dist/KeyedThrottler.d.ts +3 -3
  42. package/dist/KeyedThrottler.js +3 -3
  43. package/dist/KeyedThrottler.js.map +1 -1
  44. package/dist/LanguageServer.d.ts +23 -11
  45. package/dist/LanguageServer.js +150 -69
  46. package/dist/LanguageServer.js.map +1 -1
  47. package/dist/Logger.d.ts +3 -2
  48. package/dist/Logger.js +11 -3
  49. package/dist/Logger.js.map +1 -1
  50. package/dist/PluginInterface.d.ts +21 -3
  51. package/dist/PluginInterface.js +74 -6
  52. package/dist/PluginInterface.js.map +1 -1
  53. package/dist/Program.d.ts +158 -79
  54. package/dist/Program.js +841 -706
  55. package/dist/Program.js.map +1 -1
  56. package/dist/ProgramBuilder.d.ts +22 -12
  57. package/dist/ProgramBuilder.js +130 -103
  58. package/dist/ProgramBuilder.js.map +1 -1
  59. package/dist/Scope.d.ts +86 -137
  60. package/dist/Scope.js +453 -519
  61. package/dist/Scope.js.map +1 -1
  62. package/dist/Stopwatch.js +1 -1
  63. package/dist/Stopwatch.js.map +1 -1
  64. package/dist/SymbolTable.d.ts +89 -34
  65. package/dist/SymbolTable.js +239 -114
  66. package/dist/SymbolTable.js.map +1 -1
  67. package/dist/Throttler.d.ts +12 -0
  68. package/dist/Throttler.js +39 -0
  69. package/dist/Throttler.js.map +1 -1
  70. package/dist/Watcher.d.ts +0 -3
  71. package/dist/Watcher.js +0 -3
  72. package/dist/Watcher.js.map +1 -1
  73. package/dist/XmlScope.d.ts +4 -11
  74. package/dist/XmlScope.js +75 -88
  75. package/dist/XmlScope.js.map +1 -1
  76. package/dist/astUtils/CachedLookups.d.ts +48 -0
  77. package/dist/astUtils/CachedLookups.js +323 -0
  78. package/dist/astUtils/CachedLookups.js.map +1 -0
  79. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +9 -5
  80. package/dist/astUtils/{AstEditor.js → Editor.js} +10 -4
  81. package/dist/astUtils/Editor.js.map +1 -0
  82. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +69 -65
  83. package/dist/astUtils/Editor.spec.js.map +1 -0
  84. package/dist/astUtils/creators.d.ts +10 -10
  85. package/dist/astUtils/creators.js +54 -24
  86. package/dist/astUtils/creators.js.map +1 -1
  87. package/dist/astUtils/creators.spec.js +5 -5
  88. package/dist/astUtils/creators.spec.js.map +1 -1
  89. package/dist/astUtils/reflection.d.ts +132 -104
  90. package/dist/astUtils/reflection.js +220 -174
  91. package/dist/astUtils/reflection.js.map +1 -1
  92. package/dist/astUtils/reflection.spec.js +256 -157
  93. package/dist/astUtils/reflection.spec.js.map +1 -1
  94. package/dist/astUtils/stackedVisitor.spec.js +12 -12
  95. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  96. package/dist/astUtils/visitors.d.ts +53 -35
  97. package/dist/astUtils/visitors.js +29 -3
  98. package/dist/astUtils/visitors.js.map +1 -1
  99. package/dist/astUtils/visitors.spec.js +208 -52
  100. package/dist/astUtils/visitors.spec.js.map +1 -1
  101. package/dist/astUtils/xml.d.ts +9 -9
  102. package/dist/astUtils/xml.js +9 -9
  103. package/dist/astUtils/xml.js.map +1 -1
  104. package/dist/bscPlugin/BscPlugin.d.ts +11 -2
  105. package/dist/bscPlugin/BscPlugin.js +37 -3
  106. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  107. package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
  108. package/dist/bscPlugin/CallExpressionInfo.js +131 -0
  109. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
  110. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  111. package/dist/bscPlugin/FileWriter.js +24 -0
  112. package/dist/bscPlugin/FileWriter.js.map +1 -0
  113. package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
  114. package/dist/bscPlugin/SignatureHelpUtil.js +136 -0
  115. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
  116. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +16 -13
  117. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  118. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +16 -16
  119. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  120. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +52 -1
  121. package/dist/bscPlugin/completions/CompletionsProcessor.js +517 -26
  122. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  123. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1909 -0
  124. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  125. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  126. package/dist/bscPlugin/definition/DefinitionProvider.js +210 -0
  127. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  128. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +88 -0
  129. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  130. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  131. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  132. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  133. package/dist/bscPlugin/hover/HoverProcessor.d.ts +7 -7
  134. package/dist/bscPlugin/hover/HoverProcessor.js +123 -125
  135. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  136. package/dist/bscPlugin/hover/HoverProcessor.spec.js +371 -53
  137. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  138. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +2 -1
  139. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +83 -23
  140. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  141. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +83 -6
  142. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  143. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
  144. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  145. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  146. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  147. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  148. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  149. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  150. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  151. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  152. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.d.ts → BrsFileTranspileProcessor.d.ts} +4 -2
  153. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.js → BrsFileTranspileProcessor.js} +38 -12
  154. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  155. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  156. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  157. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  158. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
  159. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
  160. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
  161. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +13 -5
  162. package/dist/bscPlugin/validation/BrsFileValidator.js +262 -52
  163. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  164. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +230 -14
  165. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  166. package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
  167. package/dist/bscPlugin/validation/ProgramValidator.js +32 -0
  168. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
  169. package/dist/bscPlugin/validation/ScopeValidator.d.ts +58 -27
  170. package/dist/bscPlugin/validation/ScopeValidator.js +514 -286
  171. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  172. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  173. package/dist/bscPlugin/validation/ScopeValidator.spec.js +2527 -0
  174. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  175. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
  176. package/dist/bscPlugin/validation/XmlFileValidator.js +44 -0
  177. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
  178. package/dist/cli.js +104 -13
  179. package/dist/cli.js.map +1 -1
  180. package/dist/deferred.d.ts +3 -3
  181. package/dist/deferred.js.map +1 -1
  182. package/dist/diagnosticUtils.d.ts +8 -2
  183. package/dist/diagnosticUtils.js +47 -17
  184. package/dist/diagnosticUtils.js.map +1 -1
  185. package/dist/examples/plugins/removePrint.js +8 -10
  186. package/dist/examples/plugins/removePrint.js.map +1 -1
  187. package/dist/files/AssetFile.d.ts +26 -0
  188. package/dist/files/AssetFile.js +26 -0
  189. package/dist/files/AssetFile.js.map +1 -0
  190. package/dist/files/BrsFile.Class.spec.js +523 -493
  191. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  192. package/dist/files/BrsFile.d.ts +111 -117
  193. package/dist/files/BrsFile.js +684 -1142
  194. package/dist/files/BrsFile.js.map +1 -1
  195. package/dist/files/BrsFile.spec.js +1783 -1233
  196. package/dist/files/BrsFile.spec.js.map +1 -1
  197. package/dist/files/BscFile.d.ts +104 -0
  198. package/dist/files/BscFile.js +16 -0
  199. package/dist/files/BscFile.js.map +1 -0
  200. package/dist/files/Factory.d.ts +25 -0
  201. package/dist/files/Factory.js +22 -0
  202. package/dist/files/Factory.js.map +1 -0
  203. package/dist/files/LazyFileData.d.ts +20 -0
  204. package/dist/files/LazyFileData.js +54 -0
  205. package/dist/files/LazyFileData.js.map +1 -0
  206. package/dist/files/LazyFileData.spec.d.ts +1 -0
  207. package/dist/files/LazyFileData.spec.js +27 -0
  208. package/dist/files/LazyFileData.spec.js.map +1 -0
  209. package/dist/files/XmlFile.d.ts +70 -32
  210. package/dist/files/XmlFile.js +106 -118
  211. package/dist/files/XmlFile.js.map +1 -1
  212. package/dist/files/XmlFile.spec.js +325 -262
  213. package/dist/files/XmlFile.spec.js.map +1 -1
  214. package/dist/files/tests/imports.spec.js +48 -40
  215. package/dist/files/tests/imports.spec.js.map +1 -1
  216. package/dist/files/tests/optionalChaning.spec.js +84 -24
  217. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  218. package/dist/globalCallables.js +16 -21
  219. package/dist/globalCallables.js.map +1 -1
  220. package/dist/index.d.ts +12 -1
  221. package/dist/index.js +12 -1
  222. package/dist/index.js.map +1 -1
  223. package/dist/interfaces.d.ts +421 -162
  224. package/dist/interfaces.js +27 -0
  225. package/dist/interfaces.js.map +1 -1
  226. package/dist/lexer/Character.spec.js +5 -5
  227. package/dist/lexer/Character.spec.js.map +1 -1
  228. package/dist/lexer/Lexer.d.ts +12 -5
  229. package/dist/lexer/Lexer.js +28 -13
  230. package/dist/lexer/Lexer.js.map +1 -1
  231. package/dist/lexer/Lexer.spec.js +181 -135
  232. package/dist/lexer/Lexer.spec.js.map +1 -1
  233. package/dist/lexer/Token.d.ts +9 -1
  234. package/dist/lexer/Token.js +9 -1
  235. package/dist/lexer/Token.js.map +1 -1
  236. package/dist/lexer/TokenKind.d.ts +8 -0
  237. package/dist/lexer/TokenKind.js +24 -4
  238. package/dist/lexer/TokenKind.js.map +1 -1
  239. package/dist/parser/AstNode.d.ts +162 -0
  240. package/dist/parser/AstNode.js +225 -0
  241. package/dist/parser/AstNode.js.map +1 -0
  242. package/dist/parser/AstNode.spec.d.ts +1 -0
  243. package/dist/parser/AstNode.spec.js +165 -0
  244. package/dist/parser/AstNode.spec.js.map +1 -0
  245. package/dist/parser/BrsTranspileState.d.ts +4 -7
  246. package/dist/parser/BrsTranspileState.js +4 -12
  247. package/dist/parser/BrsTranspileState.js.map +1 -1
  248. package/dist/parser/Expression.d.ts +376 -283
  249. package/dist/parser/Expression.js +742 -585
  250. package/dist/parser/Expression.js.map +1 -1
  251. package/dist/parser/Parser.Class.spec.js +151 -145
  252. package/dist/parser/Parser.Class.spec.js.map +1 -1
  253. package/dist/parser/Parser.d.ts +48 -201
  254. package/dist/parser/Parser.js +705 -1026
  255. package/dist/parser/Parser.js.map +1 -1
  256. package/dist/parser/Parser.spec.d.ts +3 -1
  257. package/dist/parser/Parser.spec.js +861 -848
  258. package/dist/parser/Parser.spec.js.map +1 -1
  259. package/dist/parser/SGParser.d.ts +9 -8
  260. package/dist/parser/SGParser.js +10 -8
  261. package/dist/parser/SGParser.js.map +1 -1
  262. package/dist/parser/SGParser.spec.js +27 -38
  263. package/dist/parser/SGParser.spec.js.map +1 -1
  264. package/dist/parser/SGTypes.d.ts +98 -35
  265. package/dist/parser/SGTypes.js +169 -99
  266. package/dist/parser/SGTypes.js.map +1 -1
  267. package/dist/parser/Statement.d.ts +468 -272
  268. package/dist/parser/Statement.js +904 -631
  269. package/dist/parser/Statement.js.map +1 -1
  270. package/dist/parser/Statement.spec.js +47 -23
  271. package/dist/parser/Statement.spec.js.map +1 -1
  272. package/dist/parser/TranspileState.d.ts +1 -1
  273. package/dist/parser/TranspileState.js +7 -12
  274. package/dist/parser/TranspileState.js.map +1 -1
  275. package/dist/parser/tests/Parser.spec.js +3 -2
  276. package/dist/parser/tests/Parser.spec.js.map +1 -1
  277. package/dist/parser/tests/controlFlow/For.spec.js +33 -23
  278. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  279. package/dist/parser/tests/controlFlow/ForEach.spec.js +25 -20
  280. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  281. package/dist/parser/tests/controlFlow/If.spec.js +96 -94
  282. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  283. package/dist/parser/tests/controlFlow/While.spec.js +22 -16
  284. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  285. package/dist/parser/tests/expression/Additive.spec.js +8 -8
  286. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  287. package/dist/parser/tests/expression/ArrayLiterals.spec.js +58 -21
  288. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  289. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +62 -21
  290. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  291. package/dist/parser/tests/expression/Boolean.spec.js +8 -8
  292. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  293. package/dist/parser/tests/expression/Call.spec.js +129 -21
  294. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  295. package/dist/parser/tests/expression/Exponential.spec.js +5 -5
  296. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  297. package/dist/parser/tests/expression/Function.spec.js +36 -36
  298. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  299. package/dist/parser/tests/expression/Indexing.spec.js +92 -22
  300. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  301. package/dist/parser/tests/expression/Multiplicative.spec.js +9 -9
  302. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  303. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +59 -59
  304. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  305. package/dist/parser/tests/expression/PrefixUnary.spec.js +12 -12
  306. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  307. package/dist/parser/tests/expression/Primary.spec.js +12 -12
  308. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  309. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  310. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  311. package/dist/parser/tests/expression/Relational.spec.js +13 -13
  312. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  313. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  314. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  315. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +96 -57
  316. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  317. package/dist/parser/tests/expression/TernaryExpression.spec.js +89 -89
  318. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  319. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
  320. package/dist/parser/tests/expression/TypeExpression.spec.js +127 -0
  321. package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
  322. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  323. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  324. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  325. package/dist/parser/tests/statement/AssignmentOperators.spec.js +15 -15
  326. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  327. package/dist/parser/tests/statement/ConstStatement.spec.js +82 -33
  328. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  329. package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
  330. package/dist/parser/tests/statement/Continue.spec.js +119 -0
  331. package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
  332. package/dist/parser/tests/statement/Declaration.spec.js +19 -19
  333. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  334. package/dist/parser/tests/statement/Dim.spec.js +22 -22
  335. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  336. package/dist/parser/tests/statement/Enum.spec.js +98 -302
  337. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  338. package/dist/parser/tests/statement/For.spec.js +9 -10
  339. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  340. package/dist/parser/tests/statement/ForEach.spec.js +8 -9
  341. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  342. package/dist/parser/tests/statement/Function.spec.js +44 -35
  343. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  344. package/dist/parser/tests/statement/Goto.spec.js +5 -5
  345. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  346. package/dist/parser/tests/statement/Increment.spec.js +20 -20
  347. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  348. package/dist/parser/tests/statement/InterfaceStatement.spec.js +30 -196
  349. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  350. package/dist/parser/tests/statement/LibraryStatement.spec.js +11 -11
  351. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  352. package/dist/parser/tests/statement/Misc.spec.js +16 -78
  353. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  354. package/dist/parser/tests/statement/PrintStatement.spec.js +36 -34
  355. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  356. package/dist/parser/tests/statement/ReturnStatement.spec.js +14 -12
  357. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  358. package/dist/parser/tests/statement/Set.spec.js +48 -35
  359. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  360. package/dist/parser/tests/statement/Stop.spec.js +6 -6
  361. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  362. package/dist/parser/tests/statement/Throw.spec.js +6 -6
  363. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  364. package/dist/parser/tests/statement/TryCatch.spec.js +18 -16
  365. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  366. package/dist/preprocessor/Manifest.d.ts +1 -1
  367. package/dist/preprocessor/Manifest.js +2 -2
  368. package/dist/preprocessor/Manifest.js.map +1 -1
  369. package/dist/preprocessor/Manifest.spec.js +8 -8
  370. package/dist/preprocessor/Manifest.spec.js.map +1 -1
  371. package/dist/preprocessor/Preprocessor.d.ts +5 -6
  372. package/dist/preprocessor/Preprocessor.js +5 -5
  373. package/dist/preprocessor/Preprocessor.js.map +1 -1
  374. package/dist/preprocessor/Preprocessor.spec.js +25 -25
  375. package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
  376. package/dist/preprocessor/PreprocessorParser.d.ts +1 -1
  377. package/dist/preprocessor/PreprocessorParser.js +7 -1
  378. package/dist/preprocessor/PreprocessorParser.js.map +1 -1
  379. package/dist/preprocessor/PreprocessorParser.spec.js +13 -13
  380. package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
  381. package/dist/roku-types/data.json +5892 -10081
  382. package/dist/roku-types/index.d.ts +622 -1719
  383. package/dist/types/ArrayType.d.ts +10 -9
  384. package/dist/types/ArrayType.js +65 -60
  385. package/dist/types/ArrayType.js.map +1 -1
  386. package/dist/types/ArrayType.spec.js +36 -68
  387. package/dist/types/ArrayType.spec.js.map +1 -1
  388. package/dist/types/AssociativeArrayType.d.ts +11 -0
  389. package/dist/types/AssociativeArrayType.js +52 -0
  390. package/dist/types/AssociativeArrayType.js.map +1 -0
  391. package/dist/types/BaseFunctionType.d.ts +9 -0
  392. package/dist/types/BaseFunctionType.js +25 -0
  393. package/dist/types/BaseFunctionType.js.map +1 -0
  394. package/dist/types/BooleanType.d.ts +8 -5
  395. package/dist/types/BooleanType.js +14 -7
  396. package/dist/types/BooleanType.js.map +1 -1
  397. package/dist/types/BooleanType.spec.js +10 -6
  398. package/dist/types/BooleanType.spec.js.map +1 -1
  399. package/dist/types/BscType.d.ts +32 -21
  400. package/dist/types/BscType.js +118 -21
  401. package/dist/types/BscType.js.map +1 -1
  402. package/dist/types/BscTypeKind.d.ts +25 -0
  403. package/dist/types/BscTypeKind.js +30 -0
  404. package/dist/types/BscTypeKind.js.map +1 -0
  405. package/dist/types/BuiltInInterfaceAdder.d.ts +23 -0
  406. package/dist/types/BuiltInInterfaceAdder.js +171 -0
  407. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  408. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  409. package/dist/types/BuiltInInterfaceAdder.spec.js +116 -0
  410. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  411. package/dist/types/ClassType.d.ts +17 -0
  412. package/dist/types/ClassType.js +58 -0
  413. package/dist/types/ClassType.js.map +1 -0
  414. package/dist/types/ClassType.spec.d.ts +1 -0
  415. package/dist/types/ClassType.spec.js +77 -0
  416. package/dist/types/ClassType.spec.js.map +1 -0
  417. package/dist/types/ComponentType.d.ts +26 -0
  418. package/dist/types/ComponentType.js +83 -0
  419. package/dist/types/ComponentType.js.map +1 -0
  420. package/dist/types/DoubleType.d.ts +8 -5
  421. package/dist/types/DoubleType.js +18 -16
  422. package/dist/types/DoubleType.js.map +1 -1
  423. package/dist/types/DoubleType.spec.js +12 -6
  424. package/dist/types/DoubleType.spec.js.map +1 -1
  425. package/dist/types/DynamicType.d.ts +9 -5
  426. package/dist/types/DynamicType.js +15 -4
  427. package/dist/types/DynamicType.js.map +1 -1
  428. package/dist/types/DynamicType.spec.js +16 -5
  429. package/dist/types/DynamicType.spec.js.map +1 -1
  430. package/dist/types/EnumType.d.ts +30 -12
  431. package/dist/types/EnumType.js +43 -17
  432. package/dist/types/EnumType.js.map +1 -1
  433. package/dist/types/EnumType.spec.d.ts +1 -0
  434. package/dist/types/EnumType.spec.js +33 -0
  435. package/dist/types/EnumType.spec.js.map +1 -0
  436. package/dist/types/FloatType.d.ts +8 -5
  437. package/dist/types/FloatType.js +18 -16
  438. package/dist/types/FloatType.js.map +1 -1
  439. package/dist/types/FloatType.spec.js +4 -6
  440. package/dist/types/FloatType.spec.js.map +1 -1
  441. package/dist/types/FunctionType.d.ts +13 -8
  442. package/dist/types/FunctionType.js +30 -14
  443. package/dist/types/FunctionType.js.map +1 -1
  444. package/dist/types/InheritableType.d.ts +28 -0
  445. package/dist/types/InheritableType.js +152 -0
  446. package/dist/types/InheritableType.js.map +1 -0
  447. package/dist/types/IntegerType.d.ts +8 -5
  448. package/dist/types/IntegerType.js +18 -16
  449. package/dist/types/IntegerType.js.map +1 -1
  450. package/dist/types/IntegerType.spec.js +8 -6
  451. package/dist/types/IntegerType.spec.js.map +1 -1
  452. package/dist/types/InterfaceType.d.ts +12 -13
  453. package/dist/types/InterfaceType.js +20 -48
  454. package/dist/types/InterfaceType.js.map +1 -1
  455. package/dist/types/InterfaceType.spec.js +90 -56
  456. package/dist/types/InterfaceType.spec.js.map +1 -1
  457. package/dist/types/InvalidType.d.ts +7 -5
  458. package/dist/types/InvalidType.js +13 -7
  459. package/dist/types/InvalidType.js.map +1 -1
  460. package/dist/types/InvalidType.spec.js +8 -6
  461. package/dist/types/InvalidType.spec.js.map +1 -1
  462. package/dist/types/LongIntegerType.d.ts +8 -5
  463. package/dist/types/LongIntegerType.js +17 -15
  464. package/dist/types/LongIntegerType.js.map +1 -1
  465. package/dist/types/LongIntegerType.spec.js +10 -6
  466. package/dist/types/LongIntegerType.spec.js.map +1 -1
  467. package/dist/types/NamespaceType.d.ts +12 -0
  468. package/dist/types/NamespaceType.js +28 -0
  469. package/dist/types/NamespaceType.js.map +1 -0
  470. package/dist/types/ObjectType.d.ts +9 -8
  471. package/dist/types/ObjectType.js +21 -11
  472. package/dist/types/ObjectType.js.map +1 -1
  473. package/dist/types/ObjectType.spec.js +3 -3
  474. package/dist/types/ObjectType.spec.js.map +1 -1
  475. package/dist/types/ReferenceType.d.ts +63 -0
  476. package/dist/types/ReferenceType.js +423 -0
  477. package/dist/types/ReferenceType.js.map +1 -0
  478. package/dist/types/ReferenceType.spec.d.ts +1 -0
  479. package/dist/types/ReferenceType.spec.js +137 -0
  480. package/dist/types/ReferenceType.spec.js.map +1 -0
  481. package/dist/types/StringType.d.ts +11 -5
  482. package/dist/types/StringType.js +18 -7
  483. package/dist/types/StringType.js.map +1 -1
  484. package/dist/types/StringType.spec.js +3 -5
  485. package/dist/types/StringType.spec.js.map +1 -1
  486. package/dist/types/TypedFunctionType.d.ts +22 -17
  487. package/dist/types/TypedFunctionType.js +78 -60
  488. package/dist/types/TypedFunctionType.js.map +1 -1
  489. package/dist/types/TypedFunctionType.spec.js +105 -20
  490. package/dist/types/TypedFunctionType.spec.js.map +1 -1
  491. package/dist/types/UninitializedType.d.ts +8 -6
  492. package/dist/types/UninitializedType.js +13 -7
  493. package/dist/types/UninitializedType.js.map +1 -1
  494. package/dist/types/UnionType.d.ts +20 -0
  495. package/dist/types/UnionType.js +123 -0
  496. package/dist/types/UnionType.js.map +1 -0
  497. package/dist/types/UnionType.spec.d.ts +1 -0
  498. package/dist/types/UnionType.spec.js +130 -0
  499. package/dist/types/UnionType.spec.js.map +1 -0
  500. package/dist/types/VoidType.d.ts +8 -5
  501. package/dist/types/VoidType.js +14 -7
  502. package/dist/types/VoidType.js.map +1 -1
  503. package/dist/types/VoidType.spec.js +3 -3
  504. package/dist/types/VoidType.spec.js.map +1 -1
  505. package/dist/types/helper.spec.d.ts +1 -0
  506. package/dist/types/helper.spec.js +145 -0
  507. package/dist/types/helper.spec.js.map +1 -0
  508. package/dist/types/helpers.d.ts +19 -37
  509. package/dist/types/helpers.js +159 -99
  510. package/dist/types/helpers.js.map +1 -1
  511. package/dist/types/index.d.ts +22 -0
  512. package/dist/types/index.js +39 -0
  513. package/dist/types/index.js.map +1 -0
  514. package/dist/util.d.ts +143 -139
  515. package/dist/util.js +864 -385
  516. package/dist/util.js.map +1 -1
  517. package/dist/validators/ClassValidator.d.ts +8 -25
  518. package/dist/validators/ClassValidator.js +99 -179
  519. package/dist/validators/ClassValidator.js.map +1 -1
  520. package/package.json +165 -152
  521. package/dist/astUtils/AstEditor.js.map +0 -1
  522. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  523. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  524. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -32
  525. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  526. package/dist/parser/SGTypes.spec.js +0 -351
  527. package/dist/parser/SGTypes.spec.js.map +0 -1
  528. package/dist/types/CustomType.d.ts +0 -12
  529. package/dist/types/CustomType.js +0 -44
  530. package/dist/types/CustomType.js.map +0 -1
  531. package/dist/types/LazyType.d.ts +0 -16
  532. package/dist/types/LazyType.js +0 -44
  533. package/dist/types/LazyType.js.map +0 -1
  534. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  535. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → completions/CompletionsProcessor.spec.d.ts} +0 -0
  536. /package/dist/{parser/SGTypes.spec.d.ts → bscPlugin/definition/DefinitionProvider.spec.d.ts} +0 -0
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_1 = require("chai");
3
+ const chai_config_spec_1 = require("../../../chai-config.spec");
4
4
  const Parser_1 = require("../../Parser");
5
5
  const Statement_1 = require("../../Statement");
6
+ const reflection_1 = require("../../../astUtils/reflection");
6
7
  describe('parser try/catch', () => {
7
8
  it('can parse try catch statements', () => {
8
9
  var _a, _b, _c, _d;
@@ -15,17 +16,18 @@ describe('parser try/catch', () => {
15
16
  end try
16
17
  end sub
17
18
  `);
18
- (0, chai_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
19
- const stmt = parser.references.functionExpressions[0].body.statements[0];
20
- (0, chai_1.expect)(stmt).to.be.instanceof(Statement_1.TryCatchStatement);
21
- (0, chai_1.expect)((_b = stmt.tokens.try) === null || _b === void 0 ? void 0 : _b.text).to.eql('try');
22
- (0, chai_1.expect)(stmt.tryBranch).to.exist.and.ownProperty('statements').to.be.lengthOf(1);
23
- (0, chai_1.expect)(stmt.catchStatement).to.exist;
19
+ (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
20
+ const functionExpressions = parser.ast.findChildren(reflection_1.isFunctionExpression);
21
+ const stmt = functionExpressions[0].body.statements[0];
22
+ (0, chai_config_spec_1.expect)(stmt).to.be.instanceof(Statement_1.TryCatchStatement);
23
+ (0, chai_config_spec_1.expect)((_b = stmt.tokens.try) === null || _b === void 0 ? void 0 : _b.text).to.eql('try');
24
+ (0, chai_config_spec_1.expect)(stmt.tryBranch).to.exist.and.ownProperty('statements').to.be.lengthOf(1);
25
+ (0, chai_config_spec_1.expect)(stmt.catchStatement).to.exist;
24
26
  const cstmt = stmt.catchStatement;
25
- (0, chai_1.expect)((_c = cstmt.tokens.catch) === null || _c === void 0 ? void 0 : _c.text).to.eql('catch');
26
- (0, chai_1.expect)(cstmt.exceptionVariable.text).to.eql('e');
27
- (0, chai_1.expect)(cstmt.catchBranch).to.exist.and.ownProperty('statements').to.be.lengthOf(1);
28
- (0, chai_1.expect)((_d = stmt.tokens.endTry) === null || _d === void 0 ? void 0 : _d.text).to.eql('end try');
27
+ (0, chai_config_spec_1.expect)((_c = cstmt.tokens.catch) === null || _c === void 0 ? void 0 : _c.text).to.eql('catch');
28
+ (0, chai_config_spec_1.expect)(cstmt.tokens.exceptionVariable.text).to.eql('e');
29
+ (0, chai_config_spec_1.expect)(cstmt.catchBranch).to.exist.and.ownProperty('statements').to.be.lengthOf(1);
30
+ (0, chai_config_spec_1.expect)((_d = stmt.tokens.endTry) === null || _d === void 0 ? void 0 : _d.text).to.eql('end try');
29
31
  });
30
32
  it('supports various configurations of try-catch', () => {
31
33
  function expectNoParseErrors(text) {
@@ -35,7 +37,7 @@ describe('parser try/catch', () => {
35
37
  ${text}
36
38
  end sub
37
39
  `);
38
- (0, chai_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
40
+ (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
39
41
  }
40
42
  expectNoParseErrors(`
41
43
  try : print a.b.c : catch e : print "error" : end try
@@ -104,7 +106,7 @@ describe('parser try/catch', () => {
104
106
  end try
105
107
  end sub
106
108
  `);
107
- (0, chai_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
109
+ (0, chai_config_spec_1.expect)((_a = parser.diagnostics[0]) === null || _a === void 0 ? void 0 : _a.message).not.to.exist;
108
110
  });
109
111
  it('recovers from missing end-try when reaching function boundary', () => {
110
112
  const parser = Parser_1.Parser.parse(`
@@ -115,7 +117,7 @@ describe('parser try/catch', () => {
115
117
  print "error"
116
118
  end sub
117
119
  `);
118
- (0, chai_1.expect)(parser.diagnostics).to.be.lengthOf(1);
120
+ (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(1);
119
121
  });
120
122
  it('recovers from missing catch', () => {
121
123
  const parser = Parser_1.Parser.parse(`
@@ -126,7 +128,7 @@ describe('parser try/catch', () => {
126
128
  end try
127
129
  end sub
128
130
  `);
129
- (0, chai_1.expect)(parser.diagnostics).to.be.lengthOf(1);
131
+ (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(1);
130
132
  });
131
133
  it('recovers from missing catch and end-try when reaching function boundary', () => {
132
134
  const parser = Parser_1.Parser.parse(`
@@ -136,7 +138,7 @@ describe('parser try/catch', () => {
136
138
  print "error"
137
139
  end sub
138
140
  `);
139
- (0, chai_1.expect)(parser.diagnostics).to.be.lengthOf(1);
141
+ (0, chai_config_spec_1.expect)(parser.diagnostics).to.be.lengthOf(1);
140
142
  });
141
143
  });
142
144
  //# sourceMappingURL=TryCatch.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TryCatch.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/TryCatch.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TryCatch.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/statement/TryCatch.spec.ts"],"names":[],"mappings":";;AAAA,gEAAmD;AACnD,yCAAsC;AACtC,+CAAoD;AACpD,6DAAoE;AAGpE,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAC9B,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;;QACtC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;;;SAQ3B,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QAEpD,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;QAC9F,MAAM,IAAI,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAsB,CAAC;QAC5E,IAAA,yBAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,6BAAiB,CAAC,CAAC;QACjD,IAAA,yBAAM,EAAC,MAAA,IAAI,CAAC,MAAM,CAAC,GAAG,0CAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAA,yBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChF,IAAA,yBAAM,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC;QAClC,IAAA,yBAAM,EAAC,MAAA,KAAM,CAAC,MAAM,CAAC,KAAK,0CAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAClD,IAAA,yBAAM,EAAC,KAAM,CAAC,MAAM,CAAC,iBAAkB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC1D,IAAA,yBAAM,EAAC,KAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,IAAA,yBAAM,EAAC,MAAA,IAAI,CAAC,MAAM,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACpD,SAAS,mBAAmB,CAAC,IAAY;;YACrC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;sBAElB,IAAI;;aAEb,CAAC,CAAC;YACH,IAAA,yBAAM,EAAC,MAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;QACxD,CAAC;QAED,mBAAmB,CAAC;;SAEnB,CAAC,CAAC;QAEH,qBAAqB;QACrB,mBAAmB,CAAC;;SAEnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;SAGnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;;SAInB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;;;SAKnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;;SAInB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;SAGnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;SAGnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;SAGnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;SAGnB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;;SAInB,CAAC,CAAC;QAEH,mBAAmB,CAAC;;;;;;SAMnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;;QAC9C,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;;;SAQ3B,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAA,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,GAAG,EAAE;QACrE,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;;SAO3B,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,GAAG,EAAE;QACnC,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;;SAO3B,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yEAAyE,EAAE,GAAG,EAAE;QAC/E,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;SAM3B,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -24,4 +24,4 @@ export declare function parseManifest(contents: string): Map<string, string>;
24
24
  * @returns a map of key to boolean value representing the `bs_const` attribute, or an empty map if
25
25
  * no `bs_const` attribute is found.
26
26
  */
27
- export declare function getBsConst(manifest: Manifest): Map<string, boolean>;
27
+ export declare function getBsConst(manifest: Manifest, toLowerKeys?: boolean): Map<string, boolean>;
@@ -55,7 +55,7 @@ exports.parseManifest = parseManifest;
55
55
  * @returns a map of key to boolean value representing the `bs_const` attribute, or an empty map if
56
56
  * no `bs_const` attribute is found.
57
57
  */
58
- function getBsConst(manifest) {
58
+ function getBsConst(manifest, toLowerKeys = true) {
59
59
  if (!manifest.has('bs_const')) {
60
60
  return new Map();
61
61
  }
@@ -77,7 +77,7 @@ function getBsConst(manifest) {
77
77
  return [keyValuePair.slice(0, equals), keyValuePair.slice(equals + 1)];
78
78
  })
79
79
  // remove leading/trailing whitespace from keys and values, and force everything to lower case
80
- .map(([key, value]) => [key.trim().toLowerCase(), value.trim().toLowerCase()])
80
+ .map(([key, value]) => [toLowerKeys ? key.trim().toLowerCase() : key.trim(), value.trim().toLowerCase()])
81
81
  // convert value to boolean or throw
82
82
  .map(([key, value]) => {
83
83
  if (value.toLowerCase() === 'true') {
@@ -1 +1 @@
1
- {"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manifest.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const fsExtra = require("fs");
4
- const chai_1 = require("chai");
4
+ const chai_config_spec_1 = require("../chai-config.spec");
5
5
  const Manifest_1 = require("./Manifest");
6
6
  const sinon_1 = require("sinon");
7
7
  const testHelpers_spec_1 = require("../testHelpers.spec");
@@ -16,7 +16,7 @@ describe('manifest support', () => {
16
16
  describe('manifest parser', () => {
17
17
  it('returns an empty map if manifest not found', async () => {
18
18
  sinon.stub(fsExtra, 'readFile').returns(Promise.reject(new Error('File not found')));
19
- return (0, chai_1.expect)(await (0, Manifest_1.getManifest)('/no/manifest/here')).to.eql(new Map());
19
+ return (0, chai_config_spec_1.expect)(await (0, Manifest_1.getManifest)('/no/manifest/here')).to.eql(new Map());
20
20
  });
21
21
  it('rejects key-value pairs with no \'=\'', () => {
22
22
  (0, testHelpers_spec_1.expectThrows)(() => {
@@ -24,15 +24,15 @@ describe('manifest support', () => {
24
24
  });
25
25
  });
26
26
  it('ignores comments', () => {
27
- return (0, chai_1.expect)((0, Manifest_1.parseManifest)('')).to.eql(new Map());
27
+ return (0, chai_config_spec_1.expect)((0, Manifest_1.parseManifest)('')).to.eql(new Map());
28
28
  });
29
29
  it('retains whitespace for keys and values', () => {
30
- (0, chai_1.expect)((0, testHelpers_spec_1.mapToObject)((0, Manifest_1.parseManifest)(' leading interum and trailing key spaces = value '))).to.eql({
30
+ (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.mapToObject)((0, Manifest_1.parseManifest)(' leading interum and trailing key spaces = value '))).to.eql({
31
31
  ' leading interum and trailing key spaces ': ' value '
32
32
  });
33
33
  });
34
34
  it('does not convert values to primitives', () => {
35
- (0, chai_1.expect)((0, testHelpers_spec_1.mapToObject)((0, Manifest_1.parseManifest)((0, testHelpers_spec_1.trim) `
35
+ (0, chai_config_spec_1.expect)((0, testHelpers_spec_1.mapToObject)((0, Manifest_1.parseManifest)((0, testHelpers_spec_1.trim) `
36
36
  name=bob
37
37
  age=12
38
38
  enabled=true
@@ -47,7 +47,7 @@ describe('manifest support', () => {
47
47
  });
48
48
  describe('bs_const parser', () => {
49
49
  function test(manifest, expected) {
50
- (0, chai_1.expect)((0, Manifest_1.getBsConst)((0, Manifest_1.parseManifest)(manifest))).to.eql((0, testHelpers_spec_1.objectToMap)(expected));
50
+ (0, chai_config_spec_1.expect)((0, Manifest_1.getBsConst)((0, Manifest_1.parseManifest)(manifest))).to.eql((0, testHelpers_spec_1.objectToMap)(expected));
51
51
  }
52
52
  it('returns an empty map if \'bs_const\' isn\'t found', () => {
53
53
  test('', new Map());
@@ -60,7 +60,7 @@ describe('manifest support', () => {
60
60
  });
61
61
  it('trims whitespace from keys and values', () => {
62
62
  let manifest = new Map([['bs_const', ' key = true ']]);
63
- (0, chai_1.expect)((0, Manifest_1.getBsConst)(manifest)).to.eql(new Map([['key', true]]));
63
+ (0, chai_config_spec_1.expect)((0, Manifest_1.getBsConst)(manifest)).to.eql(new Map([['key', true]]));
64
64
  });
65
65
  it('rejects non-boolean values', () => {
66
66
  const manifest = new Map([['bs_const', 'string=word']]);
@@ -70,7 +70,7 @@ describe('manifest support', () => {
70
70
  });
71
71
  it('allows case-insensitive booleans', () => {
72
72
  let manifest = new Map([['bs_const', 'foo=true;bar=FalSE']]);
73
- (0, chai_1.expect)((0, Manifest_1.getBsConst)(manifest)).to.eql(new Map([
73
+ (0, chai_config_spec_1.expect)((0, Manifest_1.getBsConst)(manifest)).to.eql(new Map([
74
74
  ['foo', true],
75
75
  ['bar', false]
76
76
  ]));
@@ -1 +1 @@
1
- {"version":3,"file":"Manifest.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Manifest.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Manifest.spec.ts"],"names":[],"mappings":"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"}
@@ -13,8 +13,8 @@ export declare class Preprocessor implements CC.Visitor {
13
13
  processedTokens: Token[];
14
14
  /**
15
15
  * Filters the tokens contained within a set of chunks based on a set of constants.
16
- * @param chunks the chunks from which to retrieve tokens
17
- * @param bsConst the set of constants defined in a BrightScript `manifest` file's `bs_const` property
16
+ * @param tokens the tokens
17
+ * @param manifest a manifest used to extract bs_const properties from
18
18
  * @returns an object containing an array of `errors` and an array of `processedTokens` filtered by conditional
19
19
  * compilation directives included within
20
20
  */
@@ -52,9 +52,8 @@ export declare class Preprocessor implements CC.Visitor {
52
52
  */
53
53
  visitIf(chunk: CC.HashIfStatement): Token[];
54
54
  /**
55
- * Resolves a token to a JavaScript boolean value, or throws an error.
56
- * @param token the token to resolve to either `true`, `false`, or an error
57
- * @throws if attempting to reference an undefined `#const` or if `token` is neither `true`, `false`, nor an identifier.
55
+ * Resolves a token to a JavaScript boolean value, or logs a diagnostic error.
56
+ * @param token the token to resolve to either `true`, `false`, or `undefined`
58
57
  */
59
- evaluateCondition(token: Token): boolean;
58
+ evaluateCondition(token: Token): boolean | undefined;
60
59
  }
@@ -14,11 +14,12 @@ class Preprocessor {
14
14
  this.constants = new Map();
15
15
  /** The set of errors encountered when pre-processing conditional compilation directives. */
16
16
  this.diagnostics = [];
17
+ this.processedTokens = [];
17
18
  }
18
19
  /**
19
20
  * Filters the tokens contained within a set of chunks based on a set of constants.
20
- * @param chunks the chunks from which to retrieve tokens
21
- * @param bsConst the set of constants defined in a BrightScript `manifest` file's `bs_const` property
21
+ * @param tokens the tokens
22
+ * @param manifest a manifest used to extract bs_const properties from
22
23
  * @returns an object containing an array of `errors` and an array of `processedTokens` filtered by conditional
23
24
  * compilation directives included within
24
25
  */
@@ -133,9 +134,8 @@ class Preprocessor {
133
134
  return [];
134
135
  }
135
136
  /**
136
- * Resolves a token to a JavaScript boolean value, or throws an error.
137
- * @param token the token to resolve to either `true`, `false`, or an error
138
- * @throws if attempting to reference an undefined `#const` or if `token` is neither `true`, `false`, nor an identifier.
137
+ * Resolves a token to a JavaScript boolean value, or logs a diagnostic error.
138
+ * @param token the token to resolve to either `true`, `false`, or `undefined`
139
139
  */
140
140
  evaluateCondition(token) {
141
141
  var _a;
@@ -1 +1 @@
1
- {"version":3,"file":"Preprocessor.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Preprocessor.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.ts"],"names":[],"mappings":";;;AACA,kDAA+C;AAG/C,8DAA2D;AAC3D,6DAA0D;AAE1D,yCAAwC;AAExC;;;GAGG;AACH,MAAa,YAAY;IAAzB;QACY,cAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE/C,4FAA4F;QACrF,gBAAW,GAAG,EAAkB,CAAC;QAEjC,oBAAe,GAAY,EAAE,CAAC;IAkLzC,CAAC;IAhLG;;;;;;OAMG;IACI,OAAO,CAAC,MAAe,EAAE,QAAkB;QAC9C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;QAC1B,IAAI,MAAM,GAAG,uCAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC9C,yCAAyC;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;QAE7C,mCAAmC;QACnC,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACf;QACD,IAAI,OAAO,GAAG,IAAA,qBAAU,EAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,MAA+B,EAAE,OAA8B;QACzE,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC,eAAe,GAAG,MAAM;aACxB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAChC,MAAM,CACH,CAAC,SAAkB,EAAE,WAAoB,EAAE,EAAE,CAAC;YAC1C,GAAG,SAAS;YACZ,GAAG,WAAW;SACjB,EAAE,EAAE,CACR,CAAC;QACN,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,MAAM,CAAC,OAAO,CAAC,MAAe,EAAE,QAAkB;QACrD,OAAO,IAAI,YAAY,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxD,CAAC;IAED;;;OAGG;IACK,QAAQ,CAAC,UAAsB;QACnC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClC,OAAO,UAAU,CAAC;IACtB,CAAC;IAGD;;;;OAIG;IACI,iBAAiB,CAAC,KAA2B;QAChD,OAAO,KAAK,CAAC,MAAM,CAAC;IACxB,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,KAA0B;;QAC9C,MAAM,SAAS,GAAG,MAAA,MAAA,KAAK,CAAC,IAAI,0CAAE,IAAI,0CAAE,iBAAiB,EAAE,CAAC;QACxD,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;YAC/B,IAAI,CAAC,QAAQ,iCACN,uCAAkB,CAAC,yBAAyB,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAChE,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,IACzB,CAAC;SACN;QAED,IAAI,KAAK,CAAC;QACV,QAAQ,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE;YACtB,KAAK,qBAAS,CAAC,IAAI;gBACf,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM;YACV,KAAK,qBAAS,CAAC,KAAK;gBAChB,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACV,KAAK,qBAAS,CAAC,UAAU;gBACrB,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC/B,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oBACtC,MAAM;iBACT;gBAED,IAAI,CAAC,QAAQ,iCACN,uCAAkB,CAAC,sBAAsB,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAC9D,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAC1B,CAAC;gBACH,MAAM;YACV;gBACI,IAAI,CAAC,QAAQ,iCACN,uCAAkB,CAAC,qBAAqB,EAAE,KAC7C,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAC1B,CAAC;SACV;QAED,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAErC,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;;OAIG;IACI,UAAU,CAAC,KAAoB;QAClC,MAAM,IAAI,CAAC,QAAQ,iCACZ,uCAAkB,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KACnD,KAAK,EAAE,KAAK,CAAC,KAAK,IACpB,CAAC;IACP,CAAC;IAED;;;;OAIG;IACI,OAAO,CAAC,KAAyB;QACpC,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;YACzC,OAAO,KAAK,CAAC,UAAU;iBAClB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;SACxF;aAAM;YACH,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE;gBAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;oBAC1C,OAAO,MAAM,CAAC,UAAU;yBACnB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;yBAChC,MAAM,CACH,CAAC,SAAS,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,EACnE,EAAE,CACL,CAAC;iBACT;aACJ;SACJ;QAED,IAAI,KAAK,CAAC,UAAU,EAAE;YAClB,OAAO,KAAK,CAAC,UAAU;iBAClB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;iBAChC,MAAM,CAAC,CAAC,SAAS,EAAE,WAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,SAAS,EAAE,GAAG,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;SACxF;QAED,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;;OAGG;IACI,iBAAiB,CAAC,KAAY;;QACjC,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,KAAK,qBAAS,CAAC,IAAI;gBACf,OAAO,IAAI,CAAC;YAChB,KAAK,qBAAS,CAAC,KAAK;gBAChB,OAAO,KAAK,CAAC;YACjB,KAAK,qBAAS,CAAC,UAAU;gBACrB,MAAM,SAAS,GAAG,MAAA,KAAK,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAC;gBAC5C,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE;oBAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1C;gBACD,IAAI,CAAC,QAAQ,iCACN,uCAAkB,CAAC,2BAA2B,EAAE,KACnD,KAAK,EAAE,KAAK,CAAC,KAAK,IACpB,CAAC;gBACH,MAAM;YACV;gBACI,IAAI,CAAC,QAAQ,iCACN,uCAAkB,CAAC,kBAAkB,EAAE,KAC1C,KAAK,EAAE,KAAK,CAAC,KAAK,IACpB,CAAC;SACV;IACL,CAAC;CACJ;AAxLD,oCAwLC"}
@@ -4,7 +4,7 @@ const Parser_spec_1 = require("../parser/tests/Parser.spec");
4
4
  const TokenKind_1 = require("../lexer/TokenKind");
5
5
  const Preprocessor_1 = require("./Preprocessor");
6
6
  const Chunk_1 = require("./Chunk");
7
- const chai_1 = require("chai");
7
+ const chai_config_spec_1 = require("../chai-config.spec");
8
8
  const sinon_1 = require("sinon");
9
9
  let sinon = (0, sinon_1.createSandbox)();
10
10
  describe('preprocessor', () => {
@@ -20,40 +20,40 @@ describe('preprocessor', () => {
20
20
  Parser_spec_1.EOF
21
21
  ];
22
22
  let { processedTokens } = new Preprocessor_1.Preprocessor().filter([new Chunk_1.BrightScriptChunk(unprocessed)]);
23
- (0, chai_1.expect)(processedTokens).to.eql(unprocessed);
23
+ (0, chai_config_spec_1.expect)(processedTokens).to.eql(unprocessed);
24
24
  });
25
25
  describe('#const', () => {
26
26
  it('removes #const declarations from output', () => {
27
27
  let { processedTokens } = new Preprocessor_1.Preprocessor().filter([
28
28
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'))
29
29
  ]);
30
- (0, chai_1.expect)(processedTokens).to.eql([]);
30
+ (0, chai_config_spec_1.expect)(processedTokens).to.eql([]);
31
31
  });
32
32
  describe('values', () => {
33
33
  it('allows `true`', () => {
34
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
34
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
35
35
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
36
36
  ])).not.to.throw;
37
37
  });
38
38
  it('allows `false`', () => {
39
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
39
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
40
40
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('ipsum'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'))
41
41
  ])).not.to.throw;
42
42
  });
43
43
  it('allows identifiers', () => {
44
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
44
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
45
45
  // 'ipsum' must be defined before it's referenced
46
46
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('ipsum'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false')),
47
47
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('dolor'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
48
48
  ])).not.to.throw;
49
49
  });
50
50
  it('disallows strings', () => {
51
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
51
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
52
52
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('sit'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.String, 'good boy!'))
53
53
  ])).to.throw; //('#const declarations can only have');
54
54
  });
55
55
  it('disallows re-declaration of values', () => {
56
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
56
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
57
57
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false')),
58
58
  new Chunk_1.DeclarationChunk((0, Parser_spec_1.identifier)('lorem'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'))
59
59
  ])).to.throw;
@@ -62,12 +62,12 @@ describe('preprocessor', () => {
62
62
  });
63
63
  describe('#error', () => {
64
64
  it('throws error when #error directives encountered', () => {
65
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
65
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
66
66
  new Chunk_1.ErrorChunk((0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, '#error'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, 'I\'m an error message!'))
67
67
  ])).to.throw;
68
68
  });
69
69
  it('doesn\'t throw when branched around', () => {
70
- (0, chai_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
70
+ (0, chai_config_spec_1.expect)(() => new Preprocessor_1.Preprocessor().filter([
71
71
  new Chunk_1.HashIfStatement((0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'), [
72
72
  new Chunk_1.ErrorChunk((0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, '#error'), (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashError, 'I\'m an error message!'))
73
73
  ], [] // no else-ifs necessary
@@ -96,9 +96,9 @@ describe('preprocessor', () => {
96
96
  }
97
97
  ], [elseChunk])
98
98
  ]);
99
- (0, chai_1.expect)(ifChunk.accept.callCount).to.equal(1);
100
- (0, chai_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
101
- (0, chai_1.expect)(elseChunk.accept.callCount).to.equal(0);
99
+ (0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(1);
100
+ (0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
101
+ (0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
102
102
  });
103
103
  it('enters #else if branch', () => {
104
104
  new Preprocessor_1.Preprocessor().filter([
@@ -109,9 +109,9 @@ describe('preprocessor', () => {
109
109
  }
110
110
  ], [elseChunk])
111
111
  ]);
112
- (0, chai_1.expect)(ifChunk.accept.callCount).to.equal(0);
113
- (0, chai_1.expect)(elseIfChunk.accept.callCount).to.equal(1);
114
- (0, chai_1.expect)(elseChunk.accept.callCount).to.equal(0);
112
+ (0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
113
+ (0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(1);
114
+ (0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
115
115
  });
116
116
  it('enters #else branch', () => {
117
117
  new Preprocessor_1.Preprocessor().filter([
@@ -122,9 +122,9 @@ describe('preprocessor', () => {
122
122
  }
123
123
  ], [elseChunk])
124
124
  ]);
125
- (0, chai_1.expect)(ifChunk.accept.callCount).to.equal(0);
126
- (0, chai_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
127
- (0, chai_1.expect)(elseChunk.accept.callCount).to.equal(1);
125
+ (0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
126
+ (0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
127
+ (0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(1);
128
128
  });
129
129
  it('enters no branches if none pass', () => {
130
130
  new Preprocessor_1.Preprocessor().filter([
@@ -132,9 +132,9 @@ describe('preprocessor', () => {
132
132
  // NOTE: no 'else" chunk!
133
133
  )
134
134
  ]);
135
- (0, chai_1.expect)(ifChunk.accept.callCount).to.equal(0);
136
- (0, chai_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
137
- (0, chai_1.expect)(elseChunk.accept.callCount).to.equal(0);
135
+ (0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(0);
136
+ (0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
137
+ (0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
138
138
  });
139
139
  it('uses #const values to determine truth', () => {
140
140
  new Preprocessor_1.Preprocessor().filter([
@@ -143,9 +143,9 @@ describe('preprocessor', () => {
143
143
  // NOTE: no 'else" chunk!
144
144
  )
145
145
  ]);
146
- (0, chai_1.expect)(ifChunk.accept.callCount).to.equal(1);
147
- (0, chai_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
148
- (0, chai_1.expect)(elseChunk.accept.callCount).to.equal(0);
146
+ (0, chai_config_spec_1.expect)(ifChunk.accept.callCount).to.equal(1);
147
+ (0, chai_config_spec_1.expect)(elseIfChunk.accept.callCount).to.equal(0);
148
+ (0, chai_config_spec_1.expect)(elseChunk.accept.callCount).to.equal(0);
149
149
  });
150
150
  });
151
151
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Preprocessor.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Preprocessor.spec.js","sourceRoot":"","sources":["../../src/preprocessor/Preprocessor.spec.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export declare class PreprocessorParser {
14
14
  * Parses an array of tokens into an array of "chunks" - conditional compilation directives and their
15
15
  * associated BrightScript.
16
16
  *
17
- * @param toParse the array of tokens to parse
17
+ * @param tokens the array of tokens to parse
18
18
  */
19
19
  parse(tokens: Token[]): this;
20
20
  static parse(tokens: Token[]): PreprocessorParser;
@@ -7,13 +7,19 @@ const DiagnosticMessages_1 = require("../DiagnosticMessages");
7
7
  /** * Parses `Tokens` into chunks of tokens, excluding conditional compilation directives. */
8
8
  class PreprocessorParser {
9
9
  constructor() {
10
+ this.diagnostics = [];
11
+ this.tokens = [];
10
12
  this.current = 0;
13
+ /**
14
+ * an array of chunks (conditional compilation directives and the associated BrightScript)
15
+ */
16
+ this.chunks = [];
11
17
  }
12
18
  /**
13
19
  * Parses an array of tokens into an array of "chunks" - conditional compilation directives and their
14
20
  * associated BrightScript.
15
21
  *
16
- * @param toParse the array of tokens to parse
22
+ * @param tokens the array of tokens to parse
17
23
  */
18
24
  parse(tokens) {
19
25
  this.tokens = tokens;
@@ -1 +1 @@
1
- {"version":3,"file":"PreprocessorParser.js","sourceRoot":"","sources":["../../src/preprocessor/PreprocessorParser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PreprocessorParser.js","sourceRoot":"","sources":["../../src/preprocessor/PreprocessorParser.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const PreprocessorParser_1 = require("./PreprocessorParser");
4
4
  const Parser_spec_1 = require("../parser/tests/Parser.spec");
5
5
  const TokenKind_1 = require("../lexer/TokenKind");
6
- const chai_1 = require("chai");
6
+ const chai_config_spec_1 = require("../chai-config.spec");
7
7
  describe('preprocessor parser', () => {
8
8
  let parser;
9
9
  beforeEach(() => {
@@ -17,8 +17,8 @@ describe('preprocessor parser', () => {
17
17
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
18
18
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
19
19
  ]);
20
- (0, chai_1.expect)(diagnostics).to.eql([]);
21
- (0, chai_1.expect)(chunks[0].tokens.map(x => x.kind)).to.eql([
20
+ (0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
21
+ (0, chai_config_spec_1.expect)(chunks[0].tokens.map(x => x.kind)).to.eql([
22
22
  TokenKind_1.TokenKind.Identifier,
23
23
  TokenKind_1.TokenKind.LeftParen,
24
24
  TokenKind_1.TokenKind.RightParen,
@@ -34,8 +34,8 @@ describe('preprocessor parser', () => {
34
34
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
35
35
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
36
36
  ]);
37
- (0, chai_1.expect)(diagnostics).to.be.empty;
38
- (0, chai_1.expect)(chunks).to.exist;
37
+ (0, chai_config_spec_1.expect)(diagnostics).to.be.empty;
38
+ (0, chai_config_spec_1.expect)(chunks).to.exist;
39
39
  });
40
40
  it('parses #error', () => {
41
41
  let { chunks, diagnostics } = parser.parse([
@@ -43,8 +43,8 @@ describe('preprocessor parser', () => {
43
43
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashErrorMessage, 'I\'m an error message!'),
44
44
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
45
45
  ]);
46
- (0, chai_1.expect)(diagnostics).to.eql([]);
47
- (0, chai_1.expect)(chunks).to.exist;
46
+ (0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
47
+ (0, chai_config_spec_1.expect)(chunks).to.exist;
48
48
  });
49
49
  describe('conditionals', () => {
50
50
  it('#if only', () => {
@@ -59,8 +59,8 @@ describe('preprocessor parser', () => {
59
59
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
60
60
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
61
61
  ]);
62
- (0, chai_1.expect)(diagnostics).to.eql([]);
63
- (0, chai_1.expect)(chunks).to.exist;
62
+ (0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
63
+ (0, chai_config_spec_1.expect)(chunks).to.exist;
64
64
  });
65
65
  it('#if and #else', () => {
66
66
  let { chunks, diagnostics } = parser.parse([
@@ -80,8 +80,8 @@ describe('preprocessor parser', () => {
80
80
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
81
81
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
82
82
  ]);
83
- (0, chai_1.expect)(diagnostics).to.eql([]);
84
- (0, chai_1.expect)(chunks).to.exist;
83
+ (0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
84
+ (0, chai_config_spec_1.expect)(chunks).to.exist;
85
85
  });
86
86
  it('#if #else if and #else', () => {
87
87
  let { chunks, diagnostics } = parser.parse([
@@ -108,8 +108,8 @@ describe('preprocessor parser', () => {
108
108
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.HashEndIf, '#endif'),
109
109
  (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Eof, '\0')
110
110
  ]);
111
- (0, chai_1.expect)(diagnostics).to.eql([]);
112
- (0, chai_1.expect)(chunks).to.exist;
111
+ (0, chai_config_spec_1.expect)(diagnostics).to.eql([]);
112
+ (0, chai_config_spec_1.expect)(chunks).to.exist;
113
113
  });
114
114
  });
115
115
  });