brighterscript 0.66.0-alpha.8 → 0.67.0

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 (472) hide show
  1. package/CHANGELOG.md +120 -71
  2. package/README.md +14 -418
  3. package/dist/BsConfig.d.ts +25 -2
  4. package/dist/Cache.js +3 -3
  5. package/dist/Cache.js.map +1 -1
  6. package/dist/CodeActionUtil.d.ts +3 -3
  7. package/dist/CodeActionUtil.js.map +1 -1
  8. package/dist/CommentFlagProcessor.d.ts +3 -4
  9. package/dist/CommentFlagProcessor.js +4 -3
  10. package/dist/CommentFlagProcessor.js.map +1 -1
  11. package/dist/DependencyGraph.js +8 -8
  12. package/dist/DependencyGraph.js.map +1 -1
  13. package/dist/DiagnosticFilterer.d.ts +8 -4
  14. package/dist/DiagnosticFilterer.js +71 -38
  15. package/dist/DiagnosticFilterer.js.map +1 -1
  16. package/dist/DiagnosticMessages.d.ts +15 -36
  17. package/dist/DiagnosticMessages.js +15 -61
  18. package/dist/DiagnosticMessages.js.map +1 -1
  19. package/dist/DiagnosticSeverityAdjuster.js +3 -0
  20. package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
  21. package/dist/FunctionScope.d.ts +2 -3
  22. package/dist/FunctionScope.js +0 -3
  23. package/dist/FunctionScope.js.map +1 -1
  24. package/dist/LanguageServer.d.ts +1 -2
  25. package/dist/LanguageServer.js +29 -35
  26. package/dist/LanguageServer.js.map +1 -1
  27. package/dist/Logger.d.ts +5 -9
  28. package/dist/Logger.js +18 -22
  29. package/dist/Logger.js.map +1 -1
  30. package/dist/PluginInterface.d.ts +13 -15
  31. package/dist/PluginInterface.js +16 -70
  32. package/dist/PluginInterface.js.map +1 -1
  33. package/dist/Program.d.ts +105 -138
  34. package/dist/Program.js +479 -702
  35. package/dist/Program.js.map +1 -1
  36. package/dist/ProgramBuilder.d.ts +8 -19
  37. package/dist/ProgramBuilder.js +82 -87
  38. package/dist/ProgramBuilder.js.map +1 -1
  39. package/dist/Scope.d.ts +56 -46
  40. package/dist/Scope.js +281 -217
  41. package/dist/Scope.js.map +1 -1
  42. package/dist/Stopwatch.js +1 -1
  43. package/dist/Stopwatch.js.map +1 -1
  44. package/dist/SymbolTable.d.ts +12 -68
  45. package/dist/SymbolTable.js +28 -213
  46. package/dist/SymbolTable.js.map +1 -1
  47. package/dist/XmlScope.d.ts +5 -7
  48. package/dist/XmlScope.js +36 -76
  49. package/dist/XmlScope.js.map +1 -1
  50. package/dist/astUtils/{Editor.d.ts → AstEditor.d.ts} +1 -6
  51. package/dist/astUtils/{Editor.js → AstEditor.js} +3 -9
  52. package/dist/astUtils/AstEditor.js.map +1 -0
  53. package/dist/astUtils/{Editor.spec.js → AstEditor.spec.js} +6 -10
  54. package/dist/astUtils/AstEditor.spec.js.map +1 -0
  55. package/dist/astUtils/creators.d.ts +8 -19
  56. package/dist/astUtils/creators.js +22 -54
  57. package/dist/astUtils/creators.js.map +1 -1
  58. package/dist/astUtils/creators.spec.js +0 -10
  59. package/dist/astUtils/creators.spec.js.map +1 -1
  60. package/dist/astUtils/reflection.d.ts +45 -81
  61. package/dist/astUtils/reflection.js +157 -220
  62. package/dist/astUtils/reflection.js.map +1 -1
  63. package/dist/astUtils/reflection.spec.js +19 -96
  64. package/dist/astUtils/reflection.spec.js.map +1 -1
  65. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  66. package/dist/astUtils/visitors.d.ts +14 -18
  67. package/dist/astUtils/visitors.js +9 -22
  68. package/dist/astUtils/visitors.js.map +1 -1
  69. package/dist/astUtils/visitors.spec.js +9 -62
  70. package/dist/astUtils/visitors.spec.js.map +1 -1
  71. package/dist/astUtils/xml.d.ts +9 -9
  72. package/dist/astUtils/xml.js +6 -6
  73. package/dist/astUtils/xml.js.map +1 -1
  74. package/dist/bscPlugin/BscPlugin.d.ts +8 -11
  75. package/dist/bscPlugin/BscPlugin.js +21 -29
  76. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  77. package/dist/bscPlugin/CallExpressionInfo.d.ts +6 -5
  78. package/dist/bscPlugin/CallExpressionInfo.js +2 -2
  79. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  80. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +11 -11
  81. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  82. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
  83. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  84. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -49
  85. package/dist/bscPlugin/completions/CompletionsProcessor.js +23 -424
  86. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  87. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  88. package/dist/bscPlugin/definition/DefinitionProvider.js +200 -0
  89. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  90. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +87 -0
  91. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  92. package/dist/bscPlugin/hover/HoverProcessor.d.ts +3 -7
  93. package/dist/bscPlugin/hover/HoverProcessor.js +88 -128
  94. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  95. package/dist/bscPlugin/hover/HoverProcessor.spec.js +24 -336
  96. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  97. package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
  98. package/dist/bscPlugin/references/ReferencesProvider.js +56 -0
  99. package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
  100. package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
  101. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
  102. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +0 -1
  103. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +5 -49
  104. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  105. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -22
  106. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  107. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.d.ts +7 -0
  108. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js +22 -0
  109. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js.map +1 -0
  110. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +290 -0
  111. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +1 -0
  112. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.d.ts +7 -0
  113. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js +26 -0
  114. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js.map +1 -0
  115. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +245 -0
  116. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +1 -0
  117. package/dist/bscPlugin/symbols/symbolUtils.d.ts +5 -0
  118. package/dist/bscPlugin/symbols/symbolUtils.js +140 -0
  119. package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
  120. package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.d.ts → BrsFilePreTranspileProcessor.d.ts} +2 -4
  121. package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.js → BrsFilePreTranspileProcessor.js} +15 -36
  122. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
  123. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +46 -0
  124. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
  125. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
  126. package/dist/bscPlugin/validation/BrsFileValidator.js +30 -41
  127. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  128. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +2 -2
  129. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  130. package/dist/bscPlugin/validation/ProgramValidator.d.ts +3 -3
  131. package/dist/bscPlugin/validation/ProgramValidator.js +6 -6
  132. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
  133. package/dist/bscPlugin/validation/ScopeValidator.d.ts +6 -28
  134. package/dist/bscPlugin/validation/ScopeValidator.js +166 -387
  135. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  136. package/dist/bscPlugin/validation/XmlFileValidator.js +9 -9
  137. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  138. package/dist/diagnosticUtils.d.ts +2 -3
  139. package/dist/diagnosticUtils.js +5 -5
  140. package/dist/diagnosticUtils.js.map +1 -1
  141. package/dist/examples/plugins/removePrint.js +1 -1
  142. package/dist/examples/plugins/removePrint.js.map +1 -1
  143. package/dist/files/BrsFile.Class.spec.js +143 -114
  144. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  145. package/dist/files/BrsFile.d.ts +61 -83
  146. package/dist/files/BrsFile.js +552 -607
  147. package/dist/files/BrsFile.js.map +1 -1
  148. package/dist/files/BrsFile.spec.js +1365 -1201
  149. package/dist/files/BrsFile.spec.js.map +1 -1
  150. package/dist/files/XmlFile.d.ts +28 -56
  151. package/dist/files/XmlFile.js +103 -89
  152. package/dist/files/XmlFile.js.map +1 -1
  153. package/dist/files/XmlFile.spec.js +179 -122
  154. package/dist/files/XmlFile.spec.js.map +1 -1
  155. package/dist/files/tests/imports.spec.js +19 -29
  156. package/dist/files/tests/imports.spec.js.map +1 -1
  157. package/dist/files/tests/optionalChaning.spec.js +14 -14
  158. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  159. package/dist/globalCallables.js +83 -88
  160. package/dist/globalCallables.js.map +1 -1
  161. package/dist/index.d.ts +1 -9
  162. package/dist/index.js +1 -9
  163. package/dist/index.js.map +1 -1
  164. package/dist/interfaces.d.ts +173 -423
  165. package/dist/interfaces.js +0 -24
  166. package/dist/interfaces.js.map +1 -1
  167. package/dist/lexer/Lexer.d.ts +9 -15
  168. package/dist/lexer/Lexer.js +35 -46
  169. package/dist/lexer/Lexer.js.map +1 -1
  170. package/dist/lexer/Lexer.spec.js +48 -40
  171. package/dist/lexer/Lexer.spec.js.map +1 -1
  172. package/dist/lexer/Token.d.ts +1 -5
  173. package/dist/lexer/Token.js +1 -1
  174. package/dist/lexer/Token.js.map +1 -1
  175. package/dist/lexer/TokenKind.d.ts +0 -6
  176. package/dist/lexer/TokenKind.js +2 -14
  177. package/dist/lexer/TokenKind.js.map +1 -1
  178. package/dist/logging.d.ts +9 -0
  179. package/dist/logging.js +16 -0
  180. package/dist/logging.js.map +1 -0
  181. package/dist/parser/AstNode.d.ts +6 -90
  182. package/dist/parser/AstNode.js +5 -96
  183. package/dist/parser/AstNode.js.map +1 -1
  184. package/dist/parser/AstNode.spec.js.map +1 -1
  185. package/dist/parser/BrsTranspileState.d.ts +3 -4
  186. package/dist/parser/BrsTranspileState.js +2 -3
  187. package/dist/parser/BrsTranspileState.js.map +1 -1
  188. package/dist/parser/Expression.d.ts +114 -137
  189. package/dist/parser/Expression.js +244 -373
  190. package/dist/parser/Expression.js.map +1 -1
  191. package/dist/parser/Parser.Class.spec.js +19 -46
  192. package/dist/parser/Parser.Class.spec.js.map +1 -1
  193. package/dist/parser/Parser.d.ts +18 -14
  194. package/dist/parser/Parser.js +196 -175
  195. package/dist/parser/Parser.js.map +1 -1
  196. package/dist/parser/Parser.spec.d.ts +0 -2
  197. package/dist/parser/Parser.spec.js +10 -674
  198. package/dist/parser/Parser.spec.js.map +1 -1
  199. package/dist/parser/SGParser.d.ts +6 -44
  200. package/dist/parser/SGParser.js +198 -194
  201. package/dist/parser/SGParser.js.map +1 -1
  202. package/dist/parser/SGParser.spec.js +11 -14
  203. package/dist/parser/SGParser.spec.js.map +1 -1
  204. package/dist/parser/SGTypes.d.ts +52 -280
  205. package/dist/parser/SGTypes.js +185 -562
  206. package/dist/parser/SGTypes.js.map +1 -1
  207. package/dist/parser/Statement.d.ts +140 -172
  208. package/dist/parser/Statement.js +201 -337
  209. package/dist/parser/Statement.js.map +1 -1
  210. package/dist/parser/Statement.spec.js.map +1 -1
  211. package/dist/parser/TranspileState.d.ts +3 -2
  212. package/dist/parser/TranspileState.js +8 -10
  213. package/dist/parser/TranspileState.js.map +1 -1
  214. package/dist/parser/tests/Parser.spec.js +3 -5
  215. package/dist/parser/tests/Parser.spec.js.map +1 -1
  216. package/dist/parser/tests/controlFlow/For.spec.js +8 -16
  217. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  218. package/dist/parser/tests/controlFlow/ForEach.spec.js +6 -12
  219. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  220. package/dist/parser/tests/controlFlow/While.spec.js +4 -8
  221. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  222. package/dist/parser/tests/expression/Call.spec.js +4 -4
  223. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  224. package/dist/parser/tests/expression/Indexing.spec.js +25 -0
  225. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  226. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +73 -29
  227. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  228. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  229. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  230. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  231. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  232. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +47 -35
  233. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  234. package/dist/parser/tests/expression/TernaryExpression.spec.js +83 -36
  235. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  236. package/dist/parser/tests/expression/UnaryExpression.spec.js +2 -2
  237. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -1
  238. package/dist/parser/tests/statement/ConstStatement.spec.js +26 -27
  239. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  240. package/dist/parser/tests/statement/Continue.spec.js +2 -2
  241. package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
  242. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  243. package/dist/parser/tests/statement/Enum.spec.js +393 -90
  244. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  245. package/dist/parser/tests/statement/For.spec.js +6 -6
  246. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  247. package/dist/parser/tests/statement/ForEach.spec.js +4 -4
  248. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  249. package/dist/parser/tests/statement/Function.spec.js +1 -1
  250. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  251. package/dist/parser/tests/statement/InterfaceStatement.spec.js +18 -18
  252. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  253. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  254. package/dist/parser/tests/statement/PrintStatement.spec.js +13 -16
  255. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  256. package/dist/parser/tests/statement/ReturnStatement.spec.js +3 -5
  257. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  258. package/dist/parser/tests/statement/Set.spec.js +13 -26
  259. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  260. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  261. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  262. package/dist/preprocessor/Chunk.js +1 -2
  263. package/dist/preprocessor/Chunk.js.map +1 -1
  264. package/dist/preprocessor/Preprocessor.d.ts +3 -4
  265. package/dist/preprocessor/Preprocessor.js +3 -3
  266. package/dist/preprocessor/Preprocessor.js.map +1 -1
  267. package/dist/preprocessor/PreprocessorParser.js +8 -1
  268. package/dist/preprocessor/PreprocessorParser.js.map +1 -1
  269. package/dist/roku-types/data.json +293 -243
  270. package/dist/roku-types/index.d.ts +38 -17
  271. package/dist/types/ArrayType.d.ts +4 -9
  272. package/dist/types/ArrayType.js +24 -72
  273. package/dist/types/ArrayType.js.map +1 -1
  274. package/dist/types/ArrayType.spec.js +10 -39
  275. package/dist/types/ArrayType.spec.js.map +1 -1
  276. package/dist/types/BooleanType.d.ts +4 -8
  277. package/dist/types/BooleanType.js +8 -19
  278. package/dist/types/BooleanType.js.map +1 -1
  279. package/dist/types/BooleanType.spec.js +3 -9
  280. package/dist/types/BooleanType.spec.js.map +1 -1
  281. package/dist/types/BscType.d.ts +2 -29
  282. package/dist/types/BscType.js +0 -113
  283. package/dist/types/BscType.js.map +1 -1
  284. package/dist/types/CustomType.d.ts +9 -0
  285. package/dist/types/CustomType.js +32 -0
  286. package/dist/types/CustomType.js.map +1 -0
  287. package/dist/types/DoubleType.d.ts +4 -8
  288. package/dist/types/DoubleType.js +20 -23
  289. package/dist/types/DoubleType.js.map +1 -1
  290. package/dist/types/DoubleType.spec.js +3 -11
  291. package/dist/types/DoubleType.spec.js.map +1 -1
  292. package/dist/types/DynamicType.d.ts +3 -9
  293. package/dist/types/DynamicType.js +2 -18
  294. package/dist/types/DynamicType.js.map +1 -1
  295. package/dist/types/DynamicType.spec.js +4 -15
  296. package/dist/types/DynamicType.spec.js.map +1 -1
  297. package/dist/types/FloatType.d.ts +4 -8
  298. package/dist/types/FloatType.js +20 -23
  299. package/dist/types/FloatType.js.map +1 -1
  300. package/dist/types/FloatType.spec.js +3 -3
  301. package/dist/types/FloatType.spec.js.map +1 -1
  302. package/dist/types/FunctionType.d.ts +20 -10
  303. package/dist/types/FunctionType.js +52 -27
  304. package/dist/types/FunctionType.js.map +1 -1
  305. package/dist/types/FunctionType.spec.js +23 -0
  306. package/dist/types/FunctionType.spec.js.map +1 -0
  307. package/dist/types/IntegerType.d.ts +4 -8
  308. package/dist/types/IntegerType.js +20 -23
  309. package/dist/types/IntegerType.js.map +1 -1
  310. package/dist/types/IntegerType.spec.js +3 -7
  311. package/dist/types/IntegerType.spec.js.map +1 -1
  312. package/dist/types/InterfaceType.d.ts +10 -12
  313. package/dist/types/InterfaceType.js +48 -23
  314. package/dist/types/InterfaceType.js.map +1 -1
  315. package/dist/types/InterfaceType.spec.js +45 -82
  316. package/dist/types/InterfaceType.spec.js.map +1 -1
  317. package/dist/types/InvalidType.d.ts +4 -7
  318. package/dist/types/InvalidType.js +8 -18
  319. package/dist/types/InvalidType.js.map +1 -1
  320. package/dist/types/InvalidType.spec.js +3 -7
  321. package/dist/types/InvalidType.spec.js.map +1 -1
  322. package/dist/types/LongIntegerType.d.ts +4 -8
  323. package/dist/types/LongIntegerType.js +20 -23
  324. package/dist/types/LongIntegerType.js.map +1 -1
  325. package/dist/types/LongIntegerType.spec.js +3 -9
  326. package/dist/types/LongIntegerType.spec.js.map +1 -1
  327. package/dist/types/ObjectType.d.ts +4 -8
  328. package/dist/types/ObjectType.js +7 -21
  329. package/dist/types/ObjectType.js.map +1 -1
  330. package/dist/types/ObjectType.spec.js +2 -2
  331. package/dist/types/ObjectType.spec.js.map +1 -1
  332. package/dist/types/StringType.d.ts +4 -11
  333. package/dist/types/StringType.js +8 -23
  334. package/dist/types/StringType.js.map +1 -1
  335. package/dist/types/StringType.spec.js +2 -2
  336. package/dist/types/StringType.spec.js.map +1 -1
  337. package/dist/types/UninitializedType.d.ts +3 -7
  338. package/dist/types/UninitializedType.js +3 -14
  339. package/dist/types/UninitializedType.js.map +1 -1
  340. package/dist/types/VoidType.d.ts +4 -8
  341. package/dist/types/VoidType.js +8 -18
  342. package/dist/types/VoidType.js.map +1 -1
  343. package/dist/types/VoidType.spec.js +2 -2
  344. package/dist/types/VoidType.spec.js.map +1 -1
  345. package/dist/util.d.ts +43 -104
  346. package/dist/util.js +243 -640
  347. package/dist/util.js.map +1 -1
  348. package/dist/validators/ClassValidator.d.ts +6 -1
  349. package/dist/validators/ClassValidator.js +61 -20
  350. package/dist/validators/ClassValidator.js.map +1 -1
  351. package/package.json +13 -12
  352. package/dist/ActionPipeline.d.ts +0 -10
  353. package/dist/ActionPipeline.js +0 -40
  354. package/dist/ActionPipeline.js.map +0 -1
  355. package/dist/AstValidationSegmenter.d.ts +0 -25
  356. package/dist/AstValidationSegmenter.js +0 -150
  357. package/dist/AstValidationSegmenter.js.map +0 -1
  358. package/dist/CacheVerifier.d.ts +0 -7
  359. package/dist/CacheVerifier.js +0 -20
  360. package/dist/CacheVerifier.js.map +0 -1
  361. package/dist/astUtils/Editor.js.map +0 -1
  362. package/dist/astUtils/Editor.spec.js.map +0 -1
  363. package/dist/bscPlugin/FileWriter.d.ts +0 -6
  364. package/dist/bscPlugin/FileWriter.js +0 -24
  365. package/dist/bscPlugin/FileWriter.js.map +0 -1
  366. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -1658
  367. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
  368. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +0 -9
  369. package/dist/bscPlugin/fileProviders/FileProvider.js +0 -51
  370. package/dist/bscPlugin/fileProviders/FileProvider.js.map +0 -1
  371. package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -19
  372. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
  373. package/dist/bscPlugin/serialize/BslibManager.d.ts +0 -9
  374. package/dist/bscPlugin/serialize/BslibManager.js +0 -40
  375. package/dist/bscPlugin/serialize/BslibManager.js.map +0 -1
  376. package/dist/bscPlugin/serialize/FileSerializer.d.ts +0 -9
  377. package/dist/bscPlugin/serialize/FileSerializer.js +0 -72
  378. package/dist/bscPlugin/serialize/FileSerializer.js.map +0 -1
  379. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +0 -1
  380. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -41
  381. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
  382. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +0 -11
  383. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +0 -53
  384. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +0 -1
  385. package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -2004
  386. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
  387. package/dist/files/AssetFile.d.ts +0 -26
  388. package/dist/files/AssetFile.js +0 -26
  389. package/dist/files/AssetFile.js.map +0 -1
  390. package/dist/files/Factory.d.ts +0 -25
  391. package/dist/files/Factory.js +0 -22
  392. package/dist/files/Factory.js.map +0 -1
  393. package/dist/files/File.d.ts +0 -106
  394. package/dist/files/File.js +0 -16
  395. package/dist/files/File.js.map +0 -1
  396. package/dist/files/LazyFileData.d.ts +0 -20
  397. package/dist/files/LazyFileData.js +0 -54
  398. package/dist/files/LazyFileData.js.map +0 -1
  399. package/dist/files/LazyFileData.spec.js +0 -27
  400. package/dist/files/LazyFileData.spec.js.map +0 -1
  401. package/dist/parser/tests/expression/TypeExpression.spec.js +0 -127
  402. package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
  403. package/dist/types/AssociativeArrayType.d.ts +0 -11
  404. package/dist/types/AssociativeArrayType.js +0 -52
  405. package/dist/types/AssociativeArrayType.js.map +0 -1
  406. package/dist/types/BaseFunctionType.d.ts +0 -9
  407. package/dist/types/BaseFunctionType.js +0 -25
  408. package/dist/types/BaseFunctionType.js.map +0 -1
  409. package/dist/types/BscTypeKind.d.ts +0 -25
  410. package/dist/types/BscTypeKind.js +0 -30
  411. package/dist/types/BscTypeKind.js.map +0 -1
  412. package/dist/types/BuiltInInterfaceAdder.d.ts +0 -23
  413. package/dist/types/BuiltInInterfaceAdder.js +0 -160
  414. package/dist/types/BuiltInInterfaceAdder.js.map +0 -1
  415. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
  416. package/dist/types/BuiltInInterfaceAdder.spec.js +0 -116
  417. package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
  418. package/dist/types/ClassType.d.ts +0 -17
  419. package/dist/types/ClassType.js +0 -58
  420. package/dist/types/ClassType.js.map +0 -1
  421. package/dist/types/ClassType.spec.d.ts +0 -1
  422. package/dist/types/ClassType.spec.js +0 -77
  423. package/dist/types/ClassType.spec.js.map +0 -1
  424. package/dist/types/ComponentType.d.ts +0 -26
  425. package/dist/types/ComponentType.js +0 -83
  426. package/dist/types/ComponentType.js.map +0 -1
  427. package/dist/types/EnumType.d.ts +0 -40
  428. package/dist/types/EnumType.js +0 -81
  429. package/dist/types/EnumType.js.map +0 -1
  430. package/dist/types/EnumType.spec.d.ts +0 -1
  431. package/dist/types/EnumType.spec.js +0 -33
  432. package/dist/types/EnumType.spec.js.map +0 -1
  433. package/dist/types/InheritableType.d.ts +0 -28
  434. package/dist/types/InheritableType.js +0 -152
  435. package/dist/types/InheritableType.js.map +0 -1
  436. package/dist/types/NamespaceType.d.ts +0 -12
  437. package/dist/types/NamespaceType.js +0 -28
  438. package/dist/types/NamespaceType.js.map +0 -1
  439. package/dist/types/ReferenceType.d.ts +0 -63
  440. package/dist/types/ReferenceType.js +0 -423
  441. package/dist/types/ReferenceType.js.map +0 -1
  442. package/dist/types/ReferenceType.spec.d.ts +0 -1
  443. package/dist/types/ReferenceType.spec.js +0 -137
  444. package/dist/types/ReferenceType.spec.js.map +0 -1
  445. package/dist/types/TypedFunctionType.d.ts +0 -33
  446. package/dist/types/TypedFunctionType.js +0 -106
  447. package/dist/types/TypedFunctionType.js.map +0 -1
  448. package/dist/types/TypedFunctionType.spec.d.ts +0 -1
  449. package/dist/types/TypedFunctionType.spec.js +0 -122
  450. package/dist/types/TypedFunctionType.spec.js.map +0 -1
  451. package/dist/types/UnionType.d.ts +0 -20
  452. package/dist/types/UnionType.js +0 -123
  453. package/dist/types/UnionType.js.map +0 -1
  454. package/dist/types/UnionType.spec.d.ts +0 -1
  455. package/dist/types/UnionType.spec.js +0 -130
  456. package/dist/types/UnionType.spec.js.map +0 -1
  457. package/dist/types/helper.spec.d.ts +0 -1
  458. package/dist/types/helper.spec.js +0 -145
  459. package/dist/types/helper.spec.js.map +0 -1
  460. package/dist/types/helpers.d.ts +0 -24
  461. package/dist/types/helpers.js +0 -178
  462. package/dist/types/helpers.js.map +0 -1
  463. package/dist/types/index.d.ts +0 -22
  464. package/dist/types/index.js +0 -39
  465. package/dist/types/index.js.map +0 -1
  466. /package/dist/astUtils/{Editor.spec.d.ts → AstEditor.spec.d.ts} +0 -0
  467. /package/dist/bscPlugin/{completions/CompletionsProcessor.spec.d.ts → definition/DefinitionProvider.spec.d.ts} +0 -0
  468. /package/dist/bscPlugin/{serialize/BslibInjector.spec.d.ts → references/ReferencesProvider.spec.d.ts} +0 -0
  469. /package/dist/bscPlugin/{transpile/BrsFileTranspileProcessor.spec.d.ts → symbols/DocumentSymbolProcessor.spec.d.ts} +0 -0
  470. /package/dist/bscPlugin/{validation/ScopeValidator.spec.d.ts → symbols/WorkspaceSymbolProcessor.spec.d.ts} +0 -0
  471. /package/dist/{files/LazyFileData.spec.d.ts → bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts} +0 -0
  472. /package/dist/{parser/tests/expression/TypeExpression.spec.d.ts → types/FunctionType.spec.d.ts} +0 -0
@@ -15,8 +15,8 @@ describe('SourceLiteralExpression', () => {
15
15
  program.dispose();
16
16
  });
17
17
  describe('transpile', () => {
18
- it('allows bs source literals local vars in brs mode', async () => {
19
- await testTranspile(`
18
+ it('allows bs source literals local vars in brs mode', () => {
19
+ testTranspile(`
20
20
  sub main()
21
21
  source_file_path = true
22
22
  source_line_num = true
@@ -37,8 +37,8 @@ describe('SourceLiteralExpression', () => {
37
37
  end sub
38
38
  `, undefined, undefined, 'source/main.brs');
39
39
  });
40
- it('computes SOURCE_FILE_PATH', async () => {
41
- await testTranspile(`
40
+ it('computes SOURCE_FILE_PATH', () => {
41
+ testTranspile(`
42
42
  sub main()
43
43
  print SOURCE_FILE_PATH
44
44
  end sub
@@ -48,8 +48,8 @@ describe('SourceLiteralExpression', () => {
48
48
  end sub
49
49
  `, undefined, 'source/main.bs');
50
50
  });
51
- it('computes SOURCE_LINE_NUM', async () => {
52
- await testTranspile(`
51
+ it('computes SOURCE_LINE_NUM', () => {
52
+ testTranspile(`
53
53
  sub main()
54
54
  print SOURCE_LINE_NUM
55
55
  print "hello world"
@@ -63,8 +63,8 @@ describe('SourceLiteralExpression', () => {
63
63
  end sub
64
64
  `);
65
65
  });
66
- it('computes FUNCTION_NAME', async () => {
67
- await testTranspile(`
66
+ it('computes FUNCTION_NAME', () => {
67
+ testTranspile(`
68
68
  sub main1()
69
69
  print FUNCTION_NAME
70
70
  end sub
@@ -82,8 +82,8 @@ describe('SourceLiteralExpression', () => {
82
82
  end sub
83
83
  `);
84
84
  });
85
- it('computes SOURCE_FUNCTION_NAME', async () => {
86
- await testTranspile(`
85
+ it('computes SOURCE_FUNCTION_NAME', () => {
86
+ testTranspile(`
87
87
  sub main1()
88
88
  print SOURCE_FUNCTION_NAME
89
89
  end sub
@@ -101,8 +101,8 @@ describe('SourceLiteralExpression', () => {
101
101
  end sub
102
102
  `);
103
103
  });
104
- it('SOURCE_FUNCTION_NAME computes nested anon', async () => {
105
- await testTranspile(`
104
+ it('SOURCE_FUNCTION_NAME computes nested anon', () => {
105
+ testTranspile(`
106
106
  namespace NameA
107
107
  sub main()
108
108
  speak = sub()
@@ -124,8 +124,8 @@ describe('SourceLiteralExpression', () => {
124
124
  end sub
125
125
  `);
126
126
  });
127
- it('computes SOURCE_LOCATION', async () => {
128
- await testTranspile(`
127
+ it('computes SOURCE_LOCATION', () => {
128
+ testTranspile(`
129
129
  sub main()
130
130
  print SOURCE_LOCATION
131
131
  end sub
@@ -135,8 +135,8 @@ describe('SourceLiteralExpression', () => {
135
135
  end sub
136
136
  `, undefined, 'source/main.bs');
137
137
  });
138
- it('computes PKG_PATH', async () => {
139
- await testTranspile(`
138
+ it('computes PKG_PATH', () => {
139
+ testTranspile(`
140
140
  sub main()
141
141
  print PKG_PATH
142
142
  end sub
@@ -146,8 +146,8 @@ describe('SourceLiteralExpression', () => {
146
146
  end sub
147
147
  `, undefined, 'source/main.bs');
148
148
  });
149
- it('computes PKG_LOCATION', async () => {
150
- await testTranspile(`
149
+ it('computes PKG_LOCATION', () => {
150
+ testTranspile(`
151
151
  sub main()
152
152
  print PKG_LOCATION
153
153
  end sub
@@ -157,20 +157,20 @@ describe('SourceLiteralExpression', () => {
157
157
  end sub
158
158
  `, undefined, 'source/main.bs');
159
159
  });
160
- it('retains LINE_NUM', async () => {
161
- await testTranspile(`
160
+ it('retains LINE_NUM', () => {
161
+ testTranspile(`
162
162
  sub main()
163
163
  print LINE_NUM
164
164
  end sub
165
165
  `);
166
166
  });
167
- it('accounts for sourceRoot in SOURCE_FILE_PATH', async () => {
167
+ it('accounts for sourceRoot in SOURCE_FILE_PATH', () => {
168
168
  let sourceRoot = (0, util_1.standardizePath) `${process.cwd()} / sourceRoot`;
169
169
  program = new Program_1.Program({
170
170
  rootDir: rootDir,
171
171
  sourceRoot: sourceRoot
172
172
  });
173
- await testTranspile(`
173
+ testTranspile(`
174
174
  sub main()
175
175
  print SOURCE_FILE_PATH
176
176
  end sub
@@ -180,13 +180,13 @@ describe('SourceLiteralExpression', () => {
180
180
  end sub
181
181
  `, undefined, 'source/main.bs');
182
182
  });
183
- it('accounts for sourceRoot in SOURCE_LOCATION', async () => {
183
+ it('accounts for sourceRoot in SOURCE_LOCATION', () => {
184
184
  let sourceRoot = (0, util_1.standardizePath) `${process.cwd()} / sourceRoot`;
185
185
  program = new Program_1.Program({
186
186
  rootDir: rootDir,
187
187
  sourceRoot: sourceRoot
188
188
  });
189
- await testTranspile(`
189
+ testTranspile(`
190
190
  sub main()
191
191
  print SOURCE_LOCATION
192
192
  end sub
@@ -1 +1 @@
1
- {"version":3,"file":"SourceLiteralExpression.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/SourceLiteralExpression.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceLiteralExpression.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/SourceLiteralExpression.spec.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
+ /* eslint-disable @typescript-eslint/no-for-in-array */
3
+ /* eslint no-template-curly-in-string: 0 */
2
4
  Object.defineProperty(exports, "__esModule", { value: true });
3
- /* eslint-disable no-template-curly-in-string */
4
5
  const chai_config_spec_1 = require("../../../chai-config.spec");
5
6
  const DiagnosticMessages_1 = require("../../../DiagnosticMessages");
6
7
  const Lexer_1 = require("../../../lexer/Lexer");
@@ -94,9 +95,9 @@ describe('TemplateStringExpression', () => {
94
95
  afterEach(() => {
95
96
  program.dispose();
96
97
  });
97
- it('uses the proper prefix when aliased package is installed', async () => {
98
+ it('uses the proper prefix when aliased package is installed', () => {
98
99
  program.setFile('source/roku_modules/rokucommunity_bslib/bslib.brs', '');
99
- await testTranspile(`
100
+ testTranspile(`
100
101
  sub main()
101
102
  a = \`\${LINE_NUM},\${LINE_NUM}\`
102
103
  end sub
@@ -106,8 +107,8 @@ describe('TemplateStringExpression', () => {
106
107
  end sub
107
108
  `);
108
109
  });
109
- it('properly transpiles simple template string with no leading text', async () => {
110
- await testTranspile(`
110
+ it('properly transpiles simple template string with no leading text', () => {
111
+ testTranspile(`
111
112
  sub main()
112
113
  a = \`\${LINE_NUM},\${LINE_NUM}\`
113
114
  end sub
@@ -117,8 +118,8 @@ describe('TemplateStringExpression', () => {
117
118
  end sub
118
119
  `);
119
120
  });
120
- it('properly transpiles simple template string', async () => {
121
- await testTranspile(`
121
+ it('properly transpiles simple template string', () => {
122
+ testTranspile(`
122
123
  sub main()
123
124
  a = \`hello world\`
124
125
  end sub
@@ -128,8 +129,8 @@ describe('TemplateStringExpression', () => {
128
129
  end sub
129
130
  `);
130
131
  });
131
- it('properly transpiles one line template string with expressions', async () => {
132
- await testTranspile(`
132
+ it('properly transpiles one line template string with expressions', () => {
133
+ testTranspile(`
133
134
  sub main()
134
135
  a = \`hello \${LINE_NUM.text} world \${"template" + "".getChars()} test\`
135
136
  end sub
@@ -139,8 +140,8 @@ describe('TemplateStringExpression', () => {
139
140
  end sub
140
141
  `);
141
142
  });
142
- it('handles escaped characters', async () => {
143
- await testTranspile(`
143
+ it('handles escaped characters', () => {
144
+ testTranspile(`
144
145
  sub main()
145
146
  a = \`\\r\\n\\\`\\$\`
146
147
  end sub
@@ -150,8 +151,8 @@ describe('TemplateStringExpression', () => {
150
151
  end sub
151
152
  `);
152
153
  });
153
- it('handles escaped unicode char codes', async () => {
154
- await testTranspile(`
154
+ it('handles escaped unicode char codes', () => {
155
+ testTranspile(`
155
156
  sub main()
156
157
  a = \`\\c2\\c987\`
157
158
  end sub
@@ -161,8 +162,8 @@ describe('TemplateStringExpression', () => {
161
162
  end sub
162
163
  `);
163
164
  });
164
- it('properly transpiles simple multiline template string', async () => {
165
- await testTranspile(`
165
+ it('properly transpiles simple multiline template string', () => {
166
+ testTranspile(`
166
167
  sub main()
167
168
  a = \`hello world\nI am multiline\`
168
169
  end sub
@@ -172,8 +173,8 @@ describe('TemplateStringExpression', () => {
172
173
  end sub
173
174
  `);
174
175
  });
175
- it('properly handles newlines', async () => {
176
- await testTranspile(`
176
+ it('properly handles newlines', () => {
177
+ testTranspile(`
177
178
  sub main()
178
179
  a = \`\n\`
179
180
  end sub
@@ -183,8 +184,8 @@ describe('TemplateStringExpression', () => {
183
184
  end sub
184
185
  `);
185
186
  });
186
- it('properly handles clrf', async () => {
187
- await testTranspile(`
187
+ it('properly handles clrf', () => {
188
+ testTranspile(`
188
189
  sub main()
189
190
  a = \`\r\n\`
190
191
  end sub
@@ -194,8 +195,8 @@ describe('TemplateStringExpression', () => {
194
195
  end sub
195
196
  `);
196
197
  });
197
- it('properly transpiles more complex multiline template string', async () => {
198
- await testTranspile(`
198
+ it('properly transpiles more complex multiline template string', () => {
199
+ testTranspile(`
199
200
  sub main()
200
201
  a = \`I am multiline\n\${a.isRunning()}\nmore\`
201
202
  end sub
@@ -205,8 +206,8 @@ describe('TemplateStringExpression', () => {
205
206
  end sub
206
207
  `);
207
208
  });
208
- it('properly transpiles complex multiline template string in array def', async () => {
209
- await testTranspile(`
209
+ it('properly transpiles complex multiline template string in array def', () => {
210
+ testTranspile(`
210
211
  sub main()
211
212
  a = [
212
213
  "one",
@@ -228,8 +229,8 @@ describe('TemplateStringExpression', () => {
228
229
  end sub
229
230
  `);
230
231
  });
231
- it('properly transpiles complex multiline template string in array def, with nested template', async () => {
232
- await testTranspile(`
232
+ it('properly transpiles complex multiline template string in array def, with nested template', () => {
233
+ testTranspile(`
233
234
  sub main()
234
235
  a = [
235
236
  "one",
@@ -257,8 +258,8 @@ describe('TemplateStringExpression', () => {
257
258
  end sub
258
259
  `);
259
260
  });
260
- it('properly transpiles two template strings side-by-side', async () => {
261
- await testTranspile(`
261
+ it('properly transpiles two expressions side-by-side', () => {
262
+ testTranspile(`
262
263
  sub main()
263
264
  a = \`\${"hello"}\${"world"}\`
264
265
  end sub
@@ -268,8 +269,8 @@ describe('TemplateStringExpression', () => {
268
269
  end sub
269
270
  `);
270
271
  });
271
- it('skips calling toString on strings', async () => {
272
- await testTranspile(`
272
+ it('skips calling toString on strings', () => {
273
+ testTranspile(`
273
274
  sub main()
274
275
  text = \`Hello \${"world"}\`
275
276
  end sub
@@ -280,8 +281,8 @@ describe('TemplateStringExpression', () => {
280
281
  `);
281
282
  });
282
283
  describe('tagged template strings', () => {
283
- it('properly transpiles with escaped characters and quasis', async () => {
284
- await testTranspile(`
284
+ it('properly transpiles with escaped characters and quasis', () => {
285
+ testTranspile(`
285
286
  function zombify(strings, values)
286
287
  end function
287
288
  sub main()
@@ -296,8 +297,8 @@ describe('TemplateStringExpression', () => {
296
297
  end sub
297
298
  `);
298
299
  });
299
- it('handles multiple embedded expressions', async () => {
300
- await testTranspile(`
300
+ it('handles multiple embedded expressions', () => {
301
+ testTranspile(`
301
302
  function zombify(strings, values)
302
303
  end function
303
304
  sub main()
@@ -312,8 +313,8 @@ describe('TemplateStringExpression', () => {
312
313
  end sub
313
314
  `);
314
315
  });
315
- it('can be concatenated with regular string', async () => {
316
- await testTranspile(`
316
+ it('can be concatenated with regular string', () => {
317
+ testTranspile(`
317
318
  sub main()
318
319
  thing = "this" + \`that\`
319
320
  otherThing = \`that\` + "this"
@@ -327,5 +328,16 @@ describe('TemplateStringExpression', () => {
327
328
  });
328
329
  });
329
330
  });
331
+ it('gets right position for annotation', () => {
332
+ const parser = Parser_1.Parser.parse(`
333
+ @template(\`
334
+ <label id="theLabel" />
335
+ \`)
336
+ function init()
337
+ end function
338
+ `);
339
+ const ann = parser.ast.statements[0].annotations[0];
340
+ (0, chai_config_spec_1.expect)(ann.range).to.eql(util_1.util.createRange(1, 12, 3, 14));
341
+ });
330
342
  });
331
343
  //# sourceMappingURL=TemplateStringExpression.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TemplateStringExpression.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/TemplateStringExpression.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TemplateStringExpression.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/TemplateStringExpression.spec.ts"],"names":[],"mappings":"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"}
@@ -228,9 +228,9 @@ describe('ternary expressions', () => {
228
228
  afterEach(() => {
229
229
  program.dispose();
230
230
  });
231
- it('uses the proper prefix when aliased package is installed', async () => {
231
+ it('uses the proper prefix when aliased package is installed', () => {
232
232
  program.setFile('source/roku_modules/rokucommunity_bslib/bslib.brs', '');
233
- await testTranspile(`
233
+ testTranspile(`
234
234
  sub main()
235
235
  user = {}
236
236
  a = user = invalid ? "no user" : "logged in"
@@ -242,8 +242,8 @@ describe('ternary expressions', () => {
242
242
  end sub
243
243
  `);
244
244
  });
245
- it('simple consequents', async () => {
246
- await testTranspile(`
245
+ it('simple consequents', () => {
246
+ testTranspile(`
247
247
  sub main()
248
248
  user = {}
249
249
  a = user = invalid ? "no user" : "logged in"
@@ -254,7 +254,7 @@ describe('ternary expressions', () => {
254
254
  a = bslib_ternary(user = invalid, "no user", "logged in")
255
255
  end sub
256
256
  `);
257
- await testTranspile(`
257
+ testTranspile(`
258
258
  sub main()
259
259
  user = {}
260
260
  a = user = invalid ? 1 : "logged in"
@@ -265,7 +265,7 @@ describe('ternary expressions', () => {
265
265
  a = bslib_ternary(user = invalid, 1, "logged in")
266
266
  end sub
267
267
  `);
268
- await testTranspile(`
268
+ testTranspile(`
269
269
  sub main()
270
270
  user = {}
271
271
  a = user = invalid ? 1.2 : "logged in"
@@ -276,7 +276,7 @@ describe('ternary expressions', () => {
276
276
  a = bslib_ternary(user = invalid, 1.2, "logged in")
277
277
  end sub
278
278
  `);
279
- await testTranspile(`
279
+ testTranspile(`
280
280
  sub main()
281
281
  user = {}
282
282
  a = user = invalid ? {} : "logged in"
@@ -287,7 +287,7 @@ describe('ternary expressions', () => {
287
287
  a = bslib_ternary(user = invalid, {}, "logged in")
288
288
  end sub
289
289
  `);
290
- await testTranspile(`
290
+ testTranspile(`
291
291
  sub main()
292
292
  user = {}
293
293
  a = user = invalid ? [] : "logged in"
@@ -299,8 +299,8 @@ describe('ternary expressions', () => {
299
299
  end sub
300
300
  `);
301
301
  });
302
- it('simple alternates', async () => {
303
- await testTranspile(`
302
+ it('simple alternates', () => {
303
+ testTranspile(`
304
304
  sub main()
305
305
  user = {}
306
306
  a = user = invalid ? "logged in" : "no user"
@@ -311,7 +311,7 @@ describe('ternary expressions', () => {
311
311
  a = bslib_ternary(user = invalid, "logged in", "no user")
312
312
  end sub
313
313
  `);
314
- await testTranspile(`
314
+ testTranspile(`
315
315
  sub main()
316
316
  user = {}
317
317
  a = user = invalid ? "logged in" : 1
@@ -322,7 +322,7 @@ describe('ternary expressions', () => {
322
322
  a = bslib_ternary(user = invalid, "logged in", 1)
323
323
  end sub
324
324
  `);
325
- await testTranspile(`
325
+ testTranspile(`
326
326
  sub main()
327
327
  user = {}
328
328
  a = user = invalid ? "logged in" : 1.2
@@ -333,7 +333,7 @@ describe('ternary expressions', () => {
333
333
  a = bslib_ternary(user = invalid, "logged in", 1.2)
334
334
  end sub
335
335
  `);
336
- await testTranspile(`
336
+ testTranspile(`
337
337
  sub main()
338
338
  user = {}
339
339
  a = user = invalid ? "logged in" : []
@@ -344,7 +344,7 @@ describe('ternary expressions', () => {
344
344
  a = bslib_ternary(user = invalid, "logged in", [])
345
345
  end sub
346
346
  `);
347
- await testTranspile(`
347
+ testTranspile(`
348
348
  sub main()
349
349
  user = {}
350
350
  a = user = invalid ? "logged in" : {}
@@ -356,17 +356,17 @@ describe('ternary expressions', () => {
356
356
  end sub
357
357
  `);
358
358
  });
359
- it('complex conditions do not cause scope capture', async () => {
360
- await testTranspile(`
359
+ it('complex conditions do not cause scope capture', () => {
360
+ testTranspile(`
361
361
  sub main()
362
- a = str(123) = "123" ? true : false
362
+ a = str("true") = "true" ? true : false
363
363
  end sub
364
364
  `, `
365
365
  sub main()
366
- a = bslib_ternary(str(123) = "123", true, false)
366
+ a = bslib_ternary(str("true") = "true", true, false)
367
367
  end sub
368
368
  `);
369
- await testTranspile(`
369
+ testTranspile(`
370
370
  sub main()
371
371
  a = m.top.service.IsTrue() ? true : false
372
372
  end sub
@@ -375,7 +375,7 @@ describe('ternary expressions', () => {
375
375
  a = bslib_ternary(m.top.service.IsTrue(), true, false)
376
376
  end sub
377
377
  `);
378
- await testTranspile(`
378
+ testTranspile(`
379
379
  sub test(param1)
380
380
  end sub
381
381
 
@@ -391,8 +391,8 @@ describe('ternary expressions', () => {
391
391
  end sub
392
392
  `);
393
393
  });
394
- it('captures scope for function call conseqent', async () => {
395
- await testTranspile(`
394
+ it('captures scope for function call conseqent', () => {
395
+ testTranspile(`
396
396
  sub main()
397
397
  zombie = {}
398
398
  name = zombie.getName() <> invalid ? zombie.GetName() : "zombie"
@@ -410,8 +410,8 @@ describe('ternary expressions', () => {
410
410
  end sub
411
411
  `);
412
412
  });
413
- it('captures scope for function call alternate', async () => {
414
- await testTranspile(`
413
+ it('captures scope for function call alternate', () => {
414
+ testTranspile(`
415
415
  sub main()
416
416
  zombie = {}
417
417
  name = zombie.getName() = invalid ? "zombie" : zombie.GetName()
@@ -429,8 +429,8 @@ describe('ternary expressions', () => {
429
429
  end sub
430
430
  `);
431
431
  });
432
- it('captures scope for complex consequent', async () => {
433
- await testTranspile(`
432
+ it('captures scope for complex consequent', () => {
433
+ testTranspile(`
434
434
  sub main()
435
435
  settings = {}
436
436
  name = {} ? m.defaults.getAccount(settings.name) : "no"
@@ -448,8 +448,55 @@ describe('ternary expressions', () => {
448
448
  end sub
449
449
  `);
450
450
  });
451
- it('supports scope-captured outer, and simple inner', async () => {
452
- await testTranspile(`
451
+ it('ignores enum variable names', () => {
452
+ testTranspile(`
453
+ enum Direction
454
+ up = "up"
455
+ down = "down"
456
+ end enum
457
+ sub main()
458
+ d = Direction.up
459
+ theDir = d = Direction.up ? Direction.up : false
460
+ end sub
461
+ `, `
462
+ sub main()
463
+ d = "up"
464
+ theDir = (function(__bsCondition)
465
+ if __bsCondition then
466
+ return "up"
467
+ else
468
+ return false
469
+ end if
470
+ end function)(d = "up")
471
+ end sub
472
+ `);
473
+ });
474
+ it('ignores const variable names', () => {
475
+ testTranspile(`
476
+ enum Direction
477
+ up = "up"
478
+ down = "down"
479
+ end enum
480
+ const UP = "up"
481
+ sub main()
482
+ d = Direction.up
483
+ theDir = d = Direction.up ? UP : Direction.down
484
+ end sub
485
+ `, `
486
+ sub main()
487
+ d = "up"
488
+ theDir = (function(__bsCondition)
489
+ if __bsCondition then
490
+ return "up"
491
+ else
492
+ return "down"
493
+ end if
494
+ end function)(d = "up")
495
+ end sub
496
+ `);
497
+ });
498
+ it('supports scope-captured outer, and simple inner', () => {
499
+ testTranspile(`
453
500
  sub main()
454
501
  zombie = {}
455
502
  human = {}
@@ -469,8 +516,8 @@ describe('ternary expressions', () => {
469
516
  end sub
470
517
  `);
471
518
  });
472
- it('uses scope capture for property access', async () => {
473
- await testTranspile(`
519
+ it('uses scope capture for property access', () => {
520
+ testTranspile(`
474
521
  sub main()
475
522
  person = {}
476
523
  name = person <> invalid ? person.name : "John Doe"
@@ -488,14 +535,14 @@ describe('ternary expressions', () => {
488
535
  end sub
489
536
  `);
490
537
  });
491
- it('uses `invalid` in place of missing consequent ', async () => {
492
- await testTranspile(`print name = "bob" ? :"zombie"`, `print bslib_ternary(name = "bob", invalid, "zombie")`, 'none', undefined, false);
538
+ it('uses `invalid` in place of missing consequent ', () => {
539
+ testTranspile(`print name = "bob" ? :"zombie"`, `print bslib_ternary(name = "bob", invalid, "zombie")`, 'none', undefined, false);
493
540
  });
494
- it('uses `invalid` in place of missing alternate ', async () => {
495
- await testTranspile(`print name = "bob" ? "human"`, `print bslib_ternary(name = "bob", "human", invalid)`, 'none', undefined, false);
541
+ it('uses `invalid` in place of missing alternate ', () => {
542
+ testTranspile(`print name = "bob" ? "human"`, `print bslib_ternary(name = "bob", "human", invalid)`, 'none', undefined, false);
496
543
  });
497
- it('uses `invalid` in place of missing alternate and consequent ', async () => {
498
- await testTranspile(`print name = "bob" ?:`, `print bslib_ternary(name = "bob", invalid, invalid)`, 'none', undefined, false);
544
+ it('uses `invalid` in place of missing alternate and consequent ', () => {
545
+ testTranspile(`print name = "bob" ?:`, `print bslib_ternary(name = "bob", invalid, invalid)`, 'none', undefined, false);
499
546
  });
500
547
  });
501
548
  });