brighterscript 1.0.0-alpha.2 → 1.0.0-alpha.20

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