brighterscript 0.66.0-alpha.0 → 0.66.0-alpha.10

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 (383) hide show
  1. package/CHANGELOG.md +223 -10
  2. package/README.md +13 -3
  3. package/bsconfig.schema.json +15 -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 +150 -0
  9. package/dist/AstValidationSegmenter.js.map +1 -0
  10. package/dist/BsConfig.d.ts +13 -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 +0 -1
  17. package/dist/CodeActionUtil.d.ts +2 -2
  18. package/dist/CommentFlagProcessor.d.ts +4 -3
  19. package/dist/CommentFlagProcessor.js.map +1 -1
  20. package/dist/DiagnosticCollection.js +8 -5
  21. package/dist/DiagnosticCollection.js.map +1 -1
  22. package/dist/DiagnosticMessages.d.ts +34 -4
  23. package/dist/DiagnosticMessages.js +59 -4
  24. package/dist/DiagnosticMessages.js.map +1 -1
  25. package/dist/FunctionScope.d.ts +1 -1
  26. package/dist/LanguageServer.d.ts +23 -1
  27. package/dist/LanguageServer.js +139 -57
  28. package/dist/LanguageServer.js.map +1 -1
  29. package/dist/Logger.d.ts +3 -2
  30. package/dist/Logger.js +10 -2
  31. package/dist/Logger.js.map +1 -1
  32. package/dist/PluginInterface.d.ts +11 -2
  33. package/dist/PluginInterface.js +69 -10
  34. package/dist/PluginInterface.js.map +1 -1
  35. package/dist/Program.d.ts +138 -49
  36. package/dist/Program.js +656 -340
  37. package/dist/Program.js.map +1 -1
  38. package/dist/ProgramBuilder.d.ts +10 -4
  39. package/dist/ProgramBuilder.js +83 -66
  40. package/dist/ProgramBuilder.js.map +1 -1
  41. package/dist/Scope.d.ts +52 -49
  42. package/dist/Scope.js +312 -247
  43. package/dist/Scope.js.map +1 -1
  44. package/dist/SymbolTable.d.ts +35 -14
  45. package/dist/SymbolTable.js +89 -26
  46. package/dist/SymbolTable.js.map +1 -1
  47. package/dist/Throttler.d.ts +12 -0
  48. package/dist/Throttler.js +39 -0
  49. package/dist/Throttler.js.map +1 -1
  50. package/dist/XmlScope.d.ts +7 -4
  51. package/dist/XmlScope.js +52 -12
  52. package/dist/XmlScope.js.map +1 -1
  53. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +6 -1
  54. package/dist/astUtils/{AstEditor.js → Editor.js} +9 -3
  55. package/dist/astUtils/Editor.js.map +1 -0
  56. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +10 -6
  57. package/dist/astUtils/Editor.spec.js.map +1 -0
  58. package/dist/astUtils/creators.d.ts +3 -1
  59. package/dist/astUtils/creators.js +14 -4
  60. package/dist/astUtils/creators.js.map +1 -1
  61. package/dist/astUtils/reflection.d.ts +37 -9
  62. package/dist/astUtils/reflection.js +83 -14
  63. package/dist/astUtils/reflection.js.map +1 -1
  64. package/dist/astUtils/reflection.spec.js +87 -5
  65. package/dist/astUtils/reflection.spec.js.map +1 -1
  66. package/dist/astUtils/visitors.d.ts +14 -3
  67. package/dist/astUtils/visitors.js +22 -2
  68. package/dist/astUtils/visitors.js.map +1 -1
  69. package/dist/astUtils/visitors.spec.js +58 -7
  70. package/dist/astUtils/visitors.spec.js.map +1 -1
  71. package/dist/bscPlugin/BscPlugin.d.ts +11 -4
  72. package/dist/bscPlugin/BscPlugin.js +26 -6
  73. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  74. package/dist/bscPlugin/CallExpressionInfo.d.ts +3 -3
  75. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  76. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  77. package/dist/bscPlugin/FileWriter.js +24 -0
  78. package/dist/bscPlugin/FileWriter.js.map +1 -0
  79. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +8 -8
  80. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  81. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
  82. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  83. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +50 -1
  84. package/dist/bscPlugin/completions/CompletionsProcessor.js +442 -23
  85. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  86. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +1737 -0
  87. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  88. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  89. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  90. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  91. package/dist/bscPlugin/hover/HoverProcessor.d.ts +7 -3
  92. package/dist/bscPlugin/hover/HoverProcessor.js +133 -103
  93. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  94. package/dist/bscPlugin/hover/HoverProcessor.spec.js +241 -29
  95. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  96. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  97. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +43 -0
  98. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  99. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +22 -0
  100. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  101. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  102. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  103. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  104. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  105. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  106. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  107. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  108. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  109. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.d.ts → BrsFileTranspileProcessor.d.ts} +4 -2
  110. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.js → BrsFileTranspileProcessor.js} +29 -5
  111. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  112. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  113. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  114. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  115. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +2 -2
  116. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -1
  117. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +0 -4
  118. package/dist/bscPlugin/validation/BrsFileValidator.js +35 -65
  119. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  120. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1 -1
  121. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  122. package/dist/bscPlugin/validation/ProgramValidator.d.ts +3 -3
  123. package/dist/bscPlugin/validation/ProgramValidator.js +6 -6
  124. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
  125. package/dist/bscPlugin/validation/ScopeValidator.d.ts +28 -7
  126. package/dist/bscPlugin/validation/ScopeValidator.js +393 -205
  127. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  128. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  129. package/dist/bscPlugin/validation/ScopeValidator.spec.js +2038 -0
  130. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  131. package/dist/bscPlugin/validation/XmlFileValidator.js +2 -2
  132. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  133. package/dist/cli.js +104 -13
  134. package/dist/cli.js.map +1 -1
  135. package/dist/deferred.d.ts +3 -3
  136. package/dist/deferred.js.map +1 -1
  137. package/dist/diagnosticUtils.d.ts +8 -2
  138. package/dist/diagnosticUtils.js +45 -16
  139. package/dist/diagnosticUtils.js.map +1 -1
  140. package/dist/examples/plugins/removePrint.js +1 -1
  141. package/dist/examples/plugins/removePrint.js.map +1 -1
  142. package/dist/files/AssetFile.d.ts +26 -0
  143. package/dist/files/AssetFile.js +26 -0
  144. package/dist/files/AssetFile.js.map +1 -0
  145. package/dist/files/BrsFile.Class.spec.js +383 -56
  146. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  147. package/dist/files/BrsFile.d.ts +73 -46
  148. package/dist/files/BrsFile.js +370 -534
  149. package/dist/files/BrsFile.js.map +1 -1
  150. package/dist/files/BrsFile.spec.js +1139 -682
  151. package/dist/files/BrsFile.spec.js.map +1 -1
  152. package/dist/files/Factory.d.ts +25 -0
  153. package/dist/files/Factory.js +22 -0
  154. package/dist/files/Factory.js.map +1 -0
  155. package/dist/files/File.d.ts +106 -0
  156. package/dist/files/File.js +16 -0
  157. package/dist/files/File.js.map +1 -0
  158. package/dist/files/LazyFileData.d.ts +20 -0
  159. package/dist/files/LazyFileData.js +54 -0
  160. package/dist/files/LazyFileData.js.map +1 -0
  161. package/dist/files/LazyFileData.spec.d.ts +1 -0
  162. package/dist/files/LazyFileData.spec.js +27 -0
  163. package/dist/files/LazyFileData.spec.js.map +1 -0
  164. package/dist/files/XmlFile.d.ts +56 -23
  165. package/dist/files/XmlFile.js +88 -60
  166. package/dist/files/XmlFile.js.map +1 -1
  167. package/dist/files/XmlFile.spec.js +63 -91
  168. package/dist/files/XmlFile.spec.js.map +1 -1
  169. package/dist/files/tests/imports.spec.js +21 -8
  170. package/dist/files/tests/imports.spec.js.map +1 -1
  171. package/dist/files/tests/optionalChaning.spec.js +14 -14
  172. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  173. package/dist/globalCallables.js +88 -84
  174. package/dist/globalCallables.js.map +1 -1
  175. package/dist/index.d.ts +9 -1
  176. package/dist/index.js +9 -1
  177. package/dist/index.js.map +1 -1
  178. package/dist/interfaces.d.ts +436 -81
  179. package/dist/interfaces.js +13 -2
  180. package/dist/interfaces.js.map +1 -1
  181. package/dist/lexer/Lexer.d.ts +12 -0
  182. package/dist/lexer/Lexer.js +28 -8
  183. package/dist/lexer/Lexer.js.map +1 -1
  184. package/dist/lexer/Lexer.spec.js +40 -0
  185. package/dist/lexer/Lexer.spec.js.map +1 -1
  186. package/dist/lexer/Token.d.ts +4 -0
  187. package/dist/lexer/Token.js.map +1 -1
  188. package/dist/lexer/TokenKind.d.ts +5 -0
  189. package/dist/lexer/TokenKind.js +14 -2
  190. package/dist/lexer/TokenKind.js.map +1 -1
  191. package/dist/parser/AstNode.d.ts +9 -2
  192. package/dist/parser/AstNode.js +16 -0
  193. package/dist/parser/AstNode.js.map +1 -1
  194. package/dist/parser/BrsTranspileState.d.ts +3 -2
  195. package/dist/parser/BrsTranspileState.js +3 -2
  196. package/dist/parser/BrsTranspileState.js.map +1 -1
  197. package/dist/parser/Expression.d.ts +21 -5
  198. package/dist/parser/Expression.js +128 -35
  199. package/dist/parser/Expression.js.map +1 -1
  200. package/dist/parser/Parser.Class.spec.js +103 -1
  201. package/dist/parser/Parser.Class.spec.js.map +1 -1
  202. package/dist/parser/Parser.d.ts +7 -0
  203. package/dist/parser/Parser.js +117 -21
  204. package/dist/parser/Parser.js.map +1 -1
  205. package/dist/parser/Parser.spec.js +557 -5
  206. package/dist/parser/Parser.spec.js.map +1 -1
  207. package/dist/parser/SGParser.d.ts +4 -4
  208. package/dist/parser/SGParser.js +3 -3
  209. package/dist/parser/SGParser.js.map +1 -1
  210. package/dist/parser/SGParser.spec.js +2 -2
  211. package/dist/parser/SGParser.spec.js.map +1 -1
  212. package/dist/parser/SGTypes.d.ts +2 -2
  213. package/dist/parser/Statement.d.ts +37 -12
  214. package/dist/parser/Statement.js +153 -46
  215. package/dist/parser/Statement.js.map +1 -1
  216. package/dist/parser/tests/Parser.spec.js +2 -1
  217. package/dist/parser/tests/Parser.spec.js.map +1 -1
  218. package/dist/parser/tests/controlFlow/For.spec.js +16 -8
  219. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  220. package/dist/parser/tests/controlFlow/ForEach.spec.js +12 -6
  221. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  222. package/dist/parser/tests/controlFlow/While.spec.js +8 -4
  223. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  224. package/dist/parser/tests/expression/Call.spec.js +4 -4
  225. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  226. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +29 -29
  227. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  228. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  229. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  230. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  231. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  232. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +75 -36
  233. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  234. package/dist/parser/tests/expression/TernaryExpression.spec.js +36 -36
  235. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  236. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  237. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  238. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  239. package/dist/parser/tests/statement/ConstStatement.spec.js +71 -22
  240. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  241. package/dist/parser/tests/statement/Continue.spec.js +2 -2
  242. package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
  243. package/dist/parser/tests/statement/Enum.spec.js +38 -285
  244. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  245. package/dist/parser/tests/statement/For.spec.js +6 -6
  246. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  247. package/dist/parser/tests/statement/ForEach.spec.js +4 -4
  248. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  249. package/dist/parser/tests/statement/InterfaceStatement.spec.js +26 -10
  250. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  251. package/dist/parser/tests/statement/PrintStatement.spec.js +16 -13
  252. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  253. package/dist/parser/tests/statement/ReturnStatement.spec.js +5 -3
  254. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  255. package/dist/parser/tests/statement/Set.spec.js +26 -13
  256. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  257. package/dist/preprocessor/Manifest.d.ts +1 -1
  258. package/dist/preprocessor/Manifest.js +2 -2
  259. package/dist/preprocessor/Manifest.js.map +1 -1
  260. package/dist/roku-types/data.json +243 -293
  261. package/dist/roku-types/index.d.ts +17 -38
  262. package/dist/types/ArrayType.d.ts +4 -1
  263. package/dist/types/ArrayType.js +46 -6
  264. package/dist/types/ArrayType.js.map +1 -1
  265. package/dist/types/ArrayType.spec.js +32 -3
  266. package/dist/types/ArrayType.spec.js.map +1 -1
  267. package/dist/types/AssociativeArrayType.d.ts +11 -0
  268. package/dist/types/AssociativeArrayType.js +52 -0
  269. package/dist/types/AssociativeArrayType.js.map +1 -0
  270. package/dist/types/BaseFunctionType.d.ts +9 -0
  271. package/dist/types/BaseFunctionType.js +25 -0
  272. package/dist/types/BaseFunctionType.js.map +1 -0
  273. package/dist/types/BooleanType.d.ts +2 -1
  274. package/dist/types/BooleanType.js +8 -2
  275. package/dist/types/BooleanType.js.map +1 -1
  276. package/dist/types/BscType.d.ts +10 -6
  277. package/dist/types/BscType.js +69 -16
  278. package/dist/types/BscType.js.map +1 -1
  279. package/dist/types/BscTypeKind.d.ts +3 -0
  280. package/dist/types/BscTypeKind.js +3 -0
  281. package/dist/types/BscTypeKind.js.map +1 -1
  282. package/dist/types/BuiltInInterfaceAdder.d.ts +23 -0
  283. package/dist/types/BuiltInInterfaceAdder.js +157 -0
  284. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  285. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  286. package/dist/types/BuiltInInterfaceAdder.spec.js +116 -0
  287. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  288. package/dist/types/ClassType.d.ts +10 -4
  289. package/dist/types/ClassType.js +32 -5
  290. package/dist/types/ClassType.js.map +1 -1
  291. package/dist/types/ClassType.spec.js +5 -3
  292. package/dist/types/ClassType.spec.js.map +1 -1
  293. package/dist/types/ComponentType.d.ts +26 -0
  294. package/dist/types/ComponentType.js +83 -0
  295. package/dist/types/ComponentType.js.map +1 -0
  296. package/dist/types/DoubleType.d.ts +2 -1
  297. package/dist/types/DoubleType.js +9 -2
  298. package/dist/types/DoubleType.js.map +1 -1
  299. package/dist/types/DynamicType.d.ts +2 -2
  300. package/dist/types/DynamicType.js +3 -1
  301. package/dist/types/DynamicType.js.map +1 -1
  302. package/dist/types/EnumType.d.ts +24 -6
  303. package/dist/types/EnumType.js +29 -7
  304. package/dist/types/EnumType.js.map +1 -1
  305. package/dist/types/FloatType.d.ts +2 -1
  306. package/dist/types/FloatType.js +9 -2
  307. package/dist/types/FloatType.js.map +1 -1
  308. package/dist/types/FunctionType.d.ts +8 -20
  309. package/dist/types/FunctionType.js +17 -45
  310. package/dist/types/FunctionType.js.map +1 -1
  311. package/dist/types/InheritableType.d.ts +7 -4
  312. package/dist/types/InheritableType.js +67 -3
  313. package/dist/types/InheritableType.js.map +1 -1
  314. package/dist/types/IntegerType.d.ts +2 -1
  315. package/dist/types/IntegerType.js +9 -2
  316. package/dist/types/IntegerType.js.map +1 -1
  317. package/dist/types/InterfaceType.d.ts +6 -4
  318. package/dist/types/InterfaceType.js +8 -11
  319. package/dist/types/InterfaceType.js.map +1 -1
  320. package/dist/types/InterfaceType.spec.js +30 -2
  321. package/dist/types/InterfaceType.spec.js.map +1 -1
  322. package/dist/types/InvalidType.d.ts +2 -1
  323. package/dist/types/InvalidType.js +7 -1
  324. package/dist/types/InvalidType.js.map +1 -1
  325. package/dist/types/LongIntegerType.d.ts +2 -1
  326. package/dist/types/LongIntegerType.js +9 -2
  327. package/dist/types/LongIntegerType.js.map +1 -1
  328. package/dist/types/NamespaceType.d.ts +2 -1
  329. package/dist/types/NamespaceType.js +3 -0
  330. package/dist/types/NamespaceType.js.map +1 -1
  331. package/dist/types/ObjectType.d.ts +2 -2
  332. package/dist/types/ObjectType.js +5 -10
  333. package/dist/types/ObjectType.js.map +1 -1
  334. package/dist/types/ReferenceType.d.ts +15 -3
  335. package/dist/types/ReferenceType.js +173 -24
  336. package/dist/types/ReferenceType.js.map +1 -1
  337. package/dist/types/ReferenceType.spec.js +21 -6
  338. package/dist/types/ReferenceType.spec.js.map +1 -1
  339. package/dist/types/StringType.d.ts +2 -1
  340. package/dist/types/StringType.js +9 -2
  341. package/dist/types/StringType.js.map +1 -1
  342. package/dist/types/TypedFunctionType.d.ts +33 -0
  343. package/dist/types/TypedFunctionType.js +106 -0
  344. package/dist/types/TypedFunctionType.js.map +1 -0
  345. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  346. package/dist/types/TypedFunctionType.spec.js +122 -0
  347. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  348. package/dist/types/UninitializedType.d.ts +2 -1
  349. package/dist/types/UninitializedType.js +1 -1
  350. package/dist/types/UninitializedType.js.map +1 -1
  351. package/dist/types/UnionType.d.ts +4 -2
  352. package/dist/types/UnionType.js +36 -4
  353. package/dist/types/UnionType.js.map +1 -1
  354. package/dist/types/UnionType.spec.js +46 -19
  355. package/dist/types/UnionType.spec.js.map +1 -1
  356. package/dist/types/VoidType.d.ts +2 -1
  357. package/dist/types/VoidType.js +7 -2
  358. package/dist/types/VoidType.js.map +1 -1
  359. package/dist/types/helper.spec.js +15 -0
  360. package/dist/types/helper.spec.js.map +1 -1
  361. package/dist/types/helpers.d.ts +5 -0
  362. package/dist/types/helpers.js +50 -3
  363. package/dist/types/helpers.js.map +1 -1
  364. package/dist/types/index.d.ts +1 -1
  365. package/dist/types/index.js +1 -1
  366. package/dist/types/index.js.map +1 -1
  367. package/dist/util.d.ts +71 -15
  368. package/dist/util.js +578 -150
  369. package/dist/util.js.map +1 -1
  370. package/dist/validators/ClassValidator.d.ts +0 -1
  371. package/dist/validators/ClassValidator.js +0 -22
  372. package/dist/validators/ClassValidator.js.map +1 -1
  373. package/package.json +3 -2
  374. package/dist/astUtils/AstEditor.js.map +0 -1
  375. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  376. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  377. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -31
  378. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  379. package/dist/types/FunctionType.spec.js +0 -23
  380. package/dist/types/FunctionType.spec.js.map +0 -1
  381. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  382. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → completions/CompletionsProcessor.spec.d.ts} +0 -0
  383. /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/serialize/BslibInjector.spec.d.ts} +0 -0
@@ -1,14 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isLiteralExpression = exports.isGroupingExpression = exports.isIndexedGetExpression = exports.isXmlAttributeGetExpression = exports.isDottedGetExpression = exports.isFunctionExpression = exports.isCallExpression = exports.isBinaryExpression = exports.isExpression = exports.isThrowStatement = exports.isCatchStatement = exports.isTryCatchStatement = exports.isContinueStatement = exports.isConstStatement = exports.isEnumMemberStatement = exports.isEnumStatement = exports.isInterfaceFieldStatement = exports.isInterfaceMethodStatement = exports.isInterfaceStatement = exports.isFieldStatement = exports.isMethodStatement = exports.isImportStatement = exports.isClassStatement = exports.isNamespaceStatement = exports.isLibraryStatement = exports.isIndexedSetStatement = exports.isDottedSetStatement = exports.isWhileStatement = exports.isForEachStatement = exports.isForStatement = exports.isStopStatement = exports.isEndStatement = exports.isReturnStatement = exports.isLabelStatement = exports.isGotoStatement = exports.isPrintStatement = exports.isIncrementStatement = exports.isIfStatement = exports.isFunctionStatement = exports.isExitWhileStatement = exports.isExitForStatement = exports.isCommentStatement = exports.isExpressionStatement = exports.isBlock = exports.isAssignmentStatement = exports.isBody = exports.isStatement = exports.isXmlScope = exports.isXmlFile = exports.isBrsFile = void 0;
4
- exports.isLiteralNumber = exports.isLiteralString = exports.isLiteralBoolean = exports.isLiteralInvalid = exports.isNumberType = exports.isInheritableType = exports.isArrayType = exports.isUninitializedType = exports.isUnionType = exports.isNamespaceType = exports.isTypePropertyReferenceType = exports.isEnumMemberType = exports.isEnumType = exports.isReferenceType = exports.isObjectType = exports.isInterfaceType = exports.isDynamicType = exports.isClassType = exports.isVoidType = exports.isInvalidType = exports.isDoubleType = exports.isFloatType = exports.isLongIntegerType = exports.isIntegerType = exports.isBooleanType = exports.isFunctionType = exports.isStringType = exports.isTypeCastExpression = exports.isTypeExpression = exports.isTypedefProvider = exports.isAnnotationExpression = exports.isFunctionParameterExpression = exports.isTaggedTemplateStringExpression = exports.isTemplateStringExpression = exports.isTemplateStringQuasiExpression = exports.isCallfuncExpression = exports.isNewExpression = exports.isSourceLiteralExpression = exports.isVariableExpression = exports.isUnaryExpression = exports.isAAMemberExpression = exports.isAALiteralExpression = exports.isArrayLiteralExpression = exports.isEscapedCharCodeLiteralExpression = void 0;
3
+ exports.isGroupingExpression = exports.isIndexedGetExpression = exports.isXmlAttributeGetExpression = exports.isDottedGetExpression = exports.isFunctionExpression = exports.isCallExpression = exports.isBinaryExpression = exports.isExpression = exports.isThrowStatement = exports.isCatchStatement = exports.isTryCatchStatement = exports.isContinueStatement = exports.isConstStatement = exports.isEnumMemberStatement = exports.isEnumStatement = exports.isInterfaceFieldStatement = exports.isInterfaceMethodStatement = exports.isInterfaceStatement = exports.isFieldStatement = exports.isMethodStatement = exports.isImportStatement = exports.isClassStatement = exports.isNamespaceStatement = exports.isLibraryStatement = exports.isIndexedSetStatement = exports.isDottedSetStatement = exports.isWhileStatement = exports.isForEachStatement = exports.isForStatement = exports.isStopStatement = exports.isEndStatement = exports.isReturnStatement = exports.isLabelStatement = exports.isGotoStatement = exports.isPrintStatement = exports.isIncrementStatement = exports.isIfStatement = exports.isFunctionStatement = exports.isExitWhileStatement = exports.isExitForStatement = exports.isCommentStatement = exports.isExpressionStatement = exports.isBlock = exports.isAssignmentStatement = exports.isBody = exports.isStatement = exports.isXmlScope = exports.isAssetFile = exports.isXmlFile = exports.isBrsFile = void 0;
4
+ exports.isNativeType = exports.isPrimitiveType = exports.isNumberType = exports.isAnyReferenceType = exports.isCallableType = exports.isInheritableType = exports.isAssociativeArrayType = exports.isArrayType = exports.isUninitializedType = exports.isUnionType = exports.isNamespaceType = exports.isBinaryOperatorReferenceType = exports.isTypePropertyReferenceType = exports.isEnumMemberType = exports.isEnumType = exports.isReferenceType = exports.isObjectType = exports.isInterfaceType = exports.isDynamicType = exports.isComponentType = exports.isClassType = exports.isVoidType = exports.isInvalidType = exports.isDoubleType = exports.isFloatType = exports.isLongIntegerType = exports.isIntegerType = exports.isBooleanType = exports.isFunctionType = exports.isTypedFunctionType = exports.isStringType = exports.isTypedArrayExpression = exports.isTypeCastExpression = exports.isTypeExpression = exports.isTypedefProvider = exports.isAnnotationExpression = exports.isFunctionParameterExpression = exports.isTaggedTemplateStringExpression = exports.isTemplateStringExpression = exports.isTemplateStringQuasiExpression = exports.isCallfuncExpression = exports.isNewExpression = exports.isSourceLiteralExpression = exports.isVariableExpression = exports.isUnaryExpression = exports.isAAMemberExpression = exports.isAALiteralExpression = exports.isArrayLiteralExpression = exports.isEscapedCharCodeLiteralExpression = exports.isLiteralExpression = void 0;
5
+ exports.isLiteralDouble = exports.isLiteralFloat = exports.isLiteralLongInteger = exports.isLiteralInteger = exports.isLiteralNumber = exports.isLiteralString = exports.isLiteralBoolean = exports.isLiteralInvalid = void 0;
5
6
  const visitors_1 = require("./visitors");
6
- const IntegerType_1 = require("../types/IntegerType");
7
- const LongIntegerType_1 = require("../types/LongIntegerType");
8
- const FloatType_1 = require("../types/FloatType");
9
- const DoubleType_1 = require("../types/DoubleType");
10
7
  const AstNode_1 = require("../parser/AstNode");
11
8
  const BscTypeKind_1 = require("../types/BscTypeKind");
9
+ const TokenKind_1 = require("../lexer/TokenKind");
12
10
  // File reflection
13
11
  function isBrsFile(file) {
14
12
  return (file === null || file === void 0 ? void 0 : file.constructor.name) === 'BrsFile';
@@ -18,6 +16,10 @@ function isXmlFile(file) {
18
16
  return (file === null || file === void 0 ? void 0 : file.constructor.name) === 'XmlFile';
19
17
  }
20
18
  exports.isXmlFile = isXmlFile;
19
+ function isAssetFile(file) {
20
+ return (file === null || file === void 0 ? void 0 : file.constructor.name) === 'AssetFile';
21
+ }
22
+ exports.isAssetFile = isAssetFile;
21
23
  function isXmlScope(scope) {
22
24
  return (scope === null || scope === void 0 ? void 0 : scope.constructor.name) === 'XmlScope';
23
25
  }
@@ -297,11 +299,19 @@ function isTypeCastExpression(element) {
297
299
  return (element === null || element === void 0 ? void 0 : element.kind) === AstNode_1.AstNodeKind.TypeCastExpression;
298
300
  }
299
301
  exports.isTypeCastExpression = isTypeCastExpression;
302
+ function isTypedArrayExpression(element) {
303
+ return (element === null || element === void 0 ? void 0 : element.kind) === AstNode_1.AstNodeKind.TypedArrayExpression;
304
+ }
305
+ exports.isTypedArrayExpression = isTypedArrayExpression;
300
306
  // BscType reflection
301
307
  function isStringType(value) {
302
308
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.StringType;
303
309
  }
304
310
  exports.isStringType = isStringType;
311
+ function isTypedFunctionType(value) {
312
+ return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.TypedFunctionType;
313
+ }
314
+ exports.isTypedFunctionType = isTypedFunctionType;
305
315
  function isFunctionType(value) {
306
316
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.FunctionType;
307
317
  }
@@ -338,6 +348,10 @@ function isClassType(value) {
338
348
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.ClassType;
339
349
  }
340
350
  exports.isClassType = isClassType;
351
+ function isComponentType(value) {
352
+ return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.ComponentType;
353
+ }
354
+ exports.isComponentType = isComponentType;
341
355
  function isDynamicType(value) {
342
356
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.DynamicType;
343
357
  }
@@ -368,6 +382,11 @@ function isTypePropertyReferenceType(value) {
368
382
  return ((_a = value === null || value === void 0 ? void 0 : value.__reflection) === null || _a === void 0 ? void 0 : _a.name) === 'TypePropertyReferenceType';
369
383
  }
370
384
  exports.isTypePropertyReferenceType = isTypePropertyReferenceType;
385
+ function isBinaryOperatorReferenceType(value) {
386
+ var _a;
387
+ return ((_a = value === null || value === void 0 ? void 0 : value.__reflection) === null || _a === void 0 ? void 0 : _a.name) === 'BinaryOperatorReferenceType';
388
+ }
389
+ exports.isBinaryOperatorReferenceType = isBinaryOperatorReferenceType;
371
390
  function isNamespaceType(value) {
372
391
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.NamespaceType;
373
392
  }
@@ -384,23 +403,57 @@ function isArrayType(value) {
384
403
  return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.ArrayType;
385
404
  }
386
405
  exports.isArrayType = isArrayType;
406
+ function isAssociativeArrayType(value) {
407
+ return (value === null || value === void 0 ? void 0 : value.kind) === BscTypeKind_1.BscTypeKind.AssociativeArrayType;
408
+ }
409
+ exports.isAssociativeArrayType = isAssociativeArrayType;
387
410
  function isInheritableType(target) {
388
- return isClassType(target) || isInterfaceType(target);
411
+ return isClassType(target) || isInterfaceType(target) || isComponentType(target);
389
412
  }
390
413
  exports.isInheritableType = isInheritableType;
391
- const numberConstructorNames = [
392
- IntegerType_1.IntegerType.name,
393
- LongIntegerType_1.LongIntegerType.name,
394
- FloatType_1.FloatType.name,
395
- DoubleType_1.DoubleType.name
414
+ function isCallableType(target) {
415
+ return isFunctionType(target) || isTypedFunctionType(target);
416
+ }
417
+ exports.isCallableType = isCallableType;
418
+ function isAnyReferenceType(target) {
419
+ var _a;
420
+ const name = (_a = target === null || target === void 0 ? void 0 : target.__reflection) === null || _a === void 0 ? void 0 : _a.name;
421
+ return name === 'ReferenceType' || name === 'TypePropertyReferenceType' || name === 'BinaryOperatorReferenceType';
422
+ }
423
+ exports.isAnyReferenceType = isAnyReferenceType;
424
+ const numberTypeKinds = [
425
+ BscTypeKind_1.BscTypeKind.IntegerType,
426
+ BscTypeKind_1.BscTypeKind.LongIntegerType,
427
+ BscTypeKind_1.BscTypeKind.FloatType,
428
+ BscTypeKind_1.BscTypeKind.DoubleType
396
429
  ];
397
430
  function isNumberType(value) {
398
- return numberConstructorNames.includes(value === null || value === void 0 ? void 0 : value.constructor.name);
431
+ return numberTypeKinds.includes(value === null || value === void 0 ? void 0 : value.kind);
399
432
  }
400
433
  exports.isNumberType = isNumberType;
434
+ const primitiveTypeKinds = [
435
+ ...numberTypeKinds,
436
+ BscTypeKind_1.BscTypeKind.BooleanType,
437
+ BscTypeKind_1.BscTypeKind.StringType
438
+ ];
439
+ function isPrimitiveType(value) {
440
+ return primitiveTypeKinds.includes(value === null || value === void 0 ? void 0 : value.kind);
441
+ }
442
+ exports.isPrimitiveType = isPrimitiveType;
443
+ const nativeTypeKinds = [
444
+ ...primitiveTypeKinds,
445
+ BscTypeKind_1.BscTypeKind.DynamicType,
446
+ BscTypeKind_1.BscTypeKind.ObjectType,
447
+ BscTypeKind_1.BscTypeKind.VoidType,
448
+ BscTypeKind_1.BscTypeKind.FunctionType
449
+ ];
450
+ function isNativeType(value) {
451
+ return nativeTypeKinds.includes(value === null || value === void 0 ? void 0 : value.kind);
452
+ }
453
+ exports.isNativeType = isNativeType;
401
454
  // Literal reflection
402
455
  function isLiteralInvalid(value) {
403
- return isLiteralExpression(value) && isInvalidType(value.getType());
456
+ return isLiteralExpression(value) && value.token.kind === TokenKind_1.TokenKind.Invalid;
404
457
  }
405
458
  exports.isLiteralInvalid = isLiteralInvalid;
406
459
  function isLiteralBoolean(value) {
@@ -415,4 +468,20 @@ function isLiteralNumber(value) {
415
468
  return isLiteralExpression(value) && isNumberType(value.getType());
416
469
  }
417
470
  exports.isLiteralNumber = isLiteralNumber;
471
+ function isLiteralInteger(value) {
472
+ return isLiteralExpression(value) && isIntegerType(value.getType());
473
+ }
474
+ exports.isLiteralInteger = isLiteralInteger;
475
+ function isLiteralLongInteger(value) {
476
+ return isLiteralExpression(value) && isLongIntegerType(value.getType());
477
+ }
478
+ exports.isLiteralLongInteger = isLiteralLongInteger;
479
+ function isLiteralFloat(value) {
480
+ return isLiteralExpression(value) && isFloatType(value.getType());
481
+ }
482
+ exports.isLiteralFloat = isLiteralFloat;
483
+ function isLiteralDouble(value) {
484
+ return isLiteralExpression(value) && isDoubleType(value.getType());
485
+ }
486
+ exports.isLiteralDouble = isLiteralDouble;
418
487
  //# sourceMappingURL=reflection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/astUtils/reflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/astUtils/reflection.ts"],"names":[],"mappings":"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"}
@@ -10,13 +10,12 @@ const creators_1 = require("./creators");
10
10
  const Program_1 = require("../Program");
11
11
  const BrsFile_1 = require("../files/BrsFile");
12
12
  const XmlFile_1 = require("../files/XmlFile");
13
- const __1 = require("..");
14
13
  describe('reflection', () => {
15
14
  describe('Files', () => {
16
15
  it('recognizes files', () => {
17
16
  const program = new Program_1.Program({});
18
- const file = new BrsFile_1.BrsFile('path/to/source/file.brs', 'pkg:/source/file.brs', program);
19
- const comp = new XmlFile_1.XmlFile('path/to/components/file.xml', 'pkg:/components/file.brs', program);
17
+ const file = new BrsFile_1.BrsFile({ srcPath: 'path/to/source/file.brs', destPath: 'source/file.brs', program: program });
18
+ const comp = new XmlFile_1.XmlFile({ srcPath: 'path/to/components/file.xml', destPath: 'components/file.brs', program: program });
20
19
  (0, chai_config_spec_1.expect)((0, reflection_1.isBrsFile)(file)).to.be.true;
21
20
  (0, chai_config_spec_1.expect)((0, reflection_1.isXmlFile)(file)).to.be.false;
22
21
  (0, chai_config_spec_1.expect)((0, reflection_1.isBrsFile)(comp)).to.be.false;
@@ -49,7 +48,7 @@ describe('reflection', () => {
49
48
  const dottedSet = new Statement_1.DottedSetStatement(expr, ident, expr);
50
49
  const indexedSet = new Statement_1.IndexedSetStatement(expr, expr, expr, token, token);
51
50
  const library = new Statement_1.LibraryStatement({ library: token, filePath: token });
52
- const namespace = new Statement_1.NamespaceStatement(token, (0, __1.createVariableExpression)('a', creators_1.interpolatedRange), body, token);
51
+ const namespace = new Statement_1.NamespaceStatement(token, (0, creators_1.createVariableExpression)('a', creators_1.interpolatedRange), body, token);
53
52
  const cls = new Statement_1.ClassStatement(token, ident, [], token);
54
53
  const imports = new Statement_1.ImportStatement(token, token);
55
54
  const catchStmt = new Statement_1.CatchStatement({ catch: token }, ident, block);
@@ -185,7 +184,8 @@ describe('reflection', () => {
185
184
  range: creators_1.interpolatedRange,
186
185
  isReserved: false,
187
186
  charCode: 0,
188
- leadingWhitespace: ''
187
+ leadingWhitespace: '',
188
+ leadingTrivia: []
189
189
  };
190
190
  const binary = new Expression_1.BinaryExpression(expr, token, expr);
191
191
  const call = new Expression_1.CallExpression(expr, token, token, []);
@@ -299,5 +299,87 @@ describe('reflection', () => {
299
299
  (0, chai_config_spec_1.expect)((0, reflection_1.isExpression)(1)).to.be.false;
300
300
  });
301
301
  });
302
+ describe('isLiteralInvalid', () => {
303
+ it('handles true cases', () => {
304
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.true;
305
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createInvalidLiteral)('Invalid'))).to.be.true;
306
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createInvalidLiteral)('INVALID'))).to.be.true;
307
+ });
308
+ it('handles false cases', () => {
309
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
310
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createIntegerLiteral)('1'))).to.be.false;
311
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInvalid)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
312
+ });
313
+ });
314
+ describe('isLiteralBoolean', () => {
315
+ it('handles true cases', () => {
316
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createBooleanLiteral)('true'))).to.be.true;
317
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createBooleanLiteral)('TRUE'))).to.be.true;
318
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createBooleanLiteral)('false'))).to.be.true;
319
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createBooleanLiteral)('FALSE'))).to.be.true;
320
+ });
321
+ it('handles false cases', () => {
322
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
323
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createIntegerLiteral)('1'))).to.be.false;
324
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralBoolean)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
325
+ });
326
+ });
327
+ describe('isLiteralNumber', () => {
328
+ it('handles true cases', () => {
329
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createIntegerLiteral)('1'))).to.be.true;
330
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createLongIntegerLiteral)('1'))).to.be.true;
331
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createFloatLiteral)('1.2'))).to.be.true;
332
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createDoubleLiteral)('2.3'))).to.be.true;
333
+ });
334
+ it('handles false cases', () => {
335
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
336
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
337
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralNumber)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
338
+ });
339
+ });
340
+ describe('isLiteralInteger', () => {
341
+ it('handles true cases', () => {
342
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInteger)((0, creators_1.createIntegerLiteral)('1'))).to.be.true;
343
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInteger)((0, creators_1.createIntegerLiteral)('100'))).to.be.true;
344
+ });
345
+ it('handles false cases', () => {
346
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInteger)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
347
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInteger)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
348
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralInteger)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
349
+ });
350
+ });
351
+ describe('isLiteralLongInteger', () => {
352
+ it('handles true cases', () => {
353
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralLongInteger)((0, creators_1.createLongIntegerLiteral)('1'))).to.be.true;
354
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralLongInteger)((0, creators_1.createLongIntegerLiteral)('100'))).to.be.true;
355
+ });
356
+ it('handles false cases', () => {
357
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralLongInteger)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
358
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralLongInteger)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
359
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralLongInteger)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
360
+ });
361
+ });
362
+ describe('isLiteralFloat', () => {
363
+ it('handles true cases', () => {
364
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralFloat)((0, creators_1.createFloatLiteral)('1.2'))).to.be.true;
365
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralFloat)((0, creators_1.createFloatLiteral)('1.234'))).to.be.true;
366
+ });
367
+ it('handles false cases', () => {
368
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralFloat)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
369
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralFloat)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
370
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralFloat)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
371
+ });
372
+ });
373
+ describe('isLiteralDouble', () => {
374
+ it('handles true cases', () => {
375
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralDouble)((0, creators_1.createDoubleLiteral)('1.2'))).to.be.true;
376
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralDouble)((0, creators_1.createDoubleLiteral)('1.234'))).to.be.true;
377
+ });
378
+ it('handles false cases', () => {
379
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralDouble)((0, creators_1.createInvalidLiteral)('invalid'))).to.be.false;
380
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralDouble)((0, creators_1.createBooleanLiteral)('true'))).to.be.false;
381
+ (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralDouble)((0, creators_1.createVariableExpression)('cat'))).to.be.false;
382
+ });
383
+ });
302
384
  });
303
385
  //# sourceMappingURL=reflection.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.spec.js","sourceRoot":"","sources":["../../src/astUtils/reflection.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflection.spec.js","sourceRoot":"","sources":["../../src/astUtils/reflection.spec.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CancellationToken } from 'vscode-languageserver';
2
2
  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, EnumStatement, EnumMemberStatement, DimStatement, TryCatchStatement, CatchStatement, ThrowStatement, InterfaceStatement, InterfaceFieldStatement, InterfaceMethodStatement, FieldStatement, MethodStatement, ConstStatement, ContinueStatement } from '../parser/Statement';
3
3
  import type { AALiteralExpression, AAMemberExpression, AnnotationExpression, ArrayLiteralExpression, BinaryExpression, CallExpression, CallfuncExpression, DottedGetExpression, EscapedCharCodeLiteralExpression, FunctionExpression, FunctionParameterExpression, GroupingExpression, IndexedGetExpression, LiteralExpression, NewExpression, NullCoalescingExpression, RegexLiteralExpression, SourceLiteralExpression, TaggedTemplateStringExpression, TemplateStringExpression, TemplateStringQuasiExpression, TernaryExpression, TypeCastExpression, TypeExpression, UnaryExpression, VariableExpression, XmlAttributeGetExpression } from '../parser/Expression';
4
- import type { AstEditor } from './AstEditor';
4
+ import type { Editor } from './Editor';
5
5
  import type { Statement, Expression, AstNode } from '../parser/AstNode';
6
6
  /**
7
7
  * Walks the statements of a block and descendent sub-blocks, and allow replacing statements
@@ -105,9 +105,20 @@ export interface WalkOptions {
105
105
  */
106
106
  cancel?: CancellationToken;
107
107
  /**
108
- * If provided, any AST replacements will be done using this AstEditor instead of directly against the AST itself
108
+ * If provided, any AST replacements will be done using this Editor instead of directly against the AST itself
109
109
  */
110
- editor?: AstEditor;
110
+ editor?: Editor;
111
+ /**
112
+ * A token that can be used to stop the walk from going any deeper in the current node,
113
+ * but will continue walking sibling nodes
114
+ */
115
+ skipChildren?: ChildrenSkipper;
116
+ }
117
+ export declare class ChildrenSkipper {
118
+ private isSkipped;
119
+ reset(): void;
120
+ skip(): void;
121
+ get shouldSkipChildren(): boolean;
111
122
  }
112
123
  /**
113
124
  * An enum used to denote the specific WalkMode options (without
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WalkMode = exports.InternalWalkMode = exports.createVisitor = exports.walkArray = exports.walk = exports.walkStatements = void 0;
3
+ exports.WalkMode = exports.InternalWalkMode = exports.ChildrenSkipper = exports.createVisitor = exports.walkArray = exports.walk = exports.walkStatements = void 0;
4
4
  const reflection_1 = require("./reflection");
5
5
  /**
6
6
  * Walks the statements of a block and descendent sub-blocks, and allow replacing statements
@@ -16,7 +16,7 @@ exports.walkStatements = walkStatements;
16
16
  * A helper function for Statement and Expression `walkAll` calls.
17
17
  */
18
18
  function walk(owner, key, visitor, options, parent) {
19
- var _a, _b;
19
+ var _a, _b, _c;
20
20
  //stop processing if canceled
21
21
  if ((_a = options.cancel) === null || _a === void 0 ? void 0 : _a.isCancellationRequested) {
22
22
  return;
@@ -47,6 +47,11 @@ function walk(owner, key, visitor, options, parent) {
47
47
  if ((_b = options.cancel) === null || _b === void 0 ? void 0 : _b.isCancellationRequested) {
48
48
  return;
49
49
  }
50
+ //do not walk children if skipped
51
+ if ((_c = options.skipChildren) === null || _c === void 0 ? void 0 : _c.shouldSkipChildren) {
52
+ options.skipChildren.reset();
53
+ return;
54
+ }
50
55
  if (!element.walk) {
51
56
  throw new Error(`${owner.constructor.name}["${String(key)}"]${parent ? ` for ${parent.constructor.name}` : ''} does not contain a "walk" method`);
52
57
  }
@@ -86,6 +91,21 @@ function createVisitor(visitor) {
86
91
  });
87
92
  }
88
93
  exports.createVisitor = createVisitor;
94
+ class ChildrenSkipper {
95
+ constructor() {
96
+ this.isSkipped = false;
97
+ }
98
+ reset() {
99
+ this.isSkipped = false;
100
+ }
101
+ skip() {
102
+ this.isSkipped = true;
103
+ }
104
+ get shouldSkipChildren() {
105
+ return this.isSkipped;
106
+ }
107
+ }
108
+ exports.ChildrenSkipper = ChildrenSkipper;
89
109
  /**
90
110
  * An enum used to denote the specific WalkMode options (without
91
111
  */
@@ -1 +1 @@
1
- {"version":3,"file":"visitors.js","sourceRoot":"","sources":["../../src/astUtils/visitors.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"visitors.js","sourceRoot":"","sources":["../../src/astUtils/visitors.ts"],"names":[],"mappings":"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"}