brighterscript 1.0.0-alpha.23 → 1.0.0-alpha.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (536) hide show
  1. package/CHANGELOG.md +585 -218
  2. package/README.md +45 -139
  3. package/bsconfig.schema.json +41 -0
  4. package/dist/ActionPipeline.d.ts +10 -0
  5. package/dist/ActionPipeline.js +40 -0
  6. package/dist/ActionPipeline.js.map +1 -0
  7. package/dist/AstValidationSegmenter.d.ts +25 -0
  8. package/dist/AstValidationSegmenter.js +152 -0
  9. package/dist/AstValidationSegmenter.js.map +1 -0
  10. package/dist/BsConfig.d.ts +39 -4
  11. package/dist/BusyStatusTracker.d.ts +31 -0
  12. package/dist/BusyStatusTracker.js +83 -0
  13. package/dist/BusyStatusTracker.js.map +1 -0
  14. package/dist/Cache.js +3 -3
  15. package/dist/Cache.js.map +1 -1
  16. package/dist/CacheVerifier.d.ts +7 -0
  17. package/dist/CacheVerifier.js +20 -0
  18. package/dist/CacheVerifier.js.map +1 -0
  19. package/dist/CodeActionUtil.d.ts +3 -3
  20. package/dist/CodeActionUtil.js.map +1 -1
  21. package/dist/CommentFlagProcessor.d.ts +3 -2
  22. package/dist/CommentFlagProcessor.js +5 -4
  23. package/dist/CommentFlagProcessor.js.map +1 -1
  24. package/dist/DependencyGraph.d.ts +3 -2
  25. package/dist/DependencyGraph.js +11 -10
  26. package/dist/DependencyGraph.js.map +1 -1
  27. package/dist/DiagnosticCollection.js +9 -5
  28. package/dist/DiagnosticCollection.js.map +1 -1
  29. package/dist/DiagnosticFilterer.d.ts +1 -0
  30. package/dist/DiagnosticFilterer.js +5 -3
  31. package/dist/DiagnosticFilterer.js.map +1 -1
  32. package/dist/DiagnosticMessages.d.ts +79 -15
  33. package/dist/DiagnosticMessages.js +134 -21
  34. package/dist/DiagnosticMessages.js.map +1 -1
  35. package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
  36. package/dist/DiagnosticSeverityAdjuster.js +41 -0
  37. package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
  38. package/dist/FunctionScope.d.ts +28 -0
  39. package/dist/FunctionScope.js +52 -0
  40. package/dist/FunctionScope.js.map +1 -0
  41. package/dist/KeyedThrottler.d.ts +3 -3
  42. package/dist/KeyedThrottler.js +3 -3
  43. package/dist/KeyedThrottler.js.map +1 -1
  44. package/dist/LanguageServer.d.ts +23 -11
  45. package/dist/LanguageServer.js +222 -87
  46. package/dist/LanguageServer.js.map +1 -1
  47. package/dist/Logger.d.ts +3 -2
  48. package/dist/Logger.js +11 -3
  49. package/dist/Logger.js.map +1 -1
  50. package/dist/PluginInterface.d.ts +21 -3
  51. package/dist/PluginInterface.js +74 -6
  52. package/dist/PluginInterface.js.map +1 -1
  53. package/dist/Program.d.ts +162 -81
  54. package/dist/Program.js +903 -732
  55. package/dist/Program.js.map +1 -1
  56. package/dist/ProgramBuilder.d.ts +22 -12
  57. package/dist/ProgramBuilder.js +132 -104
  58. package/dist/ProgramBuilder.js.map +1 -1
  59. package/dist/Scope.d.ts +95 -134
  60. package/dist/Scope.js +477 -551
  61. package/dist/Scope.js.map +1 -1
  62. package/dist/Stopwatch.js +1 -1
  63. package/dist/Stopwatch.js.map +1 -1
  64. package/dist/SymbolTable.d.ts +95 -29
  65. package/dist/SymbolTable.js +256 -102
  66. package/dist/SymbolTable.js.map +1 -1
  67. package/dist/Throttler.d.ts +12 -0
  68. package/dist/Throttler.js +39 -0
  69. package/dist/Throttler.js.map +1 -1
  70. package/dist/Watcher.d.ts +0 -3
  71. package/dist/Watcher.js +0 -3
  72. package/dist/Watcher.js.map +1 -1
  73. package/dist/XmlScope.d.ts +4 -6
  74. package/dist/XmlScope.js +74 -68
  75. package/dist/XmlScope.js.map +1 -1
  76. package/dist/astUtils/CachedLookups.d.ts +48 -0
  77. package/dist/astUtils/CachedLookups.js +323 -0
  78. package/dist/astUtils/CachedLookups.js.map +1 -0
  79. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +9 -5
  80. package/dist/astUtils/{AstEditor.js → Editor.js} +10 -4
  81. package/dist/astUtils/Editor.js.map +1 -0
  82. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +68 -64
  83. package/dist/astUtils/Editor.spec.js.map +1 -0
  84. package/dist/astUtils/creators.d.ts +10 -10
  85. package/dist/astUtils/creators.js +26 -16
  86. package/dist/astUtils/creators.js.map +1 -1
  87. package/dist/astUtils/creators.spec.js +5 -5
  88. package/dist/astUtils/creators.spec.js.map +1 -1
  89. package/dist/astUtils/reflection.d.ts +132 -100
  90. package/dist/astUtils/reflection.js +225 -166
  91. package/dist/astUtils/reflection.js.map +1 -1
  92. package/dist/astUtils/reflection.spec.js +208 -126
  93. package/dist/astUtils/reflection.spec.js.map +1 -1
  94. package/dist/astUtils/stackedVisitor.spec.js +12 -12
  95. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  96. package/dist/astUtils/visitors.d.ts +54 -35
  97. package/dist/astUtils/visitors.js +29 -3
  98. package/dist/astUtils/visitors.js.map +1 -1
  99. package/dist/astUtils/visitors.spec.js +178 -33
  100. package/dist/astUtils/visitors.spec.js.map +1 -1
  101. package/dist/astUtils/xml.d.ts +9 -9
  102. package/dist/astUtils/xml.js +9 -9
  103. package/dist/astUtils/xml.js.map +1 -1
  104. package/dist/bscPlugin/BscPlugin.d.ts +12 -2
  105. package/dist/bscPlugin/BscPlugin.js +41 -3
  106. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  107. package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
  108. package/dist/bscPlugin/CallExpressionInfo.js +131 -0
  109. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
  110. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  111. package/dist/bscPlugin/FileWriter.js +24 -0
  112. package/dist/bscPlugin/FileWriter.js.map +1 -0
  113. package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
  114. package/dist/bscPlugin/SignatureHelpUtil.js +135 -0
  115. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
  116. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +1 -1
  117. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +21 -12
  118. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  119. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +86 -12
  120. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  121. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +57 -0
  122. package/dist/bscPlugin/completions/CompletionsProcessor.js +544 -0
  123. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
  124. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1909 -0
  125. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  126. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  127. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  128. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  129. package/dist/bscPlugin/hover/HoverProcessor.d.ts +17 -0
  130. package/dist/bscPlugin/hover/HoverProcessor.js +188 -0
  131. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
  132. package/dist/bscPlugin/hover/HoverProcessor.spec.js +513 -0
  133. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
  134. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +3 -1
  135. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +102 -29
  136. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  137. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +167 -6
  138. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  139. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
  140. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  141. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  142. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  143. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  144. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  145. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  146. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  147. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  148. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +16 -0
  149. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +123 -0
  150. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  151. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  152. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  153. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  154. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
  155. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
  156. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
  157. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +22 -1
  158. package/dist/bscPlugin/validation/BrsFileValidator.js +316 -29
  159. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  160. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
  161. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +264 -0
  162. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -0
  163. package/dist/bscPlugin/validation/ProgramValidator.d.ts +10 -0
  164. package/dist/bscPlugin/validation/ProgramValidator.js +32 -0
  165. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
  166. package/dist/bscPlugin/validation/ScopeValidator.d.ts +56 -8
  167. package/dist/bscPlugin/validation/ScopeValidator.js +514 -116
  168. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  169. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  170. package/dist/bscPlugin/validation/ScopeValidator.spec.js +2454 -0
  171. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  172. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
  173. package/dist/bscPlugin/validation/XmlFileValidator.js +44 -0
  174. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
  175. package/dist/cli.js +107 -8
  176. package/dist/cli.js.map +1 -1
  177. package/dist/deferred.d.ts +3 -3
  178. package/dist/deferred.js.map +1 -1
  179. package/dist/diagnosticUtils.d.ts +8 -2
  180. package/dist/diagnosticUtils.js +47 -17
  181. package/dist/diagnosticUtils.js.map +1 -1
  182. package/dist/examples/plugins/removePrint.js +8 -10
  183. package/dist/examples/plugins/removePrint.js.map +1 -1
  184. package/dist/files/AssetFile.d.ts +26 -0
  185. package/dist/files/AssetFile.js +26 -0
  186. package/dist/files/AssetFile.js.map +1 -0
  187. package/dist/files/BrsFile.Class.spec.js +529 -486
  188. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  189. package/dist/files/BrsFile.d.ts +124 -112
  190. package/dist/files/BrsFile.js +819 -1131
  191. package/dist/files/BrsFile.js.map +1 -1
  192. package/dist/files/BrsFile.spec.js +1869 -1277
  193. package/dist/files/BrsFile.spec.js.map +1 -1
  194. package/dist/files/BscFile.d.ts +104 -0
  195. package/dist/files/BscFile.js +16 -0
  196. package/dist/files/BscFile.js.map +1 -0
  197. package/dist/files/Factory.d.ts +25 -0
  198. package/dist/files/Factory.js +22 -0
  199. package/dist/files/Factory.js.map +1 -0
  200. package/dist/files/LazyFileData.d.ts +20 -0
  201. package/dist/files/LazyFileData.js +54 -0
  202. package/dist/files/LazyFileData.js.map +1 -0
  203. package/dist/files/LazyFileData.spec.d.ts +1 -0
  204. package/dist/files/LazyFileData.spec.js +27 -0
  205. package/dist/files/LazyFileData.spec.js.map +1 -0
  206. package/dist/files/XmlFile.d.ts +70 -32
  207. package/dist/files/XmlFile.js +106 -117
  208. package/dist/files/XmlFile.js.map +1 -1
  209. package/dist/files/XmlFile.spec.js +325 -262
  210. package/dist/files/XmlFile.spec.js.map +1 -1
  211. package/dist/files/tests/imports.spec.js +49 -41
  212. package/dist/files/tests/imports.spec.js.map +1 -1
  213. package/dist/files/tests/optionalChaning.spec.js +104 -40
  214. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  215. package/dist/globalCallables.js +16 -18
  216. package/dist/globalCallables.js.map +1 -1
  217. package/dist/index.d.ts +13 -2
  218. package/dist/index.js +15 -2
  219. package/dist/index.js.map +1 -1
  220. package/dist/interfaces.d.ts +440 -150
  221. package/dist/interfaces.js +27 -0
  222. package/dist/interfaces.js.map +1 -1
  223. package/dist/lexer/Character.spec.js +5 -5
  224. package/dist/lexer/Character.spec.js.map +1 -1
  225. package/dist/lexer/Lexer.d.ts +12 -5
  226. package/dist/lexer/Lexer.js +28 -13
  227. package/dist/lexer/Lexer.js.map +1 -1
  228. package/dist/lexer/Lexer.spec.js +187 -134
  229. package/dist/lexer/Lexer.spec.js.map +1 -1
  230. package/dist/lexer/Token.d.ts +9 -1
  231. package/dist/lexer/Token.js +9 -1
  232. package/dist/lexer/Token.js.map +1 -1
  233. package/dist/lexer/TokenKind.d.ts +9 -0
  234. package/dist/lexer/TokenKind.js +30 -5
  235. package/dist/lexer/TokenKind.js.map +1 -1
  236. package/dist/parser/AstNode.d.ts +162 -0
  237. package/dist/parser/AstNode.js +225 -0
  238. package/dist/parser/AstNode.js.map +1 -0
  239. package/dist/parser/AstNode.spec.d.ts +1 -0
  240. package/dist/parser/AstNode.spec.js +165 -0
  241. package/dist/parser/AstNode.spec.js.map +1 -0
  242. package/dist/parser/BrsTranspileState.d.ts +4 -7
  243. package/dist/parser/BrsTranspileState.js +4 -12
  244. package/dist/parser/BrsTranspileState.js.map +1 -1
  245. package/dist/parser/Expression.d.ts +126 -167
  246. package/dist/parser/Expression.js +524 -394
  247. package/dist/parser/Expression.js.map +1 -1
  248. package/dist/parser/Parser.Class.spec.js +152 -146
  249. package/dist/parser/Parser.Class.spec.js.map +1 -1
  250. package/dist/parser/Parser.d.ts +45 -196
  251. package/dist/parser/Parser.js +470 -926
  252. package/dist/parser/Parser.js.map +1 -1
  253. package/dist/parser/Parser.spec.d.ts +3 -1
  254. package/dist/parser/Parser.spec.js +1034 -805
  255. package/dist/parser/Parser.spec.js.map +1 -1
  256. package/dist/parser/SGParser.d.ts +9 -8
  257. package/dist/parser/SGParser.js +10 -8
  258. package/dist/parser/SGParser.js.map +1 -1
  259. package/dist/parser/SGParser.spec.js +27 -38
  260. package/dist/parser/SGParser.spec.js.map +1 -1
  261. package/dist/parser/SGTypes.d.ts +98 -35
  262. package/dist/parser/SGTypes.js +169 -99
  263. package/dist/parser/SGTypes.js.map +1 -1
  264. package/dist/parser/Statement.d.ts +208 -122
  265. package/dist/parser/Statement.js +599 -364
  266. package/dist/parser/Statement.js.map +1 -1
  267. package/dist/parser/Statement.spec.js +45 -21
  268. package/dist/parser/Statement.spec.js.map +1 -1
  269. package/dist/parser/TranspileState.d.ts +1 -1
  270. package/dist/parser/TranspileState.js +7 -12
  271. package/dist/parser/TranspileState.js.map +1 -1
  272. package/dist/parser/tests/Parser.spec.js +3 -2
  273. package/dist/parser/tests/Parser.spec.js.map +1 -1
  274. package/dist/parser/tests/controlFlow/For.spec.js +33 -23
  275. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  276. package/dist/parser/tests/controlFlow/ForEach.spec.js +25 -20
  277. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  278. package/dist/parser/tests/controlFlow/If.spec.js +96 -94
  279. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  280. package/dist/parser/tests/controlFlow/While.spec.js +22 -16
  281. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  282. package/dist/parser/tests/expression/Additive.spec.js +8 -8
  283. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  284. package/dist/parser/tests/expression/ArrayLiterals.spec.js +58 -21
  285. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  286. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +61 -20
  287. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  288. package/dist/parser/tests/expression/Boolean.spec.js +8 -8
  289. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  290. package/dist/parser/tests/expression/Call.spec.js +129 -21
  291. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  292. package/dist/parser/tests/expression/Exponential.spec.js +5 -5
  293. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  294. package/dist/parser/tests/expression/Function.spec.js +36 -36
  295. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  296. package/dist/parser/tests/expression/Indexing.spec.js +67 -22
  297. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  298. package/dist/parser/tests/expression/Multiplicative.spec.js +9 -9
  299. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  300. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +123 -81
  301. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  302. package/dist/parser/tests/expression/PrefixUnary.spec.js +12 -12
  303. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  304. package/dist/parser/tests/expression/Primary.spec.js +12 -12
  305. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  306. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  307. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  308. package/dist/parser/tests/expression/Relational.spec.js +13 -13
  309. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  310. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  311. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  312. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +221 -81
  313. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  314. package/dist/parser/tests/expression/TernaryExpression.spec.js +287 -105
  315. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  316. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
  317. package/dist/parser/tests/expression/TypeExpression.spec.js +127 -0
  318. package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
  319. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  320. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  321. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  322. package/dist/parser/tests/statement/AssignmentOperators.spec.js +15 -15
  323. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  324. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +1 -0
  325. package/dist/parser/tests/statement/ConstStatement.spec.js +262 -0
  326. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
  327. package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
  328. package/dist/parser/tests/statement/Continue.spec.js +119 -0
  329. package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
  330. package/dist/parser/tests/statement/Declaration.spec.js +19 -19
  331. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  332. package/dist/parser/tests/statement/Dim.spec.js +22 -22
  333. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  334. package/dist/parser/tests/statement/Enum.spec.js +111 -300
  335. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  336. package/dist/parser/tests/statement/For.spec.js +9 -10
  337. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  338. package/dist/parser/tests/statement/ForEach.spec.js +8 -9
  339. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  340. package/dist/parser/tests/statement/Function.spec.js +44 -35
  341. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  342. package/dist/parser/tests/statement/Goto.spec.js +5 -5
  343. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  344. package/dist/parser/tests/statement/Increment.spec.js +20 -20
  345. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  346. package/dist/parser/tests/statement/InterfaceStatement.spec.js +30 -196
  347. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  348. package/dist/parser/tests/statement/LibraryStatement.spec.js +11 -11
  349. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  350. package/dist/parser/tests/statement/Misc.spec.js +16 -78
  351. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  352. package/dist/parser/tests/statement/PrintStatement.spec.js +107 -90
  353. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  354. package/dist/parser/tests/statement/ReturnStatement.spec.js +14 -12
  355. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  356. package/dist/parser/tests/statement/Set.spec.js +48 -35
  357. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  358. package/dist/parser/tests/statement/Stop.spec.js +6 -6
  359. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  360. package/dist/parser/tests/statement/Throw.spec.js +6 -6
  361. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  362. package/dist/parser/tests/statement/TryCatch.spec.js +18 -16
  363. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  364. package/dist/preprocessor/Manifest.d.ts +1 -1
  365. package/dist/preprocessor/Manifest.js +3 -3
  366. package/dist/preprocessor/Manifest.js.map +1 -1
  367. package/dist/preprocessor/Manifest.spec.js +8 -8
  368. package/dist/preprocessor/Manifest.spec.js.map +1 -1
  369. package/dist/preprocessor/Preprocessor.d.ts +5 -6
  370. package/dist/preprocessor/Preprocessor.js +15 -11
  371. package/dist/preprocessor/Preprocessor.js.map +1 -1
  372. package/dist/preprocessor/Preprocessor.spec.js +25 -25
  373. package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
  374. package/dist/preprocessor/PreprocessorParser.d.ts +1 -1
  375. package/dist/preprocessor/PreprocessorParser.js +7 -1
  376. package/dist/preprocessor/PreprocessorParser.js.map +1 -1
  377. package/dist/preprocessor/PreprocessorParser.spec.js +13 -13
  378. package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
  379. package/dist/roku-types/data.json +6544 -10519
  380. package/dist/roku-types/index.d.ts +662 -1934
  381. package/dist/types/ArrayType.d.ts +10 -9
  382. package/dist/types/ArrayType.js +65 -60
  383. package/dist/types/ArrayType.js.map +1 -1
  384. package/dist/types/ArrayType.spec.js +36 -68
  385. package/dist/types/ArrayType.spec.js.map +1 -1
  386. package/dist/types/AssociativeArrayType.d.ts +11 -0
  387. package/dist/types/AssociativeArrayType.js +52 -0
  388. package/dist/types/AssociativeArrayType.js.map +1 -0
  389. package/dist/types/BaseFunctionType.d.ts +9 -0
  390. package/dist/types/BaseFunctionType.js +25 -0
  391. package/dist/types/BaseFunctionType.js.map +1 -0
  392. package/dist/types/BooleanType.d.ts +8 -5
  393. package/dist/types/BooleanType.js +14 -7
  394. package/dist/types/BooleanType.js.map +1 -1
  395. package/dist/types/BooleanType.spec.js +10 -6
  396. package/dist/types/BooleanType.spec.js.map +1 -1
  397. package/dist/types/BscType.d.ts +32 -21
  398. package/dist/types/BscType.js +118 -21
  399. package/dist/types/BscType.js.map +1 -1
  400. package/dist/types/BscTypeKind.d.ts +25 -0
  401. package/dist/types/BscTypeKind.js +30 -0
  402. package/dist/types/BscTypeKind.js.map +1 -0
  403. package/dist/types/BuiltInInterfaceAdder.d.ts +23 -0
  404. package/dist/types/BuiltInInterfaceAdder.js +164 -0
  405. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  406. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  407. package/dist/types/BuiltInInterfaceAdder.spec.js +116 -0
  408. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  409. package/dist/types/ClassType.d.ts +17 -0
  410. package/dist/types/ClassType.js +58 -0
  411. package/dist/types/ClassType.js.map +1 -0
  412. package/dist/types/ClassType.spec.d.ts +1 -0
  413. package/dist/types/ClassType.spec.js +77 -0
  414. package/dist/types/ClassType.spec.js.map +1 -0
  415. package/dist/types/ComponentType.d.ts +26 -0
  416. package/dist/types/ComponentType.js +83 -0
  417. package/dist/types/ComponentType.js.map +1 -0
  418. package/dist/types/DoubleType.d.ts +8 -5
  419. package/dist/types/DoubleType.js +18 -16
  420. package/dist/types/DoubleType.js.map +1 -1
  421. package/dist/types/DoubleType.spec.js +12 -6
  422. package/dist/types/DoubleType.spec.js.map +1 -1
  423. package/dist/types/DynamicType.d.ts +10 -5
  424. package/dist/types/DynamicType.js +16 -4
  425. package/dist/types/DynamicType.js.map +1 -1
  426. package/dist/types/DynamicType.spec.js +16 -5
  427. package/dist/types/DynamicType.spec.js.map +1 -1
  428. package/dist/types/EnumType.d.ts +30 -12
  429. package/dist/types/EnumType.js +43 -17
  430. package/dist/types/EnumType.js.map +1 -1
  431. package/dist/types/EnumType.spec.d.ts +1 -0
  432. package/dist/types/EnumType.spec.js +33 -0
  433. package/dist/types/EnumType.spec.js.map +1 -0
  434. package/dist/types/FloatType.d.ts +8 -5
  435. package/dist/types/FloatType.js +18 -16
  436. package/dist/types/FloatType.js.map +1 -1
  437. package/dist/types/FloatType.spec.js +4 -6
  438. package/dist/types/FloatType.spec.js.map +1 -1
  439. package/dist/types/FunctionType.d.ts +13 -8
  440. package/dist/types/FunctionType.js +30 -14
  441. package/dist/types/FunctionType.js.map +1 -1
  442. package/dist/types/InheritableType.d.ts +28 -0
  443. package/dist/types/InheritableType.js +152 -0
  444. package/dist/types/InheritableType.js.map +1 -0
  445. package/dist/types/IntegerType.d.ts +8 -5
  446. package/dist/types/IntegerType.js +18 -16
  447. package/dist/types/IntegerType.js.map +1 -1
  448. package/dist/types/IntegerType.spec.js +8 -6
  449. package/dist/types/IntegerType.spec.js.map +1 -1
  450. package/dist/types/InterfaceType.d.ts +12 -13
  451. package/dist/types/InterfaceType.js +20 -48
  452. package/dist/types/InterfaceType.js.map +1 -1
  453. package/dist/types/InterfaceType.spec.js +90 -56
  454. package/dist/types/InterfaceType.spec.js.map +1 -1
  455. package/dist/types/InvalidType.d.ts +7 -5
  456. package/dist/types/InvalidType.js +13 -7
  457. package/dist/types/InvalidType.js.map +1 -1
  458. package/dist/types/InvalidType.spec.js +8 -6
  459. package/dist/types/InvalidType.spec.js.map +1 -1
  460. package/dist/types/LongIntegerType.d.ts +8 -5
  461. package/dist/types/LongIntegerType.js +17 -15
  462. package/dist/types/LongIntegerType.js.map +1 -1
  463. package/dist/types/LongIntegerType.spec.js +10 -6
  464. package/dist/types/LongIntegerType.spec.js.map +1 -1
  465. package/dist/types/NamespaceType.d.ts +12 -0
  466. package/dist/types/NamespaceType.js +28 -0
  467. package/dist/types/NamespaceType.js.map +1 -0
  468. package/dist/types/ObjectType.d.ts +9 -8
  469. package/dist/types/ObjectType.js +21 -11
  470. package/dist/types/ObjectType.js.map +1 -1
  471. package/dist/types/ObjectType.spec.js +3 -3
  472. package/dist/types/ObjectType.spec.js.map +1 -1
  473. package/dist/types/ReferenceType.d.ts +63 -0
  474. package/dist/types/ReferenceType.js +423 -0
  475. package/dist/types/ReferenceType.js.map +1 -0
  476. package/dist/types/ReferenceType.spec.d.ts +1 -0
  477. package/dist/types/ReferenceType.spec.js +137 -0
  478. package/dist/types/ReferenceType.spec.js.map +1 -0
  479. package/dist/types/StringType.d.ts +11 -5
  480. package/dist/types/StringType.js +18 -7
  481. package/dist/types/StringType.js.map +1 -1
  482. package/dist/types/StringType.spec.js +3 -5
  483. package/dist/types/StringType.spec.js.map +1 -1
  484. package/dist/types/TypedFunctionType.d.ts +22 -17
  485. package/dist/types/TypedFunctionType.js +78 -60
  486. package/dist/types/TypedFunctionType.js.map +1 -1
  487. package/dist/types/TypedFunctionType.spec.js +105 -20
  488. package/dist/types/TypedFunctionType.spec.js.map +1 -1
  489. package/dist/types/UninitializedType.d.ts +8 -6
  490. package/dist/types/UninitializedType.js +13 -7
  491. package/dist/types/UninitializedType.js.map +1 -1
  492. package/dist/types/UnionType.d.ts +20 -0
  493. package/dist/types/UnionType.js +123 -0
  494. package/dist/types/UnionType.js.map +1 -0
  495. package/dist/types/UnionType.spec.d.ts +1 -0
  496. package/dist/types/UnionType.spec.js +130 -0
  497. package/dist/types/UnionType.spec.js.map +1 -0
  498. package/dist/types/VoidType.d.ts +8 -5
  499. package/dist/types/VoidType.js +14 -7
  500. package/dist/types/VoidType.js.map +1 -1
  501. package/dist/types/VoidType.spec.js +3 -3
  502. package/dist/types/VoidType.spec.js.map +1 -1
  503. package/dist/types/helper.spec.d.ts +1 -0
  504. package/dist/types/helper.spec.js +145 -0
  505. package/dist/types/helper.spec.js.map +1 -0
  506. package/dist/types/helpers.d.ts +19 -37
  507. package/dist/types/helpers.js +159 -99
  508. package/dist/types/helpers.js.map +1 -1
  509. package/dist/types/index.d.ts +22 -0
  510. package/dist/types/index.js +39 -0
  511. package/dist/types/index.js.map +1 -0
  512. package/dist/util.d.ts +167 -131
  513. package/dist/util.js +890 -350
  514. package/dist/util.js.map +1 -1
  515. package/dist/validators/ClassValidator.d.ts +7 -25
  516. package/dist/validators/ClassValidator.js +103 -194
  517. package/dist/validators/ClassValidator.js.map +1 -1
  518. package/package.json +165 -149
  519. package/dist/astUtils/AstEditor.js.map +0 -1
  520. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  521. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +0 -8
  522. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +0 -40
  523. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  524. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -32
  525. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  526. package/dist/parser/SGTypes.spec.js +0 -351
  527. package/dist/parser/SGTypes.spec.js.map +0 -1
  528. package/dist/types/CustomType.d.ts +0 -12
  529. package/dist/types/CustomType.js +0 -44
  530. package/dist/types/CustomType.js.map +0 -1
  531. package/dist/types/LazyType.d.ts +0 -16
  532. package/dist/types/LazyType.js +0 -44
  533. package/dist/types/LazyType.js.map +0 -1
  534. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  535. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → completions/CompletionsProcessor.spec.d.ts} +0 -0
  536. /package/dist/{parser/SGTypes.spec.d.ts → bscPlugin/hover/HoverProcessor.spec.d.ts} +0 -0
@@ -1,139 +1,171 @@
1
- import type { Body, AssignmentStatement, Block, ExpressionStatement, CommentStatement, ExitForStatement, ExitWhileStatement, FunctionStatement, IfStatement, IncrementStatement, PrintStatement, GotoStatement, LabelStatement, ReturnStatement, EndStatement, StopStatement, ForStatement, ForEachStatement, WhileStatement, DottedSetStatement, IndexedSetStatement, LibraryStatement, NamespaceStatement, ImportStatement, ClassStatement, Statement, InterfaceFieldStatement, InterfaceMethodStatement, InterfaceStatement, EnumStatement, EnumMemberStatement, TryCatchStatement, CatchStatement, MethodStatement, FieldStatement } from '../parser/Statement';
2
- import type { LiteralExpression, Expression, BinaryExpression, CallExpression, FunctionExpression, NamespacedVariableNameExpression, DottedGetExpression, XmlAttributeGetExpression, IndexedGetExpression, GroupingExpression, EscapedCharCodeLiteralExpression, ArrayLiteralExpression, AALiteralExpression, UnaryExpression, VariableExpression, SourceLiteralExpression, NewExpression, CallfuncExpression, TemplateStringQuasiExpression, TemplateStringExpression, TaggedTemplateStringExpression, AnnotationExpression, FunctionParameterExpression, AAMemberExpression, RegexLiteralExpression, TypeExpression } from '../parser/Expression';
1
+ import type { Body, AssignmentStatement, Block, ExpressionStatement, CommentStatement, ExitForStatement, ExitWhileStatement, FunctionStatement, IfStatement, IncrementStatement, PrintStatement, GotoStatement, LabelStatement, ReturnStatement, EndStatement, StopStatement, ForStatement, ForEachStatement, WhileStatement, DottedSetStatement, IndexedSetStatement, LibraryStatement, NamespaceStatement, ImportStatement, ClassStatement, InterfaceFieldStatement, InterfaceMethodStatement, InterfaceStatement, EnumStatement, EnumMemberStatement, TryCatchStatement, CatchStatement, ThrowStatement, MethodStatement, FieldStatement, ConstStatement, ContinueStatement } from '../parser/Statement';
2
+ import type { LiteralExpression, BinaryExpression, CallExpression, FunctionExpression, DottedGetExpression, XmlAttributeGetExpression, IndexedGetExpression, GroupingExpression, EscapedCharCodeLiteralExpression, ArrayLiteralExpression, AALiteralExpression, UnaryExpression, VariableExpression, SourceLiteralExpression, NewExpression, CallfuncExpression, TemplateStringQuasiExpression, TemplateStringExpression, TaggedTemplateStringExpression, AnnotationExpression, FunctionParameterExpression, AAMemberExpression, TypeExpression, TypeCastExpression, TypedArrayExpression } from '../parser/Expression';
3
3
  import type { BrsFile } from '../files/BrsFile';
4
4
  import type { XmlFile } from '../files/XmlFile';
5
- import type { BscFile, TypedefProvider } from '../interfaces';
5
+ import type { TypedefProvider } from '../interfaces';
6
6
  import type { InvalidType } from '../types/InvalidType';
7
7
  import type { VoidType } from '../types/VoidType';
8
8
  import type { TypedFunctionType } from '../types/TypedFunctionType';
9
+ import type { FunctionType } from '../types/FunctionType';
9
10
  import type { StringType } from '../types/StringType';
10
11
  import type { BooleanType } from '../types/BooleanType';
11
12
  import type { IntegerType } from '../types/IntegerType';
12
13
  import type { LongIntegerType } from '../types/LongIntegerType';
13
14
  import type { FloatType } from '../types/FloatType';
14
15
  import type { DoubleType } from '../types/DoubleType';
15
- import type { CustomType } from '../types/CustomType';
16
+ import type { ClassType } from '../types/ClassType';
16
17
  import type { Scope } from '../Scope';
17
18
  import type { XmlScope } from '../XmlScope';
18
19
  import type { DynamicType } from '../types/DynamicType';
19
20
  import type { InterfaceType } from '../types/InterfaceType';
20
21
  import type { ObjectType } from '../types/ObjectType';
22
+ import type { AstNode, Expression, Statement } from '../parser/AstNode';
23
+ import type { AssetFile } from '../files/AssetFile';
24
+ import type { TypePropertyReferenceType, ReferenceType, BinaryOperatorReferenceType } from '../types/ReferenceType';
25
+ import type { EnumMemberType, EnumType } from '../types/EnumType';
26
+ import type { UnionType } from '../types/UnionType';
21
27
  import type { UninitializedType } from '../types/UninitializedType';
22
28
  import type { ArrayType } from '../types/ArrayType';
23
- import type { LazyType } from '../types/LazyType';
24
- import type { SGInterfaceField, SGInterfaceFunction, SGNode } from '../parser/SGTypes';
25
- import type { FunctionType } from '../types/FunctionType';
26
- import type { EnumMemberType, EnumType } from '../types/EnumType';
27
- export declare function isBrsFile(file: BscFile): file is BrsFile;
28
- export declare function isXmlFile(file: (BscFile)): file is XmlFile;
29
- export declare function isXmlScope(scope: (Scope | XmlScope)): scope is XmlScope;
29
+ import type { InheritableType } from '../types/InheritableType';
30
+ import type { NamespaceType } from '../types/NamespaceType';
31
+ import type { BaseFunctionType } from '../types/BaseFunctionType';
32
+ import type { BscFile } from '../files/BscFile';
33
+ import type { ComponentType } from '../types/ComponentType';
34
+ import type { AssociativeArrayType } from '../types/AssociativeArrayType';
35
+ export declare function isBrsFile(file: BscFile | undefined): file is BrsFile;
36
+ export declare function isXmlFile(file: (BscFile | XmlFile | undefined)): file is XmlFile;
37
+ export declare function isAssetFile(file: (BscFile | AssetFile | undefined)): file is AssetFile;
38
+ export declare function isXmlScope(scope: (Scope | undefined)): scope is XmlScope;
30
39
  /**
31
- * Determine if the variable is a descendent of the Statement base class.
40
+ * Determine if the variablvalue is a descendent of the Statement base class.
32
41
  * Due to performance restrictions, this expects all statements to
33
42
  * directly extend Statement or FunctionStatement,
34
43
  * so it only checks the immediate parent's class name.
35
44
  */
36
- export declare function isStatement(element: Statement | Expression | undefined): element is Statement;
37
- export declare function isBody(element: Statement | Expression | undefined): element is Body;
38
- export declare function isAssignmentStatement(element: Statement | Expression | undefined): element is AssignmentStatement;
39
- export declare function isBlock(element: Statement | Expression | undefined): element is Block;
40
- export declare function isExpressionStatement(element: Statement | Expression | undefined): element is ExpressionStatement;
41
- export declare function isCommentStatement(element: Statement | Expression | undefined): element is CommentStatement;
42
- export declare function isExitForStatement(element: Statement | Expression | undefined): element is ExitForStatement;
43
- export declare function isExitWhileStatement(element: Statement | Expression | undefined): element is ExitWhileStatement;
44
- export declare function isFunctionStatement(element: Statement | Expression | undefined): element is FunctionStatement;
45
- export declare function isIfStatement(element: Statement | Expression | undefined): element is IfStatement;
46
- export declare function isIncrementStatement(element: Statement | Expression | undefined): element is IncrementStatement;
47
- export declare function isPrintStatement(element: Statement | Expression | undefined): element is PrintStatement;
48
- export declare function isGotoStatement(element: Statement | Expression | undefined): element is GotoStatement;
49
- export declare function isLabelStatement(element: Statement | Expression | undefined): element is LabelStatement;
50
- export declare function isReturnStatement(element: Statement | Expression | undefined): element is ReturnStatement;
51
- export declare function isEndStatement(element: Statement | Expression | undefined): element is EndStatement;
52
- export declare function isStopStatement(element: Statement | Expression | undefined): element is StopStatement;
53
- export declare function isForStatement(element: Statement | Expression | undefined): element is ForStatement;
54
- export declare function isForEachStatement(element: Statement | Expression | undefined): element is ForEachStatement;
55
- export declare function isWhileStatement(element: Statement | Expression | undefined): element is WhileStatement;
56
- export declare function isDottedSetStatement(element: Statement | Expression | undefined): element is DottedSetStatement;
57
- export declare function isIndexedSetStatement(element: Statement | Expression | undefined): element is IndexedSetStatement;
58
- export declare function isLibraryStatement(element: Statement | Expression | undefined): element is LibraryStatement;
59
- export declare function isNamespaceStatement(element: Statement | Expression | undefined): element is NamespaceStatement;
60
- export declare function isClassStatement(element: Statement | Expression | undefined): element is ClassStatement;
61
- export declare function isImportStatement(element: Statement | Expression | undefined): element is ImportStatement;
62
- export declare function isMethodStatement(element: Statement | Expression | undefined): element is MethodStatement;
63
- export declare function isFieldStatement(element: Statement | Expression | undefined): element is FieldStatement;
64
- export declare function isInterfaceStatement(element: Statement | Expression | undefined): element is InterfaceStatement;
65
- export declare function isInterfaceMethodStatement(element: Statement | Expression | undefined): element is InterfaceMethodStatement;
66
- export declare function isInterfaceFieldStatement(element: Statement | Expression | undefined): element is InterfaceFieldStatement;
67
- export declare function isEnumStatement(element: Statement | Expression | undefined): element is EnumStatement;
68
- export declare function isEnumMemberStatement(element: Statement | Expression | undefined): element is EnumMemberStatement;
69
- export declare function isTryCatchStatement(element: Statement | Expression | undefined): element is TryCatchStatement;
70
- export declare function isCatchStatement(element: Statement | Expression | undefined): element is CatchStatement;
45
+ export declare function isStatement(element: AstNode | undefined): element is Statement;
46
+ export declare function isBody(element: AstNode | undefined): element is Body;
47
+ export declare function isAssignmentStatement(element: AstNode | undefined): element is AssignmentStatement;
48
+ export declare function isBlock(element: AstNode | undefined): element is Block;
49
+ export declare function isExpressionStatement(element: AstNode | undefined): element is ExpressionStatement;
50
+ export declare function isCommentStatement(element: AstNode | undefined): element is CommentStatement;
51
+ export declare function isExitForStatement(element: AstNode | undefined): element is ExitForStatement;
52
+ export declare function isExitWhileStatement(element: AstNode | undefined): element is ExitWhileStatement;
53
+ export declare function isFunctionStatement(element: AstNode | undefined): element is FunctionStatement;
54
+ export declare function isIfStatement(element: AstNode | undefined): element is IfStatement;
55
+ export declare function isIncrementStatement(element: AstNode | undefined): element is IncrementStatement;
56
+ export declare function isPrintStatement(element: AstNode | undefined): element is PrintStatement;
57
+ export declare function isGotoStatement(element: AstNode | undefined): element is GotoStatement;
58
+ export declare function isLabelStatement(element: AstNode | undefined): element is LabelStatement;
59
+ export declare function isReturnStatement(element: AstNode | undefined): element is ReturnStatement;
60
+ export declare function isEndStatement(element: AstNode | undefined): element is EndStatement;
61
+ export declare function isStopStatement(element: AstNode | undefined): element is StopStatement;
62
+ export declare function isForStatement(element: AstNode | undefined): element is ForStatement;
63
+ export declare function isForEachStatement(element: AstNode | undefined): element is ForEachStatement;
64
+ export declare function isWhileStatement(element: AstNode | undefined): element is WhileStatement;
65
+ export declare function isDottedSetStatement(element: AstNode | undefined): element is DottedSetStatement;
66
+ export declare function isIndexedSetStatement(element: AstNode | undefined): element is IndexedSetStatement;
67
+ export declare function isLibraryStatement(element: AstNode | undefined): element is LibraryStatement;
68
+ export declare function isNamespaceStatement(element: AstNode | undefined): element is NamespaceStatement;
69
+ export declare function isClassStatement(element: AstNode | undefined): element is ClassStatement;
70
+ export declare function isImportStatement(element: AstNode | undefined): element is ImportStatement;
71
+ export declare function isMethodStatement(element: AstNode | undefined): element is MethodStatement;
72
+ export declare function isFieldStatement(element: AstNode | undefined): element is FieldStatement;
73
+ export declare function isInterfaceStatement(element: AstNode | undefined): element is InterfaceStatement;
74
+ export declare function isInterfaceMethodStatement(element: AstNode | undefined): element is InterfaceMethodStatement;
75
+ export declare function isInterfaceFieldStatement(element: AstNode | undefined): element is InterfaceFieldStatement;
76
+ export declare function isEnumStatement(element: AstNode | undefined): element is EnumStatement;
77
+ export declare function isEnumMemberStatement(element: AstNode | undefined): element is EnumMemberStatement;
78
+ export declare function isConstStatement(element: AstNode | undefined): element is ConstStatement;
79
+ export declare function isContinueStatement(element: AstNode | undefined): element is ContinueStatement;
80
+ export declare function isTryCatchStatement(element: AstNode | undefined): element is TryCatchStatement;
81
+ export declare function isCatchStatement(element: AstNode | undefined): element is CatchStatement;
82
+ export declare function isThrowStatement(element: AstNode | undefined): element is ThrowStatement;
71
83
  /**
72
- * Determine if the variable is a descendent of the Expression base class.
84
+ * Determine if the variablvalue is a descendent of the Expression base class.
73
85
  * Due to performance restrictions, this expects all statements to directly extend Expression,
74
86
  * so it only checks the immediate parent's class name. For example:
75
87
  * this will work for StringLiteralExpression -> Expression,
76
88
  * but will not work CustomStringLiteralExpression -> StringLiteralExpression -> Expression
77
89
  */
78
- export declare function isExpression(element: Statement | Expression | undefined): element is Expression;
79
- export declare function isBinaryExpression(element: Statement | Expression | undefined): element is BinaryExpression;
80
- export declare function isCallExpression(element: Statement | Expression | undefined): element is CallExpression;
81
- export declare function isFunctionExpression(element: Statement | Expression | undefined): element is FunctionExpression;
82
- export declare function isNamespacedVariableNameExpression(element: Statement | Expression | undefined): element is NamespacedVariableNameExpression;
83
- export declare function isDottedGetExpression(element: Statement | Expression | undefined): element is DottedGetExpression;
84
- export declare function isXmlAttributeGetExpression(element: Statement | Expression | undefined): element is XmlAttributeGetExpression;
85
- export declare function isIndexedGetExpression(element: Statement | Expression | undefined): element is IndexedGetExpression;
86
- export declare function isGroupingExpression(element: Statement | Expression | undefined): element is GroupingExpression;
87
- export declare function isLiteralExpression(element: Statement | Expression | undefined): element is LiteralExpression;
88
- export declare function isEscapedCharCodeLiteralExpression(element: Statement | Expression | undefined): element is EscapedCharCodeLiteralExpression;
89
- export declare function isArrayLiteralExpression(element: Statement | Expression | undefined): element is ArrayLiteralExpression;
90
- export declare function isAALiteralExpression(element: Statement | Expression | undefined): element is AALiteralExpression;
91
- export declare function isAAMemberExpression(element: Statement | Expression | undefined): element is AAMemberExpression;
92
- export declare function isUnaryExpression(element: Statement | Expression | undefined): element is UnaryExpression;
93
- export declare function isVariableExpression(element: Statement | Expression | undefined): element is VariableExpression;
94
- export declare function isSourceLiteralExpression(element: Statement | Expression | undefined): element is SourceLiteralExpression;
95
- export declare function isNewExpression(element: Statement | Expression | undefined): element is NewExpression;
96
- export declare function isCallfuncExpression(element: Statement | Expression | undefined): element is CallfuncExpression;
97
- export declare function isTemplateStringQuasiExpression(element: Statement | Expression | undefined): element is TemplateStringQuasiExpression;
98
- export declare function isTemplateStringExpression(element: Statement | Expression | undefined): element is TemplateStringExpression;
99
- export declare function isTaggedTemplateStringExpression(element: Statement | Expression | undefined): element is TaggedTemplateStringExpression;
100
- export declare function isFunctionParameterExpression(element: Statement | Expression | undefined): element is FunctionParameterExpression;
101
- export declare function isAnnotationExpression(element: Statement | Expression | undefined): element is AnnotationExpression;
102
- export declare function isRegexLiteralExpression(element: Statement | Expression | undefined): element is RegexLiteralExpression;
103
- export declare function isTypeExpression(element: Statement | Expression | undefined): element is TypeExpression;
90
+ export declare function isExpression(element: AstNode | undefined): element is Expression;
91
+ export declare function isBinaryExpression(element: AstNode | undefined): element is BinaryExpression;
92
+ export declare function isCallExpression(element: AstNode | undefined): element is CallExpression;
93
+ export declare function isFunctionExpression(element: AstNode | undefined): element is FunctionExpression;
94
+ export declare function isDottedGetExpression(element: AstNode | undefined): element is DottedGetExpression;
95
+ export declare function isXmlAttributeGetExpression(element: AstNode | undefined): element is XmlAttributeGetExpression;
96
+ export declare function isIndexedGetExpression(element: AstNode | undefined): element is IndexedGetExpression;
97
+ export declare function isGroupingExpression(element: AstNode | undefined): element is GroupingExpression;
98
+ export declare function isLiteralExpression(element: AstNode | undefined): element is LiteralExpression;
99
+ export declare function isEscapedCharCodeLiteralExpression(element: AstNode | undefined): element is EscapedCharCodeLiteralExpression;
100
+ export declare function isArrayLiteralExpression(element: AstNode | undefined): element is ArrayLiteralExpression;
101
+ export declare function isAALiteralExpression(element: AstNode | undefined): element is AALiteralExpression;
102
+ export declare function isAAMemberExpression(element: AstNode | undefined): element is AAMemberExpression;
103
+ export declare function isUnaryExpression(element: AstNode | undefined): element is UnaryExpression;
104
+ export declare function isVariableExpression(element: AstNode | undefined): element is VariableExpression;
105
+ export declare function isSourceLiteralExpression(element: AstNode | undefined): element is SourceLiteralExpression;
106
+ export declare function isNewExpression(element: AstNode | undefined): element is NewExpression;
107
+ export declare function isCallfuncExpression(element: AstNode | undefined): element is CallfuncExpression;
108
+ export declare function isTemplateStringQuasiExpression(element: AstNode | undefined): element is TemplateStringQuasiExpression;
109
+ export declare function isTemplateStringExpression(element: AstNode | undefined): element is TemplateStringExpression;
110
+ export declare function isTaggedTemplateStringExpression(element: AstNode | undefined): element is TaggedTemplateStringExpression;
111
+ export declare function isFunctionParameterExpression(element: AstNode | undefined): element is FunctionParameterExpression;
112
+ export declare function isAnnotationExpression(element: AstNode | undefined): element is AnnotationExpression;
104
113
  export declare function isTypedefProvider(element: any): element is TypedefProvider;
114
+ export declare function isTypeExpression(element: any): element is TypeExpression;
115
+ export declare function isTypeCastExpression(element: any): element is TypeCastExpression;
116
+ export declare function isTypedArrayExpression(element: any): element is TypedArrayExpression;
105
117
  export declare function isStringType(value: any): value is StringType;
106
- export declare function isFunctionType(e: any): e is FunctionType;
107
- export declare function isTypedFunctionType(e: any): e is TypedFunctionType;
108
- export declare function isBooleanType(e: any): e is BooleanType;
109
- export declare function isIntegerType(e: any): e is IntegerType;
110
- export declare function isLongIntegerType(e: any): e is LongIntegerType;
111
- export declare function isFloatType(e: any): e is FloatType;
112
- export declare function isDoubleType(e: any): e is DoubleType;
113
- export declare function isPrimitiveType(e: any): boolean;
114
- export declare function isInvalidType(e: any): e is InvalidType;
115
- export declare function isVoidType(e: any): e is VoidType;
116
- export declare function isCustomType(e: any): e is CustomType;
117
- export declare function isUninitializedType(e: any): e is UninitializedType;
118
- export declare function isInterfaceType(e: any): e is InterfaceType;
119
- export declare function isArrayType(e: any): e is ArrayType;
120
- export declare function isObjectType(e: any): e is ObjectType;
121
- export declare function isDynamicType(e: any): e is DynamicType;
122
- export declare function isLazyType(e: any): e is LazyType;
123
- export declare function isEnumType(e: any): e is EnumType;
124
- export declare function isEnumMemberType(e: any): e is EnumMemberType;
125
- export declare function isNumberType(e: any): e is IntegerType | LongIntegerType | FloatType | DoubleType;
126
- export declare function isLiteralInvalid(e: any): e is LiteralExpression & {
118
+ export declare function isTypedFunctionType(value: any): value is TypedFunctionType;
119
+ export declare function isFunctionType(value: any): value is FunctionType;
120
+ export declare function isBooleanType(value: any): value is BooleanType;
121
+ export declare function isIntegerType(value: any): value is IntegerType;
122
+ export declare function isLongIntegerType(value: any): value is LongIntegerType;
123
+ export declare function isFloatType(value: any): value is FloatType;
124
+ export declare function isDoubleType(value: any): value is DoubleType;
125
+ export declare function isInvalidType(value: any): value is InvalidType;
126
+ export declare function isVoidType(value: any): value is VoidType;
127
+ export declare function isClassType(value: any): value is ClassType;
128
+ export declare function isComponentType(value: any): value is ComponentType;
129
+ export declare function isDynamicType(value: any): value is DynamicType;
130
+ export declare function isInterfaceType(value: any): value is InterfaceType;
131
+ export declare function isObjectType(value: any): value is ObjectType;
132
+ export declare function isReferenceType(value: any): value is ReferenceType;
133
+ export declare function isEnumType(value: any): value is EnumType;
134
+ export declare function isEnumMemberType(value: any): value is EnumMemberType;
135
+ export declare function isTypePropertyReferenceType(value: any): value is TypePropertyReferenceType;
136
+ export declare function isBinaryOperatorReferenceType(value: any): value is BinaryOperatorReferenceType;
137
+ export declare function isNamespaceType(value: any): value is NamespaceType;
138
+ export declare function isUnionType(value: any): value is UnionType;
139
+ export declare function isUninitializedType(value: any): value is UninitializedType;
140
+ export declare function isArrayType(value: any): value is ArrayType;
141
+ export declare function isAssociativeArrayType(value: any): value is AssociativeArrayType;
142
+ export declare function isInheritableType(target: any): target is InheritableType;
143
+ export declare function isCallableType(target: any): target is BaseFunctionType;
144
+ export declare function isAnyReferenceType(target: any): target is ReferenceType | TypePropertyReferenceType | BinaryOperatorReferenceType;
145
+ export declare function isNumberType(value: any): value is IntegerType | LongIntegerType | FloatType | DoubleType;
146
+ export declare function isPrimitiveType(value: any): value is IntegerType | LongIntegerType | FloatType | DoubleType | StringType | BooleanType;
147
+ export declare function isNativeType(value: any): value is IntegerType | LongIntegerType | FloatType | DoubleType | StringType | BooleanType | VoidType | DynamicType | ObjectType | FunctionType;
148
+ export declare function isLiteralInvalid(value: any): value is LiteralExpression & {
127
149
  type: InvalidType;
128
150
  };
129
- export declare function isLiteralBoolean(e: any): e is LiteralExpression & {
151
+ export declare function isLiteralBoolean(value: any): value is LiteralExpression & {
130
152
  type: BooleanType;
131
153
  };
132
- export declare function isLiteralString(e: any): e is LiteralExpression & {
154
+ export declare function isLiteralString(value: any): value is LiteralExpression & {
133
155
  type: StringType;
134
156
  };
135
- export declare function isLiteralNumber(e: any): e is LiteralExpression & {
157
+ export declare function isLiteralNumber(value: any): value is LiteralExpression & {
136
158
  type: IntegerType | LongIntegerType | FloatType | DoubleType;
137
159
  };
138
- export declare function isSGInterfaceField(e: SGNode): e is SGInterfaceField;
139
- export declare function isSGInterfaceFunction(e: SGNode): e is SGInterfaceFunction;
160
+ export declare function isLiteralInteger(value: any): value is LiteralExpression & {
161
+ type: IntegerType;
162
+ };
163
+ export declare function isLiteralLongInteger(value: any): value is LiteralExpression & {
164
+ type: LongIntegerType;
165
+ };
166
+ export declare function isLiteralFloat(value: any): value is LiteralExpression & {
167
+ type: FloatType;
168
+ };
169
+ export declare function isLiteralDouble(value: any): value is LiteralExpression & {
170
+ type: DoubleType;
171
+ };