brighterscript 0.66.0-alpha.9 → 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 +116 -73
  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 -11
  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
@@ -1,24 +1,16 @@
1
1
  import type { Token, Identifier } from '../lexer/Token';
2
2
  import { TokenKind } from '../lexer/TokenKind';
3
- import type { DottedGetExpression, FunctionExpression, FunctionParameterExpression, TypeExpression } from './Expression';
4
- import { VariableExpression } from './Expression';
3
+ import type { NamespacedVariableNameExpression, FunctionExpression, FunctionParameterExpression } from './Expression';
5
4
  import type { Range } from 'vscode-languageserver';
6
5
  import type { BrsTranspileState } from './BrsTranspileState';
7
6
  import { ParseMode } from './Parser';
8
7
  import type { WalkVisitor, WalkOptions } from '../astUtils/visitors';
9
- import { type GetTypeOptions, type TranspileResult, type TypedefProvider } from '../interfaces';
10
- import type { SourceNode } from 'source-map';
8
+ import type { TranspileResult, TypedefProvider } from '../interfaces';
9
+ import type { BscType } from '../types/BscType';
11
10
  import type { TranspileState } from './TranspileState';
12
11
  import { SymbolTable } from '../SymbolTable';
13
12
  import type { Expression } from './AstNode';
14
- import { AstNodeKind } from './AstNode';
15
13
  import { Statement } from './AstNode';
16
- import { ClassType } from '../types/ClassType';
17
- import { EnumMemberType, EnumType } from '../types/EnumType';
18
- import { NamespaceType } from '../types/NamespaceType';
19
- import { InterfaceType } from '../types/InterfaceType';
20
- import type { BscType } from '../types/BscType';
21
- import { TypedFunctionType } from '../types/TypedFunctionType';
22
14
  export declare class EmptyStatement extends Statement {
23
15
  /**
24
16
  * Create a negative range to indicate this is an interpolated location
@@ -29,7 +21,6 @@ export declare class EmptyStatement extends Statement {
29
21
  * Create a negative range to indicate this is an interpolated location
30
22
  */
31
23
  range?: Range);
32
- readonly kind = AstNodeKind.EmptyStatement;
33
24
  transpile(state: BrsTranspileState): any[];
34
25
  walk(visitor: WalkVisitor, options: WalkOptions): void;
35
26
  }
@@ -39,51 +30,48 @@ export declare class EmptyStatement extends Statement {
39
30
  export declare class Body extends Statement implements TypedefProvider {
40
31
  statements: Statement[];
41
32
  constructor(statements?: Statement[]);
42
- readonly kind = AstNodeKind.Body;
43
33
  symbolTable: SymbolTable;
44
34
  get range(): Range;
45
35
  transpile(state: BrsTranspileState): TranspileResult;
46
- getTypedef(state: BrsTranspileState): any[];
36
+ getTypedef(state: BrsTranspileState): TranspileResult;
47
37
  walk(visitor: WalkVisitor, options: WalkOptions): void;
48
38
  }
49
39
  export declare class AssignmentStatement extends Statement {
50
- equals: Token;
51
- name: Identifier;
52
- value: Expression;
53
- asToken?: Token;
54
- typeExpression?: TypeExpression;
55
- constructor(equals: Token, name: Identifier, value: Expression, asToken?: Token, typeExpression?: TypeExpression);
56
- readonly kind = AstNodeKind.AssignmentStatement;
57
- readonly range: Range;
40
+ readonly equals: Token;
41
+ readonly name: Identifier;
42
+ readonly value: Expression;
43
+ constructor(equals: Token, name: Identifier, value: Expression);
44
+ readonly range: Range | undefined;
45
+ /**
46
+ * Get the name of the wrapping namespace (if it exists)
47
+ * @deprecated use `.findAncestor(isFunctionExpression)` instead.
48
+ */
49
+ get containingFunction(): FunctionExpression;
58
50
  transpile(state: BrsTranspileState): TranspileResult;
59
51
  walk(visitor: WalkVisitor, options: WalkOptions): void;
60
- getType(options: GetTypeOptions): BscType;
61
52
  }
62
53
  export declare class Block extends Statement {
63
54
  readonly statements: Statement[];
64
- readonly startingRange: Range;
65
- constructor(statements: Statement[], startingRange: Range);
66
- readonly kind = AstNodeKind.Block;
67
- readonly range: Range;
55
+ readonly startingRange?: Range;
56
+ constructor(statements: Statement[], startingRange?: Range);
57
+ readonly range: Range | undefined;
68
58
  transpile(state: BrsTranspileState): TranspileResult;
69
59
  walk(visitor: WalkVisitor, options: WalkOptions): void;
70
60
  }
71
61
  export declare class ExpressionStatement extends Statement {
72
62
  readonly expression: Expression;
73
63
  constructor(expression: Expression);
74
- readonly kind = AstNodeKind.ExpressionStatement;
75
- readonly range: Range;
64
+ readonly range: Range | undefined;
76
65
  transpile(state: BrsTranspileState): TranspileResult;
77
66
  walk(visitor: WalkVisitor, options: WalkOptions): void;
78
67
  }
79
68
  export declare class CommentStatement extends Statement implements Expression, TypedefProvider {
80
69
  comments: Token[];
81
70
  constructor(comments: Token[]);
82
- readonly kind = AstNodeKind.CommentStatement;
83
- range: Range;
71
+ range: Range | undefined;
84
72
  get text(): string;
85
- transpile(state: BrsTranspileState): any[];
86
- getTypedef(state: TranspileState): any[];
73
+ transpile(state: BrsTranspileState): TranspileResult;
74
+ getTypedef(state: TranspileState): TranspileResult;
87
75
  walk(visitor: WalkVisitor, options: WalkOptions): void;
88
76
  }
89
77
  export declare class ExitForStatement extends Statement {
@@ -93,9 +81,8 @@ export declare class ExitForStatement extends Statement {
93
81
  constructor(tokens: {
94
82
  exitFor: Token;
95
83
  });
96
- readonly kind = AstNodeKind.ExitForStatement;
97
84
  readonly range: Range;
98
- transpile(state: BrsTranspileState): SourceNode[];
85
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
99
86
  walk(visitor: WalkVisitor, options: WalkOptions): void;
100
87
  }
101
88
  export declare class ExitWhileStatement extends Statement {
@@ -105,26 +92,27 @@ export declare class ExitWhileStatement extends Statement {
105
92
  constructor(tokens: {
106
93
  exitWhile: Token;
107
94
  });
108
- readonly kind = AstNodeKind.ExitWhileStatement;
109
95
  readonly range: Range;
110
- transpile(state: BrsTranspileState): SourceNode[];
96
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
111
97
  walk(visitor: WalkVisitor, options: WalkOptions): void;
112
98
  }
113
99
  export declare class FunctionStatement extends Statement implements TypedefProvider {
114
100
  name: Identifier;
115
101
  func: FunctionExpression;
116
102
  constructor(name: Identifier, func: FunctionExpression);
117
- readonly kind: AstNodeKind;
118
- readonly range: Range;
103
+ readonly range: Range | undefined;
119
104
  /**
120
105
  * Get the name of this expression based on the parse mode
121
106
  */
122
107
  getName(parseMode: ParseMode): string;
123
- getLeadingTrivia(): Token[];
124
- transpile(state: BrsTranspileState): any[];
125
- getTypedef(state: BrsTranspileState): any[];
108
+ /**
109
+ * Get the name of the wrapping namespace (if it exists)
110
+ * @deprecated use `.findAncestor(isNamespaceStatement)` instead.
111
+ */
112
+ get namespaceName(): NamespacedVariableNameExpression;
113
+ transpile(state: BrsTranspileState): TranspileResult;
114
+ getTypedef(state: BrsTranspileState): TranspileResult;
126
115
  walk(visitor: WalkVisitor, options: WalkOptions): void;
127
- getType(options: GetTypeOptions): TypedFunctionType;
128
116
  }
129
117
  export declare class IfStatement extends Statement {
130
118
  readonly tokens: {
@@ -143,18 +131,16 @@ export declare class IfStatement extends Statement {
143
131
  else?: Token;
144
132
  endIf?: Token;
145
133
  }, condition: Expression, thenBranch: Block, elseBranch?: IfStatement | Block, isInline?: boolean);
146
- readonly kind = AstNodeKind.IfStatement;
147
- readonly range: Range;
148
- transpile(state: BrsTranspileState): any[];
134
+ readonly range: Range | undefined;
135
+ transpile(state: BrsTranspileState): TranspileResult;
149
136
  walk(visitor: WalkVisitor, options: WalkOptions): void;
150
137
  }
151
138
  export declare class IncrementStatement extends Statement {
152
139
  readonly value: Expression;
153
140
  readonly operator: Token;
154
141
  constructor(value: Expression, operator: Token);
155
- readonly kind = AstNodeKind.IncrementStatement;
156
- readonly range: Range;
157
- transpile(state: BrsTranspileState): (string | SourceNode)[];
142
+ readonly range: Range | undefined;
143
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode | TranspileResult)[];
158
144
  walk(visitor: WalkVisitor, options: WalkOptions): void;
159
145
  }
160
146
  /** Used to indent the current `print` position to the next 16-character-width output zone. */
@@ -182,9 +168,8 @@ export declare class PrintStatement extends Statement {
182
168
  constructor(tokens: {
183
169
  print: Token;
184
170
  }, expressions: Array<Expression | PrintSeparatorTab | PrintSeparatorSpace>);
185
- readonly kind = AstNodeKind.PrintStatement;
186
- readonly range: Range;
187
- transpile(state: BrsTranspileState): (string | SourceNode)[];
171
+ readonly range: Range | undefined;
172
+ transpile(state: BrsTranspileState): TranspileResult;
188
173
  walk(visitor: WalkVisitor, options: WalkOptions): void;
189
174
  }
190
175
  export declare class DimStatement extends Statement {
@@ -194,9 +179,8 @@ export declare class DimStatement extends Statement {
194
179
  dimensions?: Expression[];
195
180
  closingSquare?: Token;
196
181
  constructor(dimToken: Token, identifier?: Identifier, openingSquare?: Token, dimensions?: Expression[], closingSquare?: Token);
197
- readonly kind = AstNodeKind.DimStatement;
198
- range: Range;
199
- transpile(state: BrsTranspileState): (string | SourceNode)[];
182
+ range: Range | undefined;
183
+ transpile(state: BrsTranspileState): TranspileResult;
200
184
  walk(visitor: WalkVisitor, options: WalkOptions): void;
201
185
  }
202
186
  export declare class GotoStatement extends Statement {
@@ -208,9 +192,8 @@ export declare class GotoStatement extends Statement {
208
192
  goto: Token;
209
193
  label: Token;
210
194
  });
211
- readonly kind = AstNodeKind.GotoStatement;
212
- readonly range: Range;
213
- transpile(state: BrsTranspileState): (string | SourceNode)[];
195
+ readonly range: Range | undefined;
196
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
214
197
  walk(visitor: WalkVisitor, options: WalkOptions): void;
215
198
  }
216
199
  export declare class LabelStatement extends Statement {
@@ -222,10 +205,8 @@ export declare class LabelStatement extends Statement {
222
205
  identifier: Token;
223
206
  colon: Token;
224
207
  });
225
- readonly kind = AstNodeKind.LabelStatement;
226
- readonly range: Range;
227
- getLeadingTrivia(): Token[];
228
- transpile(state: BrsTranspileState): SourceNode[];
208
+ readonly range: Range | undefined;
209
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
229
210
  walk(visitor: WalkVisitor, options: WalkOptions): void;
230
211
  }
231
212
  export declare class ReturnStatement extends Statement {
@@ -236,9 +217,8 @@ export declare class ReturnStatement extends Statement {
236
217
  constructor(tokens: {
237
218
  return: Token;
238
219
  }, value?: Expression);
239
- readonly kind = AstNodeKind.ReturnStatement;
240
- readonly range: Range;
241
- transpile(state: BrsTranspileState): any[];
220
+ readonly range: Range | undefined;
221
+ transpile(state: BrsTranspileState): TranspileResult;
242
222
  walk(visitor: WalkVisitor, options: WalkOptions): void;
243
223
  }
244
224
  export declare class EndStatement extends Statement {
@@ -248,9 +228,8 @@ export declare class EndStatement extends Statement {
248
228
  constructor(tokens: {
249
229
  end: Token;
250
230
  });
251
- readonly kind = AstNodeKind.EndStatement;
252
231
  readonly range: Range;
253
- transpile(state: BrsTranspileState): SourceNode[];
232
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
254
233
  walk(visitor: WalkVisitor, options: WalkOptions): void;
255
234
  }
256
235
  export declare class StopStatement extends Statement {
@@ -260,9 +239,8 @@ export declare class StopStatement extends Statement {
260
239
  constructor(tokens: {
261
240
  stop: Token;
262
241
  });
263
- readonly kind = AstNodeKind.StopStatement;
264
242
  readonly range: Range;
265
- transpile(state: BrsTranspileState): SourceNode[];
243
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
266
244
  walk(visitor: WalkVisitor, options: WalkOptions): void;
267
245
  }
268
246
  export declare class ForStatement extends Statement {
@@ -275,9 +253,8 @@ export declare class ForStatement extends Statement {
275
253
  stepToken?: Token;
276
254
  increment?: Expression;
277
255
  constructor(forToken: Token, counterDeclaration: AssignmentStatement, toToken: Token, finalValue: Expression, body: Block, endForToken: Token, stepToken?: Token, increment?: Expression);
278
- readonly kind = AstNodeKind.ForStatement;
279
- readonly range: Range;
280
- transpile(state: BrsTranspileState): any[];
256
+ readonly range: Range | undefined;
257
+ transpile(state: BrsTranspileState): TranspileResult;
281
258
  walk(visitor: WalkVisitor, options: WalkOptions): void;
282
259
  }
283
260
  export declare class ForEachStatement extends Statement {
@@ -294,9 +271,8 @@ export declare class ForEachStatement extends Statement {
294
271
  in: Token;
295
272
  endFor: Token;
296
273
  }, item: Token, target: Expression, body: Block);
297
- readonly kind = AstNodeKind.ForEachStatement;
298
- readonly range: Range;
299
- transpile(state: BrsTranspileState): any[];
274
+ readonly range: Range | undefined;
275
+ transpile(state: BrsTranspileState): TranspileResult;
300
276
  walk(visitor: WalkVisitor, options: WalkOptions): void;
301
277
  }
302
278
  export declare class WhileStatement extends Statement {
@@ -310,9 +286,8 @@ export declare class WhileStatement extends Statement {
310
286
  while: Token;
311
287
  endWhile: Token;
312
288
  }, condition: Expression, body: Block);
313
- readonly kind = AstNodeKind.WhileStatement;
314
- readonly range: Range;
315
- transpile(state: BrsTranspileState): any[];
289
+ readonly range: Range | undefined;
290
+ transpile(state: BrsTranspileState): TranspileResult;
316
291
  walk(visitor: WalkVisitor, options: WalkOptions): void;
317
292
  }
318
293
  export declare class DottedSetStatement extends Statement {
@@ -321,8 +296,7 @@ export declare class DottedSetStatement extends Statement {
321
296
  readonly value: Expression;
322
297
  readonly dot?: Token;
323
298
  constructor(obj: Expression, name: Identifier, value: Expression, dot?: Token);
324
- readonly kind = AstNodeKind.DottedSetStatement;
325
- readonly range: Range;
299
+ readonly range: Range | undefined;
326
300
  transpile(state: BrsTranspileState): TranspileResult;
327
301
  walk(visitor: WalkVisitor, options: WalkOptions): void;
328
302
  }
@@ -332,10 +306,10 @@ export declare class IndexedSetStatement extends Statement {
332
306
  readonly value: Expression;
333
307
  readonly openingSquare: Token;
334
308
  readonly closingSquare: Token;
335
- constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token);
336
- readonly kind = AstNodeKind.IndexedSetStatement;
337
- readonly range: Range;
338
- transpile(state: BrsTranspileState): TranspileResult;
309
+ readonly additionalIndexes?: Expression[];
310
+ constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token, additionalIndexes?: Expression[]);
311
+ readonly range: Range | undefined;
312
+ transpile(state: BrsTranspileState): any[];
339
313
  walk(visitor: WalkVisitor, options: WalkOptions): void;
340
314
  }
341
315
  export declare class LibraryStatement extends Statement implements TypedefProvider {
@@ -347,19 +321,17 @@ export declare class LibraryStatement extends Statement implements TypedefProvid
347
321
  library: Token;
348
322
  filePath: Token | undefined;
349
323
  });
350
- readonly kind = AstNodeKind.LibraryStatement;
351
- readonly range: Range;
352
- transpile(state: BrsTranspileState): any[];
353
- getTypedef(state: BrsTranspileState): any[];
324
+ readonly range: Range | undefined;
325
+ transpile(state: BrsTranspileState): TranspileResult;
326
+ getTypedef(state: BrsTranspileState): TranspileResult;
354
327
  walk(visitor: WalkVisitor, options: WalkOptions): void;
355
328
  }
356
329
  export declare class NamespaceStatement extends Statement implements TypedefProvider {
357
330
  keyword: Token;
358
- nameExpression: VariableExpression | DottedGetExpression;
331
+ nameExpression: NamespacedVariableNameExpression;
359
332
  body: Body;
360
333
  endKeyword: Token;
361
- constructor(keyword: Token, nameExpression: VariableExpression | DottedGetExpression, body: Body, endKeyword: Token);
362
- readonly kind = AstNodeKind.NamespaceStatement;
334
+ constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token);
363
335
  /**
364
336
  * The string name for this namespace
365
337
  */
@@ -368,21 +340,17 @@ export declare class NamespaceStatement extends Statement implements TypedefProv
368
340
  private _range;
369
341
  cacheRange(): Range;
370
342
  getName(parseMode: ParseMode): string;
371
- getLeadingTrivia(): Token[];
372
- getNameParts(): Identifier[];
373
343
  transpile(state: BrsTranspileState): TranspileResult;
374
- getTypedef(state: BrsTranspileState): string[];
344
+ getTypedef(state: BrsTranspileState): TranspileResult;
375
345
  walk(visitor: WalkVisitor, options: WalkOptions): void;
376
- getType(options: GetTypeOptions): NamespaceType;
377
346
  }
378
347
  export declare class ImportStatement extends Statement implements TypedefProvider {
379
348
  readonly importToken: Token;
380
- readonly filePathToken: Token;
381
- constructor(importToken: Token, filePathToken: Token);
382
- readonly kind = AstNodeKind.ImportStatement;
383
- range: Range;
384
- filePath: string;
385
- transpile(state: BrsTranspileState): (string | SourceNode)[];
349
+ readonly filePathToken: Token | undefined;
350
+ constructor(importToken: Token, filePathToken: Token | undefined);
351
+ filePath: string | undefined;
352
+ range: Range | undefined;
353
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
386
354
  /**
387
355
  * Get the typedef for this statement
388
356
  */
@@ -390,21 +358,23 @@ export declare class ImportStatement extends Statement implements TypedefProvide
390
358
  walk(visitor: WalkVisitor, options: WalkOptions): void;
391
359
  }
392
360
  export declare class InterfaceStatement extends Statement implements TypedefProvider {
393
- parentInterfaceName: TypeExpression;
361
+ parentInterfaceName: NamespacedVariableNameExpression;
394
362
  body: Statement[];
395
- constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: TypeExpression, body: Statement[], endInterfaceToken: Token);
396
- readonly kind = AstNodeKind.InterfaceStatement;
363
+ constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token);
397
364
  tokens: {
398
365
  interface: Token;
399
366
  name: Identifier;
400
367
  extends: Token;
401
368
  endInterface: Token;
402
369
  };
403
- range: Range;
404
- get fields(): InterfaceFieldStatement[];
405
- get methods(): InterfaceMethodStatement[];
406
- hasParentInterface(): boolean;
407
- getLeadingTrivia(): Token[];
370
+ range: Range | undefined;
371
+ /**
372
+ * Get the name of the wrapping namespace (if it exists)
373
+ * @deprecated use `.findAncestor(isNamespaceStatement)` instead.
374
+ */
375
+ get namespaceName(): NamespacedVariableNameExpression;
376
+ get fields(): Statement[];
377
+ get methods(): Statement[];
408
378
  /**
409
379
  * The name of the interface WITH its leading namespace (if applicable)
410
380
  */
@@ -420,50 +390,41 @@ export declare class InterfaceStatement extends Statement implements TypedefProv
420
390
  transpile(state: BrsTranspileState): TranspileResult;
421
391
  getTypedef(state: BrsTranspileState): TranspileResult;
422
392
  walk(visitor: WalkVisitor, options: WalkOptions): void;
423
- getType(options: GetTypeOptions): InterfaceType;
424
393
  }
425
394
  export declare class InterfaceFieldStatement extends Statement implements TypedefProvider {
426
- typeExpression?: TypeExpression;
395
+ type: BscType;
427
396
  transpile(state: BrsTranspileState): TranspileResult;
428
- constructor(nameToken: Identifier, asToken: Token, typeExpression?: TypeExpression, optionalToken?: Token);
429
- readonly kind = AstNodeKind.InterfaceFieldStatement;
430
- range: Range;
397
+ constructor(nameToken: Identifier, asToken: Token, typeToken: Token, type: BscType, optionalToken?: Token);
398
+ range: Range | undefined;
431
399
  tokens: {
400
+ optional?: Token;
432
401
  name: Identifier;
433
402
  as: Token;
434
- optional?: Token;
403
+ type: Token;
435
404
  };
436
- getLeadingTrivia(): Token[];
437
405
  get name(): string;
438
406
  get isOptional(): boolean;
439
407
  walk(visitor: WalkVisitor, options: WalkOptions): void;
440
- getTypedef(state: BrsTranspileState): (string | SourceNode)[];
441
- getType(options: GetTypeOptions): BscType;
408
+ getTypedef(state: BrsTranspileState): TranspileResult;
442
409
  }
443
410
  export declare class InterfaceMethodStatement extends Statement implements TypedefProvider {
444
411
  params: FunctionParameterExpression[];
445
- returnTypeExpression?: TypeExpression;
412
+ returnType?: BscType;
446
413
  transpile(state: BrsTranspileState): TranspileResult;
447
- constructor(functionTypeToken: Token, nameToken: Identifier, leftParen: Token, params: FunctionParameterExpression[], rightParen: Token, asToken?: Token, returnTypeExpression?: TypeExpression, optionalToken?: Token);
448
- readonly kind = AstNodeKind.InterfaceMethodStatement;
414
+ constructor(functionTypeToken: Token, nameToken: Identifier, leftParen: Token, params: FunctionParameterExpression[], rightParen: Token, asToken?: Token, returnTypeToken?: Token, returnType?: BscType, optionalToken?: Token);
449
415
  get range(): Range;
450
- /**
451
- * Get the name of this method.
452
- */
453
- getName(parseMode: ParseMode): string;
454
416
  tokens: {
455
417
  optional?: Token;
456
418
  functionType: Token;
457
419
  name: Identifier;
458
420
  leftParen: Token;
459
421
  rightParen: Token;
460
- as: Token;
422
+ as: Token | undefined;
423
+ returnType: Token | undefined;
461
424
  };
462
425
  get isOptional(): boolean;
463
- getLeadingTrivia(): Token[];
464
426
  walk(visitor: WalkVisitor, options: WalkOptions): void;
465
427
  getTypedef(state: BrsTranspileState): TranspileResult;
466
- getType(options: GetTypeOptions): TypedFunctionType;
467
428
  }
468
429
  export declare class ClassStatement extends Statement implements TypedefProvider {
469
430
  readonly classKeyword: Token;
@@ -474,20 +435,23 @@ export declare class ClassStatement extends Statement implements TypedefProvider
474
435
  body: Statement[];
475
436
  readonly end: Token;
476
437
  readonly extendsKeyword?: Token;
477
- readonly parentClassName?: TypeExpression;
438
+ readonly parentClassName?: NamespacedVariableNameExpression;
478
439
  constructor(classKeyword: Token,
479
440
  /**
480
441
  * The name of the class (without namespace prefix)
481
442
  */
482
- name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: TypeExpression);
483
- readonly kind = AstNodeKind.ClassStatement;
443
+ name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression);
444
+ /**
445
+ * Get the name of the wrapping namespace (if it exists)
446
+ * @deprecated use `.findAncestor(isNamespaceStatement)` instead.
447
+ */
448
+ get namespaceName(): NamespacedVariableNameExpression;
484
449
  getName(parseMode: ParseMode): string;
485
- getLeadingTrivia(): Token[];
486
450
  memberMap: Record<string, MemberStatement>;
487
451
  methods: MethodStatement[];
488
452
  fields: FieldStatement[];
489
- readonly range: Range;
490
- transpile(state: BrsTranspileState): any[];
453
+ readonly range: Range | undefined;
454
+ transpile(state: BrsTranspileState): TranspileResult;
491
455
  getTypedef(state: BrsTranspileState): TranspileResult;
492
456
  /**
493
457
  * Find the parent index for this class's parent.
@@ -523,22 +487,19 @@ export declare class ClassStatement extends Statement implements TypedefProvider
523
487
  */
524
488
  private getTranspiledClassFunction;
525
489
  walk(visitor: WalkVisitor, options: WalkOptions): void;
526
- getType(options: GetTypeOptions): ClassType;
527
490
  }
528
491
  export declare class MethodStatement extends FunctionStatement {
529
492
  override: Token;
530
493
  constructor(modifiers: Token | Token[], name: Identifier, func: FunctionExpression, override: Token);
531
- readonly kind: AstNodeKind;
532
494
  modifiers: Token[];
533
495
  get accessModifier(): Token;
534
- readonly range: Range;
496
+ readonly range: Range | undefined;
535
497
  /**
536
498
  * Get the name of this method.
537
499
  */
538
500
  getName(parseMode: ParseMode): string;
539
- getLeadingTrivia(): Token[];
540
- transpile(state: BrsTranspileState): any[];
541
- getTypedef(state: BrsTranspileState): (string | SourceNode)[];
501
+ transpile(state: BrsTranspileState): TranspileResult;
502
+ getTypedef(state: BrsTranspileState): TranspileResult;
542
503
  /**
543
504
  * All child classes must call the parent constructor. The type checker will warn users when they don't call it in their own class,
544
505
  * but we still need to call it even if they have omitted it. This injects the super call if it's missing
@@ -550,29 +511,41 @@ export declare class MethodStatement extends FunctionStatement {
550
511
  private injectFieldInitializersForConstructor;
551
512
  walk(visitor: WalkVisitor, options: WalkOptions): void;
552
513
  }
514
+ /**
515
+ * @deprecated use `MethodStatement`
516
+ */
517
+ export declare class ClassMethodStatement extends MethodStatement {
518
+ }
553
519
  export declare class FieldStatement extends Statement implements TypedefProvider {
554
520
  readonly accessModifier?: Token;
555
521
  readonly name?: Identifier;
556
522
  readonly as?: Token;
557
- readonly typeExpression?: TypeExpression;
523
+ readonly type?: Token;
558
524
  readonly equal?: Token;
559
525
  readonly initialValue?: Expression;
560
526
  readonly optional?: Token;
561
- constructor(accessModifier?: Token, name?: Identifier, as?: Token, typeExpression?: TypeExpression, equal?: Token, initialValue?: Expression, optional?: Token);
562
- readonly kind = AstNodeKind.FieldStatement;
527
+ constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: Token, equal?: Token, initialValue?: Expression, optional?: Token);
563
528
  /**
564
529
  * Derive a ValueKind from the type token, or the initial value.
565
530
  * Defaults to `DynamicType`
566
531
  */
567
- getType(options: GetTypeOptions): BscType;
568
- readonly range: Range;
569
- getLeadingTrivia(): Token[];
532
+ getType(): BscType;
533
+ readonly range: Range | undefined;
570
534
  get isOptional(): boolean;
571
535
  transpile(state: BrsTranspileState): TranspileResult;
572
- getTypedef(state: BrsTranspileState): any[];
536
+ getTypedef(state: BrsTranspileState): TranspileResult;
573
537
  walk(visitor: WalkVisitor, options: WalkOptions): void;
574
538
  }
539
+ /**
540
+ * @deprecated use `FieldStatement`
541
+ */
542
+ export declare class ClassFieldStatement extends FieldStatement {
543
+ }
575
544
  export declare type MemberStatement = FieldStatement | MethodStatement;
545
+ /**
546
+ * @deprecated use `MemeberStatement`
547
+ */
548
+ export declare type ClassMemberStatement = MemberStatement;
576
549
  export declare class TryCatchStatement extends Statement {
577
550
  tokens: {
578
551
  try: Token;
@@ -584,8 +557,7 @@ export declare class TryCatchStatement extends Statement {
584
557
  try: Token;
585
558
  endTry?: Token;
586
559
  }, tryBranch?: Block, catchStatement?: CatchStatement);
587
- readonly kind = AstNodeKind.TryCatchStatement;
588
- readonly range: Range;
560
+ readonly range: Range | undefined;
589
561
  transpile(state: BrsTranspileState): TranspileResult;
590
562
  walk(visitor: WalkVisitor, options: WalkOptions): void;
591
563
  }
@@ -598,8 +570,7 @@ export declare class CatchStatement extends Statement {
598
570
  constructor(tokens: {
599
571
  catch: Token;
600
572
  }, exceptionVariable?: Identifier, catchBranch?: Block);
601
- readonly kind = AstNodeKind.CatchStatement;
602
- range: Range;
573
+ range: Range | undefined;
603
574
  transpile(state: BrsTranspileState): TranspileResult;
604
575
  walk(visitor: WalkVisitor, options: WalkOptions): void;
605
576
  }
@@ -607,9 +578,8 @@ export declare class ThrowStatement extends Statement {
607
578
  throwToken: Token;
608
579
  expression?: Expression;
609
580
  constructor(throwToken: Token, expression?: Expression);
610
- readonly kind = AstNodeKind.ThrowStatement;
611
- range: Range;
612
- transpile(state: BrsTranspileState): (string | SourceNode)[];
581
+ range: Range | undefined;
582
+ transpile(state: BrsTranspileState): TranspileResult;
613
583
  walk(visitor: WalkVisitor, options: WalkOptions): void;
614
584
  }
615
585
  export declare class EnumStatement extends Statement implements TypedefProvider {
@@ -624,11 +594,13 @@ export declare class EnumStatement extends Statement implements TypedefProvider
624
594
  name: Identifier;
625
595
  endEnum: Token;
626
596
  }, body: Array<EnumMemberStatement | CommentStatement>);
627
- readonly kind = AstNodeKind.EnumStatement;
628
- symbolTable: SymbolTable;
629
- get range(): Range;
597
+ get range(): Range | undefined;
598
+ /**
599
+ * Get the name of the wrapping namespace (if it exists)
600
+ * @deprecated use `.findAncestor(isNamespaceStatement)` instead.
601
+ */
602
+ get namespaceName(): NamespacedVariableNameExpression;
630
603
  getMembers(): EnumMemberStatement[];
631
- getLeadingTrivia(): Token[];
632
604
  /**
633
605
  * Get a map of member names and their values.
634
606
  * All values are stored as their AST LiteralExpression representation (i.e. string enum values include the wrapping quotes)
@@ -646,7 +618,6 @@ export declare class EnumStatement extends Statement implements TypedefProvider
646
618
  transpile(state: BrsTranspileState): any[];
647
619
  getTypedef(state: BrsTranspileState): TranspileResult;
648
620
  walk(visitor: WalkVisitor, options: WalkOptions): void;
649
- getType(options: GetTypeOptions): EnumType;
650
621
  }
651
622
  export declare class EnumMemberStatement extends Statement implements TypedefProvider {
652
623
  tokens: {
@@ -658,17 +629,18 @@ export declare class EnumMemberStatement extends Statement implements TypedefPro
658
629
  name: Identifier;
659
630
  equal?: Token;
660
631
  }, value?: Expression);
661
- readonly kind = AstNodeKind.EnumMemberStatement;
662
- get range(): Range;
663
632
  /**
664
633
  * The name of the member
665
634
  */
666
635
  get name(): string;
667
- getLeadingTrivia(): Token[];
636
+ get range(): Range;
637
+ /**
638
+ * Get the value of this enum. Requires that `.parent` is set
639
+ */
640
+ getValue(): string;
668
641
  transpile(state: BrsTranspileState): TranspileResult;
669
- getTypedef(state: BrsTranspileState): (string | SourceNode)[];
642
+ getTypedef(state: BrsTranspileState): TranspileResult;
670
643
  walk(visitor: WalkVisitor, options: WalkOptions): void;
671
- getType(options: GetTypeOptions): EnumMemberType;
672
644
  }
673
645
  export declare class ConstStatement extends Statement implements TypedefProvider {
674
646
  tokens: {
@@ -682,18 +654,15 @@ export declare class ConstStatement extends Statement implements TypedefProvider
682
654
  name: Identifier;
683
655
  equals: Token;
684
656
  }, value: Expression);
685
- readonly kind = AstNodeKind.ConstStatement;
686
- range: Range;
657
+ range: Range | undefined;
687
658
  get name(): string;
688
- getLeadingTrivia(): Token[];
689
659
  /**
690
660
  * The name of the statement WITH its leading namespace (if applicable)
691
661
  */
692
662
  get fullName(): string;
693
663
  transpile(state: BrsTranspileState): TranspileResult;
694
- getTypedef(state: BrsTranspileState): (string | SourceNode)[];
664
+ getTypedef(state: BrsTranspileState): TranspileResult;
695
665
  walk(visitor: WalkVisitor, options: WalkOptions): void;
696
- getType(options: GetTypeOptions): BscType;
697
666
  }
698
667
  export declare class ContinueStatement extends Statement {
699
668
  tokens: {
@@ -704,8 +673,7 @@ export declare class ContinueStatement extends Statement {
704
673
  continue: Token;
705
674
  loopType: Token;
706
675
  });
707
- readonly kind = AstNodeKind.ContinueStatement;
708
- range: Range;
709
- transpile(state: BrsTranspileState): (string | SourceNode)[];
676
+ range: Range | undefined;
677
+ transpile(state: BrsTranspileState): (string | import("source-map").SourceNode)[];
710
678
  walk(visitor: WalkVisitor, options: WalkOptions): void;
711
679
  }