brighterscript 1.0.0-alpha.2 → 1.0.0-alpha.22

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 (388) hide show
  1. package/CHANGELOG.md +643 -253
  2. package/README.md +33 -9
  3. package/bsconfig.schema.json +22 -2
  4. package/dist/BsConfig.d.ts +9 -0
  5. package/dist/Cache.d.ts +5 -6
  6. package/dist/Cache.js +12 -11
  7. package/dist/Cache.js.map +1 -1
  8. package/dist/CodeActionUtil.d.ts +11 -2
  9. package/dist/CodeActionUtil.js +17 -3
  10. package/dist/CodeActionUtil.js.map +1 -1
  11. package/dist/CommentFlagProcessor.d.ts +4 -4
  12. package/dist/CommentFlagProcessor.js +5 -3
  13. package/dist/CommentFlagProcessor.js.map +1 -1
  14. package/dist/DependencyGraph.d.ts +2 -2
  15. package/dist/DependencyGraph.js +20 -7
  16. package/dist/DependencyGraph.js.map +1 -1
  17. package/dist/DiagnosticCollection.d.ts +3 -3
  18. package/dist/DiagnosticCollection.js +11 -11
  19. package/dist/DiagnosticCollection.js.map +1 -1
  20. package/dist/DiagnosticFilterer.js +5 -4
  21. package/dist/DiagnosticFilterer.js.map +1 -1
  22. package/dist/DiagnosticMessages.d.ts +59 -4
  23. package/dist/DiagnosticMessages.js +65 -7
  24. package/dist/DiagnosticMessages.js.map +1 -1
  25. package/dist/LanguageServer.d.ts +51 -39
  26. package/dist/LanguageServer.js +316 -232
  27. package/dist/LanguageServer.js.map +1 -1
  28. package/dist/Logger.d.ts +2 -0
  29. package/dist/Logger.js +10 -8
  30. package/dist/Logger.js.map +1 -1
  31. package/dist/PluginInterface.d.ts +7 -3
  32. package/dist/PluginInterface.js +9 -0
  33. package/dist/PluginInterface.js.map +1 -1
  34. package/dist/Program.d.ts +43 -25
  35. package/dist/Program.js +212 -95
  36. package/dist/Program.js.map +1 -1
  37. package/dist/ProgramBuilder.d.ts +4 -0
  38. package/dist/ProgramBuilder.js +36 -20
  39. package/dist/ProgramBuilder.js.map +1 -1
  40. package/dist/Scope.d.ts +126 -29
  41. package/dist/Scope.js +433 -156
  42. package/dist/Scope.js.map +1 -1
  43. package/dist/SemanticTokenUtils.d.ts +14 -0
  44. package/dist/SemanticTokenUtils.js +81 -0
  45. package/dist/SemanticTokenUtils.js.map +1 -0
  46. package/dist/SymbolTable.d.ts +10 -4
  47. package/dist/SymbolTable.js +55 -13
  48. package/dist/SymbolTable.js.map +1 -1
  49. package/dist/XmlScope.d.ts +7 -2
  50. package/dist/XmlScope.js +65 -27
  51. package/dist/XmlScope.js.map +1 -1
  52. package/dist/astUtils/AstEditor.d.ts +65 -0
  53. package/dist/astUtils/AstEditor.js +239 -0
  54. package/dist/astUtils/AstEditor.js.map +1 -0
  55. package/dist/{types/FunctionType.spec.d.ts → astUtils/AstEditor.spec.d.ts} +0 -0
  56. package/dist/astUtils/AstEditor.spec.js +254 -0
  57. package/dist/astUtils/AstEditor.spec.js.map +1 -0
  58. package/dist/astUtils/creators.d.ts +28 -6
  59. package/dist/astUtils/creators.js +137 -19
  60. package/dist/astUtils/creators.js.map +1 -1
  61. package/dist/astUtils/creators.spec.js +14 -4
  62. package/dist/astUtils/creators.spec.js.map +1 -1
  63. package/dist/astUtils/reflection.d.ts +32 -10
  64. package/dist/astUtils/reflection.js +82 -7
  65. package/dist/astUtils/reflection.js.map +1 -1
  66. package/dist/astUtils/reflection.spec.js +130 -119
  67. package/dist/astUtils/reflection.spec.js.map +1 -1
  68. package/dist/astUtils/stackedVisitor.js.map +1 -1
  69. package/dist/astUtils/stackedVisitor.spec.js +13 -13
  70. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  71. package/dist/astUtils/visitors.d.ts +76 -51
  72. package/dist/astUtils/visitors.js +31 -11
  73. package/dist/astUtils/visitors.js.map +1 -1
  74. package/dist/astUtils/visitors.spec.js +126 -32
  75. package/dist/astUtils/visitors.spec.js.map +1 -1
  76. package/dist/astUtils/xml.d.ts +4 -3
  77. package/dist/astUtils/xml.js +8 -3
  78. package/dist/astUtils/xml.js.map +1 -1
  79. package/dist/bscPlugin/BscPlugin.d.ts +7 -1
  80. package/dist/bscPlugin/BscPlugin.js +28 -0
  81. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  82. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +4 -4
  83. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  84. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +26 -26
  85. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  86. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +9 -0
  87. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +108 -0
  88. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
  89. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
  90. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +130 -0
  91. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
  92. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
  93. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +52 -0
  94. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
  95. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +1 -0
  96. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +32 -0
  97. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
  98. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
  99. package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
  100. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  101. package/dist/bscPlugin/validation/ScopeValidator.d.ts +29 -0
  102. package/dist/bscPlugin/validation/ScopeValidator.js +183 -0
  103. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  104. package/dist/cli.js +10 -3
  105. package/dist/cli.js.map +1 -1
  106. package/dist/diagnosticUtils.d.ts +1 -0
  107. package/dist/diagnosticUtils.js +15 -8
  108. package/dist/diagnosticUtils.js.map +1 -1
  109. package/dist/examples/plugins/removePrint.js +12 -14
  110. package/dist/examples/plugins/removePrint.js.map +1 -1
  111. package/dist/files/BrsFile.Class.spec.js +717 -147
  112. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  113. package/dist/files/BrsFile.d.ts +70 -30
  114. package/dist/files/BrsFile.js +719 -353
  115. package/dist/files/BrsFile.js.map +1 -1
  116. package/dist/files/BrsFile.spec.js +1238 -449
  117. package/dist/files/BrsFile.spec.js.map +1 -1
  118. package/dist/files/XmlFile.d.ts +6 -5
  119. package/dist/files/XmlFile.js +38 -30
  120. package/dist/files/XmlFile.js.map +1 -1
  121. package/dist/files/XmlFile.spec.js +302 -237
  122. package/dist/files/XmlFile.spec.js.map +1 -1
  123. package/dist/files/tests/imports.spec.js +44 -42
  124. package/dist/files/tests/imports.spec.js.map +1 -1
  125. package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
  126. package/dist/files/tests/optionalChaning.spec.js +88 -0
  127. package/dist/files/tests/optionalChaning.spec.js.map +1 -0
  128. package/dist/globalCallables.d.ts +3 -1
  129. package/dist/globalCallables.js +424 -152
  130. package/dist/globalCallables.js.map +1 -1
  131. package/dist/index.d.ts +13 -3
  132. package/dist/index.js +28 -5
  133. package/dist/index.js.map +1 -1
  134. package/dist/interfaces.d.ts +133 -16
  135. package/dist/lexer/Lexer.d.ts +19 -1
  136. package/dist/lexer/Lexer.js +127 -21
  137. package/dist/lexer/Lexer.js.map +1 -1
  138. package/dist/lexer/Lexer.spec.js +657 -536
  139. package/dist/lexer/Lexer.spec.js.map +1 -1
  140. package/dist/lexer/Token.d.ts +2 -2
  141. package/dist/lexer/TokenKind.d.ts +13 -1
  142. package/dist/lexer/TokenKind.js +60 -3
  143. package/dist/lexer/TokenKind.js.map +1 -1
  144. package/dist/parser/BrsTranspileState.d.ts +9 -0
  145. package/dist/parser/BrsTranspileState.js +14 -0
  146. package/dist/parser/BrsTranspileState.js.map +1 -1
  147. package/dist/parser/Expression.d.ts +150 -34
  148. package/dist/parser/Expression.js +335 -165
  149. package/dist/parser/Expression.js.map +1 -1
  150. package/dist/parser/Parser.Class.spec.js +189 -89
  151. package/dist/parser/Parser.Class.spec.js.map +1 -1
  152. package/dist/parser/Parser.d.ts +153 -30
  153. package/dist/parser/Parser.js +1100 -503
  154. package/dist/parser/Parser.js.map +1 -1
  155. package/dist/parser/Parser.spec.js +687 -266
  156. package/dist/parser/Parser.spec.js.map +1 -1
  157. package/dist/parser/SGParser.d.ts +41 -4
  158. package/dist/parser/SGParser.js +186 -175
  159. package/dist/parser/SGParser.js.map +1 -1
  160. package/dist/parser/SGParser.spec.js +35 -22
  161. package/dist/parser/SGParser.spec.js.map +1 -1
  162. package/dist/parser/SGTypes.d.ts +206 -38
  163. package/dist/parser/SGTypes.js +470 -161
  164. package/dist/parser/SGTypes.js.map +1 -1
  165. package/dist/parser/SGTypes.spec.d.ts +1 -0
  166. package/dist/parser/SGTypes.spec.js +351 -0
  167. package/dist/parser/SGTypes.spec.js.map +1 -0
  168. package/dist/parser/Statement.d.ts +202 -48
  169. package/dist/parser/Statement.js +648 -193
  170. package/dist/parser/Statement.js.map +1 -1
  171. package/dist/parser/Statement.spec.js +11 -11
  172. package/dist/parser/Statement.spec.js.map +1 -1
  173. package/dist/parser/TranspileState.d.ts +1 -1
  174. package/dist/parser/TranspileState.js +15 -7
  175. package/dist/parser/TranspileState.js.map +1 -1
  176. package/dist/parser/tests/Parser.spec.d.ts +10 -9
  177. package/dist/parser/tests/Parser.spec.js +15 -11
  178. package/dist/parser/tests/Parser.spec.js.map +1 -1
  179. package/dist/parser/tests/controlFlow/For.spec.js +60 -60
  180. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  181. package/dist/parser/tests/controlFlow/ForEach.spec.js +40 -39
  182. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  183. package/dist/parser/tests/controlFlow/If.spec.js +213 -194
  184. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  185. package/dist/parser/tests/controlFlow/While.spec.js +37 -37
  186. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  187. package/dist/parser/tests/expression/Additive.spec.js +30 -30
  188. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  189. package/dist/parser/tests/expression/ArrayLiterals.spec.js +119 -119
  190. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  191. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +162 -138
  192. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  193. package/dist/parser/tests/expression/Boolean.spec.js +24 -24
  194. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  195. package/dist/parser/tests/expression/Call.spec.js +41 -40
  196. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  197. package/dist/parser/tests/expression/Exponential.spec.js +17 -17
  198. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  199. package/dist/parser/tests/expression/Function.spec.js +256 -256
  200. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  201. package/dist/parser/tests/expression/Indexing.spec.js +87 -87
  202. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  203. package/dist/parser/tests/expression/Multiplicative.spec.js +37 -37
  204. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  205. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +75 -63
  206. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  207. package/dist/parser/tests/expression/PrefixUnary.spec.js +41 -41
  208. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  209. package/dist/parser/tests/expression/Primary.spec.js +41 -41
  210. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  211. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
  212. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +171 -0
  213. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
  214. package/dist/parser/tests/expression/Relational.spec.js +43 -43
  215. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  216. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +9 -9
  217. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  218. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +28 -28
  219. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  220. package/dist/parser/tests/expression/TernaryExpression.spec.js +102 -102
  221. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  222. package/dist/parser/tests/statement/AssignmentOperators.spec.js +36 -36
  223. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  224. package/dist/parser/tests/statement/Declaration.spec.js +44 -44
  225. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  226. package/dist/parser/tests/statement/Dim.spec.js +21 -21
  227. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  228. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  229. package/dist/parser/tests/statement/Enum.spec.js +840 -0
  230. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  231. package/dist/parser/tests/statement/For.spec.d.ts +1 -0
  232. package/dist/parser/tests/statement/For.spec.js +46 -0
  233. package/dist/parser/tests/statement/For.spec.js.map +1 -0
  234. package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
  235. package/dist/parser/tests/statement/ForEach.spec.js +37 -0
  236. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
  237. package/dist/parser/tests/statement/Function.spec.js +198 -197
  238. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  239. package/dist/parser/tests/statement/Goto.spec.js +15 -14
  240. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  241. package/dist/parser/tests/statement/Increment.spec.js +50 -50
  242. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  243. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
  244. package/dist/parser/tests/statement/InterfaceStatement.spec.js +254 -0
  245. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
  246. package/dist/parser/tests/statement/LibraryStatement.spec.js +17 -17
  247. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  248. package/dist/parser/tests/statement/Misc.spec.js +108 -106
  249. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  250. package/dist/parser/tests/statement/PrintStatement.spec.js +40 -40
  251. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  252. package/dist/parser/tests/statement/ReturnStatement.spec.js +46 -46
  253. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  254. package/dist/parser/tests/statement/Set.spec.js +83 -83
  255. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  256. package/dist/parser/tests/statement/Stop.spec.js +12 -11
  257. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  258. package/dist/parser/tests/statement/Throw.spec.js +5 -5
  259. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  260. package/dist/parser/tests/statement/TryCatch.spec.js +15 -13
  261. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  262. package/dist/preprocessor/Chunk.d.ts +1 -1
  263. package/dist/preprocessor/Chunk.js.map +1 -1
  264. package/dist/preprocessor/Manifest.d.ts +5 -5
  265. package/dist/preprocessor/Manifest.js +14 -35
  266. package/dist/preprocessor/Manifest.js.map +1 -1
  267. package/dist/preprocessor/Manifest.spec.d.ts +1 -0
  268. package/dist/preprocessor/Manifest.spec.js +78 -103
  269. package/dist/preprocessor/Manifest.spec.js.map +1 -1
  270. package/dist/preprocessor/Preprocessor.d.ts +1 -1
  271. package/dist/preprocessor/Preprocessor.js +8 -8
  272. package/dist/preprocessor/Preprocessor.js.map +1 -1
  273. package/dist/preprocessor/Preprocessor.spec.js +49 -49
  274. package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
  275. package/dist/preprocessor/PreprocessorParser.spec.js +72 -72
  276. package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
  277. package/dist/roku-types/data.json +21891 -0
  278. package/dist/roku-types/index.d.ts +6776 -0
  279. package/dist/roku-types/index.js +11 -0
  280. package/dist/roku-types/index.js.map +1 -0
  281. package/dist/types/ArrayType.d.ts +8 -5
  282. package/dist/types/ArrayType.js +52 -12
  283. package/dist/types/ArrayType.js.map +1 -1
  284. package/dist/types/ArrayType.spec.js +72 -11
  285. package/dist/types/ArrayType.spec.js.map +1 -1
  286. package/dist/types/BooleanType.d.ts +4 -2
  287. package/dist/types/BooleanType.js +9 -4
  288. package/dist/types/BooleanType.js.map +1 -1
  289. package/dist/types/BooleanType.spec.js +5 -3
  290. package/dist/types/BooleanType.spec.js.map +1 -1
  291. package/dist/types/BscType.d.ts +20 -5
  292. package/dist/types/BscType.js +24 -0
  293. package/dist/types/BscType.js.map +1 -1
  294. package/dist/types/CustomType.d.ts +8 -6
  295. package/dist/types/CustomType.js +20 -11
  296. package/dist/types/CustomType.js.map +1 -1
  297. package/dist/types/DoubleType.d.ts +2 -0
  298. package/dist/types/DoubleType.js +14 -9
  299. package/dist/types/DoubleType.js.map +1 -1
  300. package/dist/types/DoubleType.spec.js +5 -3
  301. package/dist/types/DoubleType.spec.js.map +1 -1
  302. package/dist/types/DynamicType.d.ts +2 -0
  303. package/dist/types/DynamicType.js +6 -2
  304. package/dist/types/DynamicType.js.map +1 -1
  305. package/dist/types/DynamicType.spec.js +2 -2
  306. package/dist/types/DynamicType.spec.js.map +1 -1
  307. package/dist/types/EnumType.d.ts +22 -0
  308. package/dist/types/EnumType.js +55 -0
  309. package/dist/types/EnumType.js.map +1 -0
  310. package/dist/types/FloatType.d.ts +2 -0
  311. package/dist/types/FloatType.js +14 -9
  312. package/dist/types/FloatType.js.map +1 -1
  313. package/dist/types/FloatType.spec.js +4 -2
  314. package/dist/types/FloatType.spec.js.map +1 -1
  315. package/dist/types/FunctionType.d.ts +7 -31
  316. package/dist/types/FunctionType.js +11 -57
  317. package/dist/types/FunctionType.js.map +1 -1
  318. package/dist/types/IntegerType.d.ts +2 -0
  319. package/dist/types/IntegerType.js +14 -9
  320. package/dist/types/IntegerType.js.map +1 -1
  321. package/dist/types/IntegerType.spec.js +5 -3
  322. package/dist/types/IntegerType.spec.js.map +1 -1
  323. package/dist/types/InterfaceType.d.ts +13 -4
  324. package/dist/types/InterfaceType.js +48 -8
  325. package/dist/types/InterfaceType.js.map +1 -1
  326. package/dist/types/InterfaceType.spec.d.ts +1 -0
  327. package/dist/types/InterfaceType.spec.js +194 -0
  328. package/dist/types/InterfaceType.spec.js.map +1 -0
  329. package/dist/types/InvalidType.d.ts +4 -2
  330. package/dist/types/InvalidType.js +10 -5
  331. package/dist/types/InvalidType.js.map +1 -1
  332. package/dist/types/InvalidType.spec.js +4 -2
  333. package/dist/types/InvalidType.spec.js.map +1 -1
  334. package/dist/types/LazyType.d.ts +8 -7
  335. package/dist/types/LazyType.js +22 -10
  336. package/dist/types/LazyType.js.map +1 -1
  337. package/dist/types/LongIntegerType.d.ts +2 -0
  338. package/dist/types/LongIntegerType.js +14 -9
  339. package/dist/types/LongIntegerType.js.map +1 -1
  340. package/dist/types/LongIntegerType.spec.js +4 -2
  341. package/dist/types/LongIntegerType.spec.js.map +1 -1
  342. package/dist/types/ObjectType.d.ts +8 -4
  343. package/dist/types/ObjectType.js +9 -4
  344. package/dist/types/ObjectType.js.map +1 -1
  345. package/dist/types/ObjectType.spec.js +2 -2
  346. package/dist/types/ObjectType.spec.js.map +1 -1
  347. package/dist/types/StringType.d.ts +4 -2
  348. package/dist/types/StringType.js +9 -4
  349. package/dist/types/StringType.js.map +1 -1
  350. package/dist/types/StringType.spec.js +4 -2
  351. package/dist/types/StringType.spec.js.map +1 -1
  352. package/dist/types/TypedFunctionType.d.ts +28 -0
  353. package/dist/types/TypedFunctionType.js +88 -0
  354. package/dist/types/TypedFunctionType.js.map +1 -0
  355. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  356. package/dist/types/TypedFunctionType.spec.js +37 -0
  357. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  358. package/dist/types/UninitializedType.js +3 -3
  359. package/dist/types/UninitializedType.js.map +1 -1
  360. package/dist/types/VoidType.d.ts +4 -2
  361. package/dist/types/VoidType.js +8 -4
  362. package/dist/types/VoidType.js.map +1 -1
  363. package/dist/types/VoidType.spec.js +2 -2
  364. package/dist/types/VoidType.spec.js.map +1 -1
  365. package/dist/types/helpers.d.ts +42 -0
  366. package/dist/types/helpers.js +118 -0
  367. package/dist/types/helpers.js.map +1 -0
  368. package/dist/util.d.ts +91 -21
  369. package/dist/util.js +364 -114
  370. package/dist/util.js.map +1 -1
  371. package/dist/validators/ClassValidator.d.ts +19 -2
  372. package/dist/validators/ClassValidator.js +164 -103
  373. package/dist/validators/ClassValidator.js.map +1 -1
  374. package/package.json +30 -19
  375. package/dist/astUtils/index.d.ts +0 -7
  376. package/dist/astUtils/index.js +0 -26
  377. package/dist/astUtils/index.js.map +0 -1
  378. package/dist/lexer/index.d.ts +0 -3
  379. package/dist/lexer/index.js +0 -17
  380. package/dist/lexer/index.js.map +0 -1
  381. package/dist/parser/index.d.ts +0 -3
  382. package/dist/parser/index.js +0 -16
  383. package/dist/parser/index.js.map +0 -1
  384. package/dist/preprocessor/index.d.ts +0 -3
  385. package/dist/preprocessor/index.js +0 -16
  386. package/dist/preprocessor/index.js.map +0 -1
  387. package/dist/types/FunctionType.spec.js +0 -23
  388. package/dist/types/FunctionType.spec.js.map +0 -1
@@ -1,13 +1,19 @@
1
- import type { Token, Identifier } from '../lexer';
2
- import { TokenKind } from '../lexer';
3
- import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression } from './Expression';
1
+ import type { Token, Identifier } from '../lexer/Token';
2
+ import { TokenKind } from '../lexer/TokenKind';
3
+ import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression, TypeExpression } from './Expression';
4
4
  import type { Range } from 'vscode-languageserver';
5
5
  import type { BrsTranspileState } from './BrsTranspileState';
6
6
  import { ParseMode } from './Parser';
7
7
  import type { WalkVisitor, WalkOptions } from '../astUtils/visitors';
8
8
  import { InternalWalkMode } from '../astUtils/visitors';
9
- import type { TranspileResult, TypedefProvider } from '../interfaces';
9
+ import type { InheritableStatement, MemberSymbolTableProvider, TranspileResult, TypedefProvider } from '../interfaces';
10
+ import { DynamicType } from '../types/DynamicType';
11
+ import type { SourceNode } from 'source-map';
12
+ import type { TranspileState } from './TranspileState';
10
13
  import { SymbolTable } from '../SymbolTable';
14
+ import { CustomType } from '../types/CustomType';
15
+ import { InterfaceType } from '../types/InterfaceType';
16
+ import { EnumType } from '../types/EnumType';
11
17
  /**
12
18
  * A BrightScript statement
13
19
  */
@@ -15,7 +21,7 @@ export declare abstract class Statement {
15
21
  /**
16
22
  * The starting and ending location of the statement.
17
23
  **/
18
- abstract range: Range;
24
+ abstract readonly range: Range;
19
25
  /**
20
26
  * Statement annotations
21
27
  */
@@ -46,7 +52,7 @@ export declare class EmptyStatement extends Statement {
46
52
  export declare class Body extends Statement implements TypedefProvider {
47
53
  statements: Statement[];
48
54
  constructor(statements?: Statement[]);
49
- get range(): Range;
55
+ readonly range: Range;
50
56
  transpile(state: BrsTranspileState): TranspileResult;
51
57
  getTypedef(state: BrsTranspileState): any[];
52
58
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -79,10 +85,10 @@ export declare class ExpressionStatement extends Statement {
79
85
  export declare class CommentStatement extends Statement implements Expression, TypedefProvider {
80
86
  comments: Token[];
81
87
  constructor(comments: Token[]);
82
- range: Range;
88
+ readonly range: Range;
83
89
  get text(): string;
84
90
  transpile(state: BrsTranspileState): any[];
85
- getTypedef(state: BrsTranspileState): any[];
91
+ getTypedef(state: TranspileState): any[];
86
92
  walk(visitor: WalkVisitor, options: WalkOptions): void;
87
93
  }
88
94
  export declare class ExitForStatement extends Statement {
@@ -93,7 +99,7 @@ export declare class ExitForStatement extends Statement {
93
99
  exitFor: Token;
94
100
  });
95
101
  readonly range: Range;
96
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
102
+ transpile(state: BrsTranspileState): SourceNode[];
97
103
  walk(visitor: WalkVisitor, options: WalkOptions): void;
98
104
  }
99
105
  export declare class ExitWhileStatement extends Statement {
@@ -104,7 +110,7 @@ export declare class ExitWhileStatement extends Statement {
104
110
  exitWhile: Token;
105
111
  });
106
112
  readonly range: Range;
107
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
113
+ transpile(state: BrsTranspileState): SourceNode[];
108
114
  walk(visitor: WalkVisitor, options: WalkOptions): void;
109
115
  }
110
116
  export declare class FunctionStatement extends Statement implements TypedefProvider {
@@ -112,7 +118,9 @@ export declare class FunctionStatement extends Statement implements TypedefProvi
112
118
  func: FunctionExpression;
113
119
  namespaceName: NamespacedVariableNameExpression;
114
120
  constructor(name: Identifier, func: FunctionExpression, namespaceName: NamespacedVariableNameExpression);
115
- readonly range: Range;
121
+ get range(): Range;
122
+ cacheRange(): Range;
123
+ protected _range: Range;
116
124
  /**
117
125
  * Get the name of this expression based on the parse mode
118
126
  */
@@ -147,7 +155,7 @@ export declare class IncrementStatement extends Statement {
147
155
  readonly operator: Token;
148
156
  constructor(value: Expression, operator: Token);
149
157
  readonly range: Range;
150
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
158
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
151
159
  walk(visitor: WalkVisitor, options: WalkOptions): void;
152
160
  }
153
161
  /** Used to indent the current `print` position to the next 16-character-width output zone. */
@@ -175,7 +183,7 @@ export declare class PrintStatement extends Statement {
175
183
  print: Token;
176
184
  }, expressions: Array<Expression | PrintSeparatorTab | PrintSeparatorSpace>);
177
185
  readonly range: Range;
178
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
186
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
179
187
  walk(visitor: WalkVisitor, options: WalkOptions): void;
180
188
  }
181
189
  export declare class DimStatement extends Statement {
@@ -185,8 +193,8 @@ export declare class DimStatement extends Statement {
185
193
  dimensions?: Expression[];
186
194
  closingSquare?: Token;
187
195
  constructor(dimToken: Token, identifier?: Identifier, openingSquare?: Token, dimensions?: Expression[], closingSquare?: Token);
188
- range: Range;
189
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
196
+ readonly range: Range;
197
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
190
198
  walk(visitor: WalkVisitor, options: WalkOptions): void;
191
199
  }
192
200
  export declare class GotoStatement extends Statement {
@@ -199,7 +207,7 @@ export declare class GotoStatement extends Statement {
199
207
  label: Token;
200
208
  });
201
209
  readonly range: Range;
202
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
210
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
203
211
  walk(visitor: WalkVisitor, options: WalkOptions): void;
204
212
  }
205
213
  export declare class LabelStatement extends Statement {
@@ -212,7 +220,7 @@ export declare class LabelStatement extends Statement {
212
220
  colon: Token;
213
221
  });
214
222
  readonly range: Range;
215
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
223
+ transpile(state: BrsTranspileState): SourceNode[];
216
224
  walk(visitor: WalkVisitor, options: WalkOptions): void;
217
225
  }
218
226
  export declare class ReturnStatement extends Statement {
@@ -235,7 +243,7 @@ export declare class EndStatement extends Statement {
235
243
  end: Token;
236
244
  });
237
245
  readonly range: Range;
238
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
246
+ transpile(state: BrsTranspileState): SourceNode[];
239
247
  walk(visitor: WalkVisitor, options: WalkOptions): void;
240
248
  }
241
249
  export declare class StopStatement extends Statement {
@@ -246,7 +254,7 @@ export declare class StopStatement extends Statement {
246
254
  stop: Token;
247
255
  });
248
256
  readonly range: Range;
249
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
257
+ transpile(state: BrsTranspileState): SourceNode[];
250
258
  walk(visitor: WalkVisitor, options: WalkOptions): void;
251
259
  }
252
260
  export declare class ForStatement extends Statement {
@@ -294,7 +302,9 @@ export declare class DottedSetStatement extends Statement {
294
302
  readonly obj: Expression;
295
303
  readonly name: Identifier;
296
304
  readonly value: Expression;
297
- constructor(obj: Expression, name: Identifier, value: Expression);
305
+ dot: Token;
306
+ operator: Token;
307
+ constructor(obj: Expression, name: Identifier, value: Expression, dot: Token, operator: Token);
298
308
  readonly range: Range;
299
309
  transpile(state: BrsTranspileState): TranspileResult;
300
310
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -305,7 +315,8 @@ export declare class IndexedSetStatement extends Statement {
305
315
  readonly value: Expression;
306
316
  readonly openingSquare: Token;
307
317
  readonly closingSquare: Token;
308
- constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token);
318
+ operator: Token;
319
+ constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token, operator: Token);
309
320
  readonly range: Range;
310
321
  transpile(state: BrsTranspileState): TranspileResult;
311
322
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -332,11 +343,13 @@ export declare class NamespaceStatement extends Statement implements TypedefProv
332
343
  readonly parentSymbolTable?: SymbolTable;
333
344
  readonly symbolTable: SymbolTable;
334
345
  constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token, parentSymbolTable?: SymbolTable);
346
+ get range(): Range;
347
+ cacheRange(): Range;
348
+ private _range;
335
349
  /**
336
350
  * The string name for this namespace
337
351
  */
338
352
  name: string;
339
- get range(): Range;
340
353
  getName(parseMode: ParseMode): string;
341
354
  transpile(state: BrsTranspileState): TranspileResult;
342
355
  getTypedef(state: BrsTranspileState): string[];
@@ -347,15 +360,69 @@ export declare class ImportStatement extends Statement implements TypedefProvide
347
360
  readonly filePathToken: Token;
348
361
  constructor(importToken: Token, filePathToken: Token);
349
362
  filePath: string;
350
- range: Range;
351
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
363
+ readonly range: Range;
364
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
352
365
  /**
353
366
  * Get the typedef for this statement
354
367
  */
355
368
  getTypedef(state: BrsTranspileState): string[];
356
369
  walk(visitor: WalkVisitor, options: WalkOptions): void;
357
370
  }
358
- export declare class ClassStatement extends Statement implements TypedefProvider {
371
+ export declare class InterfaceStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
372
+ name: Identifier;
373
+ parentInterfaceName: NamespacedVariableNameExpression;
374
+ body: Statement[];
375
+ namespaceName: NamespacedVariableNameExpression;
376
+ readonly memberTable: SymbolTable;
377
+ constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token, namespaceName: NamespacedVariableNameExpression);
378
+ tokens: {
379
+ interface: Token;
380
+ name: Identifier;
381
+ extends: Token;
382
+ endInterface: Token;
383
+ };
384
+ readonly range: Range;
385
+ memberMap: Record<string, InterfaceMemberStatement>;
386
+ methods: InterfaceMethodStatement[];
387
+ fields: InterfaceFieldStatement[];
388
+ buildSymbolTable(parentIface?: InheritableStatement): void;
389
+ hasParent(): boolean;
390
+ getParentName(): boolean;
391
+ /**
392
+ * Gets an array of possible parent interface names, taking into account the namespace this interface was created under
393
+ * @returns array of possible parent interface names
394
+ */
395
+ getPossibleFullParentNames(): string[];
396
+ getThisBscType(): InterfaceType;
397
+ /**
398
+ * The name of the interface WITH its leading namespace (if applicable)
399
+ */
400
+ getName(parseMode: ParseMode): string;
401
+ transpile(state: BrsTranspileState): TranspileResult;
402
+ getTypedef(state: BrsTranspileState): TranspileResult;
403
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
404
+ }
405
+ export declare class InterfaceFieldStatement extends Statement implements TypedefProvider {
406
+ type?: TypeExpression;
407
+ namespaceName?: NamespacedVariableNameExpression;
408
+ transpile(state: BrsTranspileState): TranspileResult;
409
+ constructor(nameToken: Identifier, asToken: Token, type?: TypeExpression, namespaceName?: NamespacedVariableNameExpression);
410
+ readonly range: Range;
411
+ tokens: {
412
+ name: Identifier;
413
+ as: Token;
414
+ };
415
+ getType(): import("../types/BscType").BscType;
416
+ get name(): Identifier;
417
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
418
+ getTypedef(state: BrsTranspileState): (string | SourceNode)[];
419
+ }
420
+ export declare class InterfaceMethodStatement extends FunctionStatement implements TypedefProvider {
421
+ transpile(state: BrsTranspileState): TranspileResult;
422
+ constructor(name: Identifier, func: FunctionExpression);
423
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
424
+ }
425
+ export declare class ClassStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
359
426
  readonly classKeyword: Token;
360
427
  /**
361
428
  * The name of the class (without namespace prefix)
@@ -366,16 +433,22 @@ export declare class ClassStatement extends Statement implements TypedefProvider
366
433
  readonly extendsKeyword?: Token;
367
434
  readonly parentClassName?: NamespacedVariableNameExpression;
368
435
  readonly namespaceName?: NamespacedVariableNameExpression;
436
+ readonly currentSymbolTable?: SymbolTable;
437
+ readonly symbolTable: SymbolTable;
438
+ readonly memberTable: SymbolTable;
369
439
  constructor(classKeyword: Token,
370
440
  /**
371
441
  * The name of the class (without namespace prefix)
372
442
  */
373
- name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression);
443
+ name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression, currentSymbolTable?: SymbolTable);
374
444
  getName(parseMode: ParseMode): string;
375
- memberMap: Record<string, ClassMemberStatement>;
376
- methods: ClassMethodStatement[];
377
- fields: ClassFieldStatement[];
445
+ memberMap: Record<string, MemberStatement>;
446
+ methods: MethodStatement[];
447
+ fields: FieldStatement[];
378
448
  readonly range: Range;
449
+ getThisBscType(): CustomType;
450
+ getConstructorFunctionType(): import("../types/TypedFunctionType").TypedFunctionType;
451
+ buildSymbolTable(parentClass?: InheritableStatement): void;
379
452
  transpile(state: BrsTranspileState): any[];
380
453
  getTypedef(state: BrsTranspileState): TranspileResult;
381
454
  /**
@@ -384,7 +457,12 @@ export declare class ClassStatement extends Statement implements TypedefProvider
384
457
  * The base class is index 0, its child is index 1, and so on.
385
458
  */
386
459
  getParentClassIndex(state: BrsTranspileState): number;
387
- hasParentClass(): boolean;
460
+ hasParent(): boolean;
461
+ /**
462
+ * Gets an array of possible parent class names, taking into account the namespace this class was created under
463
+ * @returns array of possible parent class names
464
+ */
465
+ getPossibleFullParentNames(): string[];
388
466
  /**
389
467
  * Get all ancestor classes, in closest-to-furthest order (i.e. 0 is parent, 1 is grandparent, etc...).
390
468
  * This will return an empty array if no ancestors were found
@@ -395,7 +473,6 @@ export declare class ClassStatement extends Statement implements TypedefProvider
395
473
  * Get the constructor function for this class (if exists), or undefined if not exist
396
474
  */
397
475
  private getConstructorFunction;
398
- private getEmptyNewFunction;
399
476
  /**
400
477
  * Determine if the specified field was declared in one of the ancestor classes
401
478
  */
@@ -414,11 +491,13 @@ export declare class ClassStatement extends Statement implements TypedefProvider
414
491
  private getTranspiledClassFunction;
415
492
  walk(visitor: WalkVisitor, options: WalkOptions): void;
416
493
  }
417
- export declare class ClassMethodStatement extends FunctionStatement {
418
- readonly accessModifier: Token;
419
- readonly override: Token;
420
- constructor(accessModifier: Token, name: Identifier, func: FunctionExpression, override: Token);
421
- readonly range: Range;
494
+ export declare class MethodStatement extends FunctionStatement {
495
+ override: Token;
496
+ constructor(modifiers: Token | Token[], name: Identifier, func: FunctionExpression, override: Token);
497
+ modifiers: Token[];
498
+ get accessModifier(): Token;
499
+ get range(): Range;
500
+ cacheRange(): Range;
422
501
  transpile(state: BrsTranspileState): any[];
423
502
  getTypedef(state: BrsTranspileState): string[];
424
503
  /**
@@ -432,33 +511,53 @@ export declare class ClassMethodStatement extends FunctionStatement {
432
511
  private injectFieldInitializersForConstructor;
433
512
  walk(visitor: WalkVisitor, options: WalkOptions): void;
434
513
  }
435
- export declare class ClassFieldStatement extends Statement implements TypedefProvider {
514
+ export declare class FieldStatement extends Statement implements TypedefProvider {
436
515
  readonly accessModifier?: Token;
437
516
  readonly name?: Identifier;
438
517
  readonly as?: Token;
439
- readonly type?: Token;
518
+ readonly type?: TypeExpression;
440
519
  readonly equal?: Token;
441
520
  readonly initialValue?: Expression;
442
- constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: Token, equal?: Token, initialValue?: Expression);
521
+ readonly namespaceName?: NamespacedVariableNameExpression;
522
+ constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: TypeExpression, equal?: Token, initialValue?: Expression, namespaceName?: NamespacedVariableNameExpression);
523
+ readonly range: Range;
443
524
  /**
444
525
  * Derive a ValueKind from the type token, or the initial value.
445
526
  * Defaults to `DynamicType`
446
527
  */
447
- getType(): import("../types/ObjectType").ObjectType | import("../types/BooleanType").BooleanType | import("../types/InvalidType").InvalidType | import("../types/StringType").StringType | import("../types/VoidType").VoidType;
448
- readonly range: Range;
528
+ getType(parseMode?: ParseMode): DynamicType | import("../types/BscType").BscType;
449
529
  transpile(state: BrsTranspileState): TranspileResult;
450
530
  getTypedef(state: BrsTranspileState): any[];
451
531
  walk(visitor: WalkVisitor, options: WalkOptions): void;
452
532
  }
453
- export declare type ClassMemberStatement = ClassFieldStatement | ClassMethodStatement;
533
+ export declare type MemberStatement = FieldStatement | MethodStatement;
534
+ export declare type InterfaceMemberStatement = InterfaceFieldStatement | InterfaceMethodStatement;
535
+ export declare type MemberFieldStatement = FieldStatement | InterfaceFieldStatement;
536
+ export declare type MemberMethodStatement = MethodStatement | InterfaceMethodStatement;
454
537
  export declare class TryCatchStatement extends Statement {
455
- tryToken: Token;
538
+ tokens: {
539
+ try: Token;
540
+ endTry?: Token;
541
+ };
456
542
  tryBranch?: Block;
457
- catchToken?: Token;
543
+ catchStatement?: CatchStatement;
544
+ constructor(tokens: {
545
+ try: Token;
546
+ endTry?: Token;
547
+ }, tryBranch?: Block, catchStatement?: CatchStatement);
548
+ readonly range: Range;
549
+ transpile(state: BrsTranspileState): TranspileResult;
550
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
551
+ }
552
+ export declare class CatchStatement extends Statement {
553
+ tokens: {
554
+ catch: Token;
555
+ };
458
556
  exceptionVariable?: Identifier;
459
557
  catchBranch?: Block;
460
- endTryToken?: Token;
461
- constructor(tryToken: Token, tryBranch?: Block, catchToken?: Token, exceptionVariable?: Identifier, catchBranch?: Block, endTryToken?: Token);
558
+ constructor(tokens: {
559
+ catch: Token;
560
+ }, exceptionVariable?: Identifier, catchBranch?: Block);
462
561
  get range(): Range;
463
562
  transpile(state: BrsTranspileState): TranspileResult;
464
563
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -467,7 +566,62 @@ export declare class ThrowStatement extends Statement {
467
566
  throwToken: Token;
468
567
  expression?: Expression;
469
568
  constructor(throwToken: Token, expression?: Expression);
470
- range: Range;
471
- transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
569
+ readonly range: Range;
570
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
571
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
572
+ }
573
+ export declare class EnumStatement extends Statement implements TypedefProvider {
574
+ tokens: {
575
+ enum: Token;
576
+ name: Identifier;
577
+ endEnum: Token;
578
+ };
579
+ body: Array<EnumMemberStatement | CommentStatement>;
580
+ namespaceName?: NamespacedVariableNameExpression;
581
+ readonly symbolTable: SymbolTable;
582
+ constructor(tokens: {
583
+ enum: Token;
584
+ name: Identifier;
585
+ endEnum: Token;
586
+ }, body: Array<EnumMemberStatement | CommentStatement>, namespaceName?: NamespacedVariableNameExpression);
587
+ readonly range: Range;
588
+ getMembers(): EnumMemberStatement[];
589
+ /**
590
+ * Get a map of member names and their values.
591
+ * All values are stored as their AST LiteralExpression representation (i.e. string enum values include the wrapping quotes)
592
+ */
593
+ getMemberValueMap(): Map<string, string>;
594
+ getMemberValue(name: string): string;
595
+ buildSymbolTable(): void;
596
+ /**
597
+ * The name of the enum (without the namespace prefix)
598
+ */
599
+ get name(): string;
600
+ /**
601
+ * The name of the enum WITH its leading namespace (if applicable)
602
+ */
603
+ get fullName(): string;
604
+ getThisBscType(): EnumType;
605
+ transpile(state: BrsTranspileState): any[];
606
+ getTypedef(state: BrsTranspileState): TranspileResult;
607
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
608
+ }
609
+ export declare class EnumMemberStatement extends Statement implements TypedefProvider {
610
+ tokens: {
611
+ name: Identifier;
612
+ equal?: Token;
613
+ };
614
+ value?: Expression;
615
+ constructor(tokens: {
616
+ name: Identifier;
617
+ equal?: Token;
618
+ }, value?: Expression);
619
+ readonly range: Range;
620
+ /**
621
+ * The name of the member
622
+ */
623
+ get name(): string;
624
+ transpile(state: BrsTranspileState): TranspileResult;
625
+ getTypedef(state: BrsTranspileState): (string | SourceNode)[];
472
626
  walk(visitor: WalkVisitor, options: WalkOptions): void;
473
627
  }