brighterscript 1.0.0-alpha.5 → 1.0.0-alpha.50

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 (715) hide show
  1. package/README.md +76 -138
  2. package/bsconfig.schema.json +121 -5
  3. package/dist/ActionPipeline.d.ts +10 -0
  4. package/dist/ActionPipeline.js +40 -0
  5. package/dist/ActionPipeline.js.map +1 -0
  6. package/dist/AstValidationSegmenter.d.ts +45 -0
  7. package/dist/AstValidationSegmenter.js +322 -0
  8. package/dist/AstValidationSegmenter.js.map +1 -0
  9. package/dist/BsConfig.d.ts +72 -39
  10. package/dist/BusyStatusTracker.d.ts +61 -0
  11. package/dist/BusyStatusTracker.js +148 -0
  12. package/dist/BusyStatusTracker.js.map +1 -0
  13. package/dist/Cache.d.ts +3 -8
  14. package/dist/Cache.js +9 -14
  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 +12 -4
  20. package/dist/CodeActionUtil.js +22 -5
  21. package/dist/CodeActionUtil.js.map +1 -1
  22. package/dist/CommentFlagProcessor.d.ts +7 -6
  23. package/dist/CommentFlagProcessor.js +11 -8
  24. package/dist/CommentFlagProcessor.js.map +1 -1
  25. package/dist/CrossScopeValidator.d.ts +68 -0
  26. package/dist/CrossScopeValidator.js +642 -0
  27. package/dist/CrossScopeValidator.js.map +1 -0
  28. package/dist/DependencyGraph.d.ts +8 -3
  29. package/dist/DependencyGraph.js +49 -16
  30. package/dist/DependencyGraph.js.map +1 -1
  31. package/dist/DiagnosticCollection.d.ts +21 -5
  32. package/dist/DiagnosticCollection.js +77 -24
  33. package/dist/DiagnosticCollection.js.map +1 -1
  34. package/dist/DiagnosticFilterer.d.ts +27 -6
  35. package/dist/DiagnosticFilterer.js +273 -60
  36. package/dist/DiagnosticFilterer.js.map +1 -1
  37. package/dist/DiagnosticManager.d.ts +82 -0
  38. package/dist/DiagnosticManager.js +406 -0
  39. package/dist/DiagnosticManager.js.map +1 -0
  40. package/dist/DiagnosticMessages.d.ts +558 -196
  41. package/dist/DiagnosticMessages.js +870 -340
  42. package/dist/DiagnosticMessages.js.map +1 -1
  43. package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
  44. package/dist/DiagnosticSeverityAdjuster.js +45 -0
  45. package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
  46. package/dist/FunctionScope.d.ts +28 -0
  47. package/dist/FunctionScope.js +52 -0
  48. package/dist/FunctionScope.js.map +1 -0
  49. package/dist/KeyedThrottler.d.ts +3 -3
  50. package/dist/KeyedThrottler.js +3 -3
  51. package/dist/KeyedThrottler.js.map +1 -1
  52. package/dist/LanguageServer.d.ts +100 -105
  53. package/dist/LanguageServer.js +444 -745
  54. package/dist/LanguageServer.js.map +1 -1
  55. package/dist/Logger.d.ts +17 -13
  56. package/dist/Logger.js +64 -34
  57. package/dist/Logger.js.map +1 -1
  58. package/dist/PluginInterface.d.ts +32 -10
  59. package/dist/PluginInterface.js +117 -7
  60. package/dist/PluginInterface.js.map +1 -1
  61. package/dist/Program.d.ts +241 -98
  62. package/dist/Program.js +1432 -717
  63. package/dist/Program.js.map +1 -1
  64. package/dist/ProgramBuilder.d.ts +47 -23
  65. package/dist/ProgramBuilder.js +224 -178
  66. package/dist/ProgramBuilder.js.map +1 -1
  67. package/dist/Scope.d.ts +149 -109
  68. package/dist/Scope.js +557 -550
  69. package/dist/Scope.js.map +1 -1
  70. package/dist/SemanticTokenUtils.js +5 -1
  71. package/dist/SemanticTokenUtils.js.map +1 -1
  72. package/dist/Stopwatch.d.ts +4 -0
  73. package/dist/Stopwatch.js +8 -1
  74. package/dist/Stopwatch.js.map +1 -1
  75. package/dist/SymbolTable.d.ts +136 -24
  76. package/dist/SymbolTable.js +565 -64
  77. package/dist/SymbolTable.js.map +1 -1
  78. package/dist/SymbolTypeFlag.d.ts +9 -0
  79. package/dist/SymbolTypeFlag.js +14 -0
  80. package/dist/SymbolTypeFlag.js.map +1 -0
  81. package/dist/Throttler.d.ts +12 -0
  82. package/dist/Throttler.js +39 -0
  83. package/dist/Throttler.js.map +1 -1
  84. package/dist/Watcher.d.ts +0 -3
  85. package/dist/Watcher.js +0 -3
  86. package/dist/Watcher.js.map +1 -1
  87. package/dist/XmlScope.d.ts +5 -15
  88. package/dist/XmlScope.js +34 -90
  89. package/dist/XmlScope.js.map +1 -1
  90. package/dist/astUtils/CachedLookups.d.ts +50 -0
  91. package/dist/astUtils/CachedLookups.js +334 -0
  92. package/dist/astUtils/CachedLookups.js.map +1 -0
  93. package/dist/astUtils/CachedLookups.spec.js +39 -0
  94. package/dist/astUtils/CachedLookups.spec.js.map +1 -0
  95. package/dist/astUtils/Editor.d.ts +69 -0
  96. package/dist/astUtils/Editor.js +245 -0
  97. package/dist/astUtils/Editor.js.map +1 -0
  98. package/dist/astUtils/Editor.spec.js +258 -0
  99. package/dist/astUtils/Editor.spec.js.map +1 -0
  100. package/dist/astUtils/creators.d.ts +54 -19
  101. package/dist/astUtils/creators.js +242 -42
  102. package/dist/astUtils/creators.js.map +1 -1
  103. package/dist/astUtils/creators.spec.js +5 -5
  104. package/dist/astUtils/creators.spec.js.map +1 -1
  105. package/dist/astUtils/reflection.d.ts +196 -85
  106. package/dist/astUtils/reflection.js +497 -144
  107. package/dist/astUtils/reflection.js.map +1 -1
  108. package/dist/astUtils/reflection.spec.js +267 -167
  109. package/dist/astUtils/reflection.spec.js.map +1 -1
  110. package/dist/astUtils/stackedVisitor.js.map +1 -1
  111. package/dist/astUtils/stackedVisitor.spec.js +14 -14
  112. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  113. package/dist/astUtils/visitors.d.ts +116 -53
  114. package/dist/astUtils/visitors.js +95 -15
  115. package/dist/astUtils/visitors.js.map +1 -1
  116. package/dist/astUtils/visitors.spec.js +629 -51
  117. package/dist/astUtils/visitors.spec.js.map +1 -1
  118. package/dist/astUtils/xml.d.ts +9 -8
  119. package/dist/astUtils/xml.js +12 -7
  120. package/dist/astUtils/xml.js.map +1 -1
  121. package/dist/bscPlugin/BscPlugin.d.ts +24 -4
  122. package/dist/bscPlugin/BscPlugin.js +88 -4
  123. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  124. package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
  125. package/dist/bscPlugin/CallExpressionInfo.js +143 -0
  126. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
  127. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  128. package/dist/bscPlugin/FileWriter.js +24 -0
  129. package/dist/bscPlugin/FileWriter.js.map +1 -0
  130. package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
  131. package/dist/bscPlugin/SignatureHelpUtil.js +137 -0
  132. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
  133. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +6 -5
  134. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +173 -27
  135. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  136. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +138 -21
  137. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  138. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +65 -0
  139. package/dist/bscPlugin/completions/CompletionsProcessor.js +633 -0
  140. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
  141. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +2512 -0
  142. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
  143. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  144. package/dist/bscPlugin/definition/DefinitionProvider.js +212 -0
  145. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  146. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +87 -0
  147. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  148. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  149. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  150. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  151. package/dist/bscPlugin/hover/HoverProcessor.d.ts +18 -0
  152. package/dist/bscPlugin/hover/HoverProcessor.js +230 -0
  153. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
  154. package/dist/bscPlugin/hover/HoverProcessor.spec.js +991 -0
  155. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -0
  156. package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
  157. package/dist/bscPlugin/references/ReferencesProvider.js +57 -0
  158. package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
  159. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +1 -0
  160. package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
  161. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
  162. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +14 -0
  163. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +164 -0
  164. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
  165. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
  166. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +564 -0
  167. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
  168. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
  169. package/dist/bscPlugin/serialize/BslibInjector.spec.js +33 -0
  170. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  171. package/dist/bscPlugin/serialize/BslibManager.d.ts +12 -0
  172. package/dist/bscPlugin/serialize/BslibManager.js +46 -0
  173. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  174. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  175. package/dist/bscPlugin/serialize/FileSerializer.js +75 -0
  176. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  177. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.d.ts +7 -0
  178. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js +22 -0
  179. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js.map +1 -0
  180. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +1 -0
  181. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +291 -0
  182. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +1 -0
  183. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.d.ts +7 -0
  184. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js +26 -0
  185. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js.map +1 -0
  186. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +1 -0
  187. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +245 -0
  188. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +1 -0
  189. package/dist/bscPlugin/symbols/symbolUtils.d.ts +5 -0
  190. package/dist/bscPlugin/symbols/symbolUtils.js +141 -0
  191. package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
  192. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +27 -0
  193. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +418 -0
  194. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  195. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  196. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +75 -0
  197. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  198. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
  199. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
  200. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
  201. package/dist/bscPlugin/validation/BrsFileAfterValidator.d.ts +7 -0
  202. package/dist/bscPlugin/validation/BrsFileAfterValidator.js +18 -0
  203. package/dist/bscPlugin/validation/BrsFileAfterValidator.js.map +1 -0
  204. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +37 -0
  205. package/dist/bscPlugin/validation/BrsFileValidator.js +638 -0
  206. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  207. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
  208. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1517 -0
  209. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -0
  210. package/dist/bscPlugin/validation/ProgramValidator.d.ts +11 -0
  211. package/dist/bscPlugin/validation/ProgramValidator.js +33 -0
  212. package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
  213. package/dist/bscPlugin/validation/ScopeValidator.d.ts +141 -0
  214. package/dist/bscPlugin/validation/ScopeValidator.js +1323 -0
  215. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  216. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
  217. package/dist/bscPlugin/validation/ScopeValidator.spec.js +6135 -0
  218. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
  219. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
  220. package/dist/bscPlugin/validation/XmlFileValidator.js +36 -0
  221. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
  222. package/dist/cli.js +126 -27
  223. package/dist/cli.js.map +1 -1
  224. package/dist/common/Sequencer.d.ts +53 -0
  225. package/dist/common/Sequencer.js +233 -0
  226. package/dist/common/Sequencer.js.map +1 -0
  227. package/dist/common/Sequencer.spec.d.ts +1 -0
  228. package/dist/common/Sequencer.spec.js +75 -0
  229. package/dist/common/Sequencer.spec.js.map +1 -0
  230. package/dist/deferred.d.ts +5 -3
  231. package/dist/deferred.js +10 -0
  232. package/dist/deferred.js.map +1 -1
  233. package/dist/diagnosticUtils.d.ts +10 -3
  234. package/dist/diagnosticUtils.js +64 -25
  235. package/dist/diagnosticUtils.js.map +1 -1
  236. package/dist/examples/plugins/removePrint.d.ts +2 -2
  237. package/dist/examples/plugins/removePrint.js +8 -12
  238. package/dist/examples/plugins/removePrint.js.map +1 -1
  239. package/dist/files/AssetFile.d.ts +24 -0
  240. package/dist/files/AssetFile.js +25 -0
  241. package/dist/files/AssetFile.js.map +1 -0
  242. package/dist/files/BrsFile.Class.spec.js +1213 -259
  243. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  244. package/dist/files/BrsFile.d.ts +145 -87
  245. package/dist/files/BrsFile.js +836 -934
  246. package/dist/files/BrsFile.js.map +1 -1
  247. package/dist/files/BrsFile.spec.js +4226 -902
  248. package/dist/files/BrsFile.spec.js.map +1 -1
  249. package/dist/files/BscFile.d.ts +102 -0
  250. package/dist/files/BscFile.js +15 -0
  251. package/dist/files/BscFile.js.map +1 -0
  252. package/dist/files/Factory.d.ts +25 -0
  253. package/dist/files/Factory.js +22 -0
  254. package/dist/files/Factory.js.map +1 -0
  255. package/dist/files/LazyFileData.d.ts +21 -0
  256. package/dist/files/LazyFileData.js +54 -0
  257. package/dist/files/LazyFileData.js.map +1 -0
  258. package/dist/files/LazyFileData.spec.d.ts +1 -0
  259. package/dist/files/LazyFileData.spec.js +27 -0
  260. package/dist/files/LazyFileData.spec.js.map +1 -0
  261. package/dist/files/XmlFile.d.ts +80 -41
  262. package/dist/files/XmlFile.js +161 -137
  263. package/dist/files/XmlFile.js.map +1 -1
  264. package/dist/files/XmlFile.spec.js +444 -336
  265. package/dist/files/XmlFile.spec.js.map +1 -1
  266. package/dist/files/tests/imports.spec.js +62 -52
  267. package/dist/files/tests/imports.spec.js.map +1 -1
  268. package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
  269. package/dist/files/tests/optionalChaning.spec.js +152 -0
  270. package/dist/files/tests/optionalChaning.spec.js.map +1 -0
  271. package/dist/globalCallables.d.ts +3 -1
  272. package/dist/globalCallables.js +424 -184
  273. package/dist/globalCallables.js.map +1 -1
  274. package/dist/index.d.ts +32 -4
  275. package/dist/index.js +54 -7
  276. package/dist/index.js.map +1 -1
  277. package/dist/interfaces.d.ts +942 -125
  278. package/dist/interfaces.js +21 -0
  279. package/dist/interfaces.js.map +1 -1
  280. package/dist/lexer/Character.spec.js +5 -5
  281. package/dist/lexer/Character.spec.js.map +1 -1
  282. package/dist/lexer/Lexer.d.ts +51 -12
  283. package/dist/lexer/Lexer.js +215 -65
  284. package/dist/lexer/Lexer.js.map +1 -1
  285. package/dist/lexer/Lexer.spec.js +812 -568
  286. package/dist/lexer/Lexer.spec.js.map +1 -1
  287. package/dist/lexer/Token.d.ts +27 -11
  288. package/dist/lexer/Token.js +10 -2
  289. package/dist/lexer/Token.js.map +1 -1
  290. package/dist/lexer/TokenKind.d.ts +40 -2
  291. package/dist/lexer/TokenKind.js +147 -10
  292. package/dist/lexer/TokenKind.js.map +1 -1
  293. package/dist/logging.d.ts +14 -0
  294. package/dist/logging.js +29 -0
  295. package/dist/logging.js.map +1 -0
  296. package/dist/lsp/ActionQueue.d.ts +35 -0
  297. package/dist/lsp/ActionQueue.js +115 -0
  298. package/dist/lsp/ActionQueue.js.map +1 -0
  299. package/dist/lsp/ActionQueue.spec.d.ts +1 -0
  300. package/dist/lsp/ActionQueue.spec.js +80 -0
  301. package/dist/lsp/ActionQueue.spec.js.map +1 -0
  302. package/dist/lsp/DocumentManager.d.ts +63 -0
  303. package/dist/lsp/DocumentManager.js +122 -0
  304. package/dist/lsp/DocumentManager.js.map +1 -0
  305. package/dist/lsp/DocumentManager.spec.d.ts +1 -0
  306. package/dist/lsp/DocumentManager.spec.js +103 -0
  307. package/dist/lsp/DocumentManager.spec.js.map +1 -0
  308. package/dist/lsp/LspProject.d.ts +239 -0
  309. package/dist/lsp/LspProject.js +3 -0
  310. package/dist/lsp/LspProject.js.map +1 -0
  311. package/dist/lsp/PathFilterer.d.ts +75 -0
  312. package/dist/lsp/PathFilterer.js +196 -0
  313. package/dist/lsp/PathFilterer.js.map +1 -0
  314. package/dist/lsp/PathFilterer.spec.d.ts +1 -0
  315. package/dist/lsp/PathFilterer.spec.js +182 -0
  316. package/dist/lsp/PathFilterer.spec.js.map +1 -0
  317. package/dist/lsp/Project.d.ts +168 -0
  318. package/dist/lsp/Project.js +437 -0
  319. package/dist/lsp/Project.js.map +1 -0
  320. package/dist/lsp/Project.spec.d.ts +1 -0
  321. package/dist/lsp/Project.spec.js +267 -0
  322. package/dist/lsp/Project.spec.js.map +1 -0
  323. package/dist/lsp/ProjectManager.d.ts +242 -0
  324. package/dist/lsp/ProjectManager.js +824 -0
  325. package/dist/lsp/ProjectManager.js.map +1 -0
  326. package/dist/lsp/ProjectManager.spec.d.ts +1 -0
  327. package/dist/lsp/ProjectManager.spec.js +913 -0
  328. package/dist/lsp/ProjectManager.spec.js.map +1 -0
  329. package/dist/lsp/ReaderWriterManager.d.ts +21 -0
  330. package/dist/lsp/ReaderWriterManager.js +60 -0
  331. package/dist/lsp/ReaderWriterManager.js.map +1 -0
  332. package/dist/lsp/worker/MessageHandler.d.ts +99 -0
  333. package/dist/lsp/worker/MessageHandler.js +138 -0
  334. package/dist/lsp/worker/MessageHandler.js.map +1 -0
  335. package/dist/lsp/worker/MessageHandler.spec.d.ts +1 -0
  336. package/dist/lsp/worker/MessageHandler.spec.js +64 -0
  337. package/dist/lsp/worker/MessageHandler.spec.js.map +1 -0
  338. package/dist/lsp/worker/WorkerPool.d.ts +38 -0
  339. package/dist/lsp/worker/WorkerPool.js +78 -0
  340. package/dist/lsp/worker/WorkerPool.js.map +1 -0
  341. package/dist/lsp/worker/WorkerPool.spec.d.ts +1 -0
  342. package/dist/lsp/worker/WorkerPool.spec.js +59 -0
  343. package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
  344. package/dist/lsp/worker/WorkerThreadProject.d.ts +143 -0
  345. package/dist/lsp/worker/WorkerThreadProject.js +189 -0
  346. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
  347. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
  348. package/dist/lsp/worker/WorkerThreadProject.spec.js +71 -0
  349. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -0
  350. package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
  351. package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
  352. package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
  353. package/dist/lsp/worker/run.d.ts +1 -0
  354. package/dist/lsp/worker/run.js +14 -0
  355. package/dist/lsp/worker/run.js.map +1 -0
  356. package/dist/parser/AstNode.d.ts +203 -0
  357. package/dist/parser/AstNode.js +303 -0
  358. package/dist/parser/AstNode.js.map +1 -0
  359. package/dist/parser/AstNode.spec.d.ts +1 -0
  360. package/dist/parser/AstNode.spec.js +1455 -0
  361. package/dist/parser/AstNode.spec.js.map +1 -0
  362. package/dist/parser/BrightScriptDocParser.d.ts +56 -0
  363. package/dist/parser/BrightScriptDocParser.js +294 -0
  364. package/dist/parser/BrightScriptDocParser.js.map +1 -0
  365. package/dist/parser/BrightScriptDocParser.spec.d.ts +1 -0
  366. package/dist/parser/BrightScriptDocParser.spec.js +310 -0
  367. package/dist/parser/BrightScriptDocParser.spec.js.map +1 -0
  368. package/dist/parser/BrsTranspileState.d.ts +22 -3
  369. package/dist/parser/BrsTranspileState.js +19 -0
  370. package/dist/parser/BrsTranspileState.js.map +1 -1
  371. package/dist/parser/Expression.d.ts +553 -221
  372. package/dist/parser/Expression.js +1414 -505
  373. package/dist/parser/Expression.js.map +1 -1
  374. package/dist/parser/Expression.spec.d.ts +1 -0
  375. package/dist/parser/Expression.spec.js +40 -0
  376. package/dist/parser/Expression.spec.js.map +1 -0
  377. package/dist/parser/Parser.Class.spec.js +255 -125
  378. package/dist/parser/Parser.Class.spec.js.map +1 -1
  379. package/dist/parser/Parser.d.ts +117 -124
  380. package/dist/parser/Parser.js +1669 -982
  381. package/dist/parser/Parser.js.map +1 -1
  382. package/dist/parser/Parser.spec.d.ts +3 -1
  383. package/dist/parser/Parser.spec.js +2111 -525
  384. package/dist/parser/Parser.spec.js.map +1 -1
  385. package/dist/parser/SGParser.d.ts +29 -13
  386. package/dist/parser/SGParser.js +85 -56
  387. package/dist/parser/SGParser.js.map +1 -1
  388. package/dist/parser/SGParser.spec.js +30 -45
  389. package/dist/parser/SGParser.spec.js.map +1 -1
  390. package/dist/parser/SGTypes.d.ts +134 -46
  391. package/dist/parser/SGTypes.js +206 -115
  392. package/dist/parser/SGTypes.js.map +1 -1
  393. package/dist/parser/Statement.d.ts +849 -267
  394. package/dist/parser/Statement.js +2412 -625
  395. package/dist/parser/Statement.js.map +1 -1
  396. package/dist/parser/Statement.spec.js +133 -36
  397. package/dist/parser/Statement.spec.js.map +1 -1
  398. package/dist/parser/TranspileState.d.ts +26 -12
  399. package/dist/parser/TranspileState.js +115 -24
  400. package/dist/parser/TranspileState.js.map +1 -1
  401. package/dist/parser/tests/Parser.spec.d.ts +3 -9
  402. package/dist/parser/tests/Parser.spec.js +7 -13
  403. package/dist/parser/tests/Parser.spec.js.map +1 -1
  404. package/dist/parser/tests/controlFlow/For.spec.js +83 -75
  405. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  406. package/dist/parser/tests/controlFlow/ForEach.spec.js +85 -51
  407. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  408. package/dist/parser/tests/controlFlow/If.spec.js +382 -239
  409. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  410. package/dist/parser/tests/controlFlow/While.spec.js +52 -45
  411. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  412. package/dist/parser/tests/expression/Additive.spec.js +51 -43
  413. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  414. package/dist/parser/tests/expression/ArrayLiterals.spec.js +192 -142
  415. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  416. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +236 -160
  417. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  418. package/dist/parser/tests/expression/Boolean.spec.js +41 -34
  419. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  420. package/dist/parser/tests/expression/Call.spec.js +173 -55
  421. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  422. package/dist/parser/tests/expression/Exponential.spec.js +20 -20
  423. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  424. package/dist/parser/tests/expression/Function.spec.js +291 -282
  425. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  426. package/dist/parser/tests/expression/Indexing.spec.js +193 -110
  427. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  428. package/dist/parser/tests/expression/Multiplicative.spec.js +42 -42
  429. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  430. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +260 -115
  431. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  432. package/dist/parser/tests/expression/PrefixUnary.spec.js +58 -52
  433. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  434. package/dist/parser/tests/expression/Primary.spec.js +76 -60
  435. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  436. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
  437. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +171 -0
  438. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
  439. package/dist/parser/tests/expression/Relational.spec.js +50 -50
  440. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  441. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +31 -31
  442. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  443. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +281 -94
  444. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  445. package/dist/parser/tests/expression/TernaryExpression.spec.js +747 -192
  446. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  447. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
  448. package/dist/parser/tests/expression/TypeExpression.spec.js +126 -0
  449. package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
  450. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  451. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  452. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  453. package/dist/parser/tests/statement/AssignmentOperators.spec.js +44 -44
  454. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  455. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +1 -0
  456. package/dist/parser/tests/statement/ConstStatement.spec.js +500 -0
  457. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
  458. package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
  459. package/dist/parser/tests/statement/Continue.spec.js +119 -0
  460. package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
  461. package/dist/parser/tests/statement/Declaration.spec.js +61 -55
  462. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  463. package/dist/parser/tests/statement/Dim.spec.js +29 -22
  464. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  465. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  466. package/dist/parser/tests/statement/Enum.spec.js +744 -0
  467. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  468. package/dist/parser/tests/statement/For.spec.d.ts +1 -0
  469. package/dist/parser/tests/statement/For.spec.js +45 -0
  470. package/dist/parser/tests/statement/For.spec.js.map +1 -0
  471. package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
  472. package/dist/parser/tests/statement/ForEach.spec.js +36 -0
  473. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
  474. package/dist/parser/tests/statement/Function.spec.js +226 -215
  475. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  476. package/dist/parser/tests/statement/Goto.spec.js +16 -15
  477. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  478. package/dist/parser/tests/statement/Increment.spec.js +64 -61
  479. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  480. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
  481. package/dist/parser/tests/statement/InterfaceStatement.spec.js +110 -0
  482. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
  483. package/dist/parser/tests/statement/LibraryStatement.spec.js +22 -22
  484. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  485. package/dist/parser/tests/statement/Misc.spec.js +127 -168
  486. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  487. package/dist/parser/tests/statement/PrintStatement.spec.js +133 -114
  488. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  489. package/dist/parser/tests/statement/ReturnStatement.spec.js +57 -54
  490. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  491. package/dist/parser/tests/statement/Set.spec.js +131 -117
  492. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  493. package/dist/parser/tests/statement/Stop.spec.js +14 -13
  494. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  495. package/dist/parser/tests/statement/Throw.spec.js +11 -8
  496. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  497. package/dist/parser/tests/statement/TryCatch.spec.js +26 -15
  498. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  499. package/dist/preprocessor/Manifest.d.ts +6 -6
  500. package/dist/preprocessor/Manifest.js +17 -38
  501. package/dist/preprocessor/Manifest.js.map +1 -1
  502. package/dist/preprocessor/Manifest.spec.d.ts +1 -0
  503. package/dist/preprocessor/Manifest.spec.js +78 -103
  504. package/dist/preprocessor/Manifest.spec.js.map +1 -1
  505. package/dist/roku-types/data.json +20347 -0
  506. package/dist/roku-types/index.d.ts +5726 -0
  507. package/dist/roku-types/index.js +11 -0
  508. package/dist/roku-types/index.js.map +1 -0
  509. package/dist/types/ArrayType.d.ts +12 -5
  510. package/dist/types/ArrayType.js +89 -24
  511. package/dist/types/ArrayType.js.map +1 -1
  512. package/dist/types/ArrayType.spec.js +39 -11
  513. package/dist/types/ArrayType.spec.js.map +1 -1
  514. package/dist/types/AssociativeArrayType.d.ts +15 -0
  515. package/dist/types/AssociativeArrayType.js +64 -0
  516. package/dist/types/AssociativeArrayType.js.map +1 -0
  517. package/dist/types/BaseFunctionType.d.ts +10 -0
  518. package/dist/types/BaseFunctionType.js +26 -0
  519. package/dist/types/BaseFunctionType.js.map +1 -0
  520. package/dist/types/BooleanType.d.ts +9 -5
  521. package/dist/types/BooleanType.js +19 -8
  522. package/dist/types/BooleanType.js.map +1 -1
  523. package/dist/types/BooleanType.spec.js +10 -4
  524. package/dist/types/BooleanType.spec.js.map +1 -1
  525. package/dist/types/BscType.d.ts +41 -3
  526. package/dist/types/BscType.js +152 -0
  527. package/dist/types/BscType.js.map +1 -1
  528. package/dist/types/BscTypeKind.d.ts +28 -0
  529. package/dist/types/BscTypeKind.js +33 -0
  530. package/dist/types/BscTypeKind.js.map +1 -0
  531. package/dist/types/BuiltInInterfaceAdder.d.ts +28 -0
  532. package/dist/types/BuiltInInterfaceAdder.js +212 -0
  533. package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
  534. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +1 -0
  535. package/dist/types/BuiltInInterfaceAdder.spec.js +115 -0
  536. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -0
  537. package/dist/types/CallFuncableType.d.ts +24 -0
  538. package/dist/types/CallFuncableType.js +91 -0
  539. package/dist/types/CallFuncableType.js.map +1 -0
  540. package/dist/types/ClassType.d.ts +17 -0
  541. package/dist/types/ClassType.js +60 -0
  542. package/dist/types/ClassType.js.map +1 -0
  543. package/dist/types/ClassType.spec.d.ts +1 -0
  544. package/dist/types/ClassType.spec.js +76 -0
  545. package/dist/types/ClassType.spec.js.map +1 -0
  546. package/dist/types/ComponentType.d.ts +22 -0
  547. package/dist/types/ComponentType.js +107 -0
  548. package/dist/types/ComponentType.js.map +1 -0
  549. package/dist/types/DoubleType.d.ts +10 -5
  550. package/dist/types/DoubleType.js +21 -17
  551. package/dist/types/DoubleType.js.map +1 -1
  552. package/dist/types/DoubleType.spec.js +12 -4
  553. package/dist/types/DoubleType.spec.js.map +1 -1
  554. package/dist/types/DynamicType.d.ts +13 -5
  555. package/dist/types/DynamicType.js +26 -5
  556. package/dist/types/DynamicType.js.map +1 -1
  557. package/dist/types/DynamicType.spec.js +16 -5
  558. package/dist/types/DynamicType.spec.js.map +1 -1
  559. package/dist/types/EnumType.d.ts +42 -0
  560. package/dist/types/EnumType.js +98 -0
  561. package/dist/types/EnumType.js.map +1 -0
  562. package/dist/types/EnumType.spec.d.ts +1 -0
  563. package/dist/types/EnumType.spec.js +33 -0
  564. package/dist/types/EnumType.spec.js.map +1 -0
  565. package/dist/types/FloatType.d.ts +10 -5
  566. package/dist/types/FloatType.js +21 -17
  567. package/dist/types/FloatType.js.map +1 -1
  568. package/dist/types/FloatType.spec.js +4 -4
  569. package/dist/types/FloatType.spec.js.map +1 -1
  570. package/dist/types/FunctionType.d.ts +8 -22
  571. package/dist/types/FunctionType.js +25 -63
  572. package/dist/types/FunctionType.js.map +1 -1
  573. package/dist/types/InheritableType.d.ts +29 -0
  574. package/dist/types/InheritableType.js +173 -0
  575. package/dist/types/InheritableType.js.map +1 -0
  576. package/dist/types/InlineInterfaceType.d.ts +5 -0
  577. package/dist/types/InlineInterfaceType.js +17 -0
  578. package/dist/types/InlineInterfaceType.js.map +1 -0
  579. package/dist/types/IntegerType.d.ts +10 -5
  580. package/dist/types/IntegerType.js +21 -17
  581. package/dist/types/IntegerType.js.map +1 -1
  582. package/dist/types/IntegerType.spec.js +8 -4
  583. package/dist/types/IntegerType.spec.js.map +1 -1
  584. package/dist/types/InterfaceType.d.ts +14 -6
  585. package/dist/types/InterfaceType.js +30 -15
  586. package/dist/types/InterfaceType.js.map +1 -1
  587. package/dist/types/InterfaceType.spec.d.ts +1 -0
  588. package/dist/types/InterfaceType.spec.js +227 -0
  589. package/dist/types/InterfaceType.spec.js.map +1 -0
  590. package/dist/types/IntersectionType.d.ts +29 -0
  591. package/dist/types/IntersectionType.js +253 -0
  592. package/dist/types/IntersectionType.js.map +1 -0
  593. package/dist/types/IntersectionType.spec.d.ts +1 -0
  594. package/dist/types/IntersectionType.spec.js +150 -0
  595. package/dist/types/IntersectionType.spec.js.map +1 -0
  596. package/dist/types/InvalidType.d.ts +10 -5
  597. package/dist/types/InvalidType.js +21 -9
  598. package/dist/types/InvalidType.js.map +1 -1
  599. package/dist/types/InvalidType.spec.js +8 -4
  600. package/dist/types/InvalidType.spec.js.map +1 -1
  601. package/dist/types/LongIntegerType.d.ts +10 -5
  602. package/dist/types/LongIntegerType.js +21 -17
  603. package/dist/types/LongIntegerType.js.map +1 -1
  604. package/dist/types/LongIntegerType.spec.js +10 -4
  605. package/dist/types/LongIntegerType.spec.js.map +1 -1
  606. package/dist/types/NamespaceType.d.ts +12 -0
  607. package/dist/types/NamespaceType.js +28 -0
  608. package/dist/types/NamespaceType.js.map +1 -0
  609. package/dist/types/ObjectType.d.ts +12 -5
  610. package/dist/types/ObjectType.js +25 -8
  611. package/dist/types/ObjectType.js.map +1 -1
  612. package/dist/types/ObjectType.spec.js +3 -3
  613. package/dist/types/ObjectType.spec.js.map +1 -1
  614. package/dist/types/ReferenceType.d.ts +123 -0
  615. package/dist/types/ReferenceType.js +720 -0
  616. package/dist/types/ReferenceType.js.map +1 -0
  617. package/dist/types/ReferenceType.spec.d.ts +1 -0
  618. package/dist/types/ReferenceType.spec.js +151 -0
  619. package/dist/types/ReferenceType.spec.js.map +1 -0
  620. package/dist/types/StringType.d.ts +12 -5
  621. package/dist/types/StringType.js +23 -8
  622. package/dist/types/StringType.js.map +1 -1
  623. package/dist/types/StringType.spec.js +3 -3
  624. package/dist/types/StringType.spec.js.map +1 -1
  625. package/dist/types/TypeStatementType.d.ts +18 -0
  626. package/dist/types/TypeStatementType.js +45 -0
  627. package/dist/types/TypeStatementType.js.map +1 -0
  628. package/dist/types/TypedFunctionType.d.ts +34 -0
  629. package/dist/types/TypedFunctionType.js +147 -0
  630. package/dist/types/TypedFunctionType.js.map +1 -0
  631. package/dist/types/TypedFunctionType.spec.d.ts +1 -0
  632. package/dist/types/TypedFunctionType.spec.js +122 -0
  633. package/dist/types/TypedFunctionType.spec.js.map +1 -0
  634. package/dist/types/UninitializedType.d.ts +11 -6
  635. package/dist/types/UninitializedType.js +20 -11
  636. package/dist/types/UninitializedType.js.map +1 -1
  637. package/dist/types/UnionType.d.ts +27 -0
  638. package/dist/types/UnionType.js +193 -0
  639. package/dist/types/UnionType.js.map +1 -0
  640. package/dist/types/UnionType.spec.d.ts +1 -0
  641. package/dist/types/UnionType.spec.js +205 -0
  642. package/dist/types/UnionType.spec.js.map +1 -0
  643. package/dist/types/VoidType.d.ts +11 -5
  644. package/dist/types/VoidType.js +22 -8
  645. package/dist/types/VoidType.js.map +1 -1
  646. package/dist/types/VoidType.spec.js +3 -3
  647. package/dist/types/VoidType.spec.js.map +1 -1
  648. package/dist/types/helper.spec.d.ts +1 -0
  649. package/dist/types/helper.spec.js +174 -0
  650. package/dist/types/helper.spec.js.map +1 -0
  651. package/dist/types/helpers.d.ts +51 -0
  652. package/dist/types/helpers.js +323 -0
  653. package/dist/types/helpers.js.map +1 -0
  654. package/dist/types/index.d.ts +22 -0
  655. package/dist/types/index.js +39 -0
  656. package/dist/types/index.js.map +1 -0
  657. package/dist/types/roFunctionType.d.ts +11 -0
  658. package/dist/types/roFunctionType.js +37 -0
  659. package/dist/types/roFunctionType.js.map +1 -0
  660. package/dist/types/roFunctionType.spec.d.ts +1 -0
  661. package/dist/types/roFunctionType.spec.js +20 -0
  662. package/dist/types/roFunctionType.spec.js.map +1 -0
  663. package/dist/util.d.ts +288 -187
  664. package/dist/util.js +2018 -575
  665. package/dist/util.js.map +1 -1
  666. package/dist/validators/ClassValidator.d.ts +9 -15
  667. package/dist/validators/ClassValidator.js +93 -138
  668. package/dist/validators/ClassValidator.js.map +1 -1
  669. package/package.json +185 -138
  670. package/CHANGELOG.md +0 -1188
  671. package/dist/astUtils/index.d.ts +0 -7
  672. package/dist/astUtils/index.js +0 -26
  673. package/dist/astUtils/index.js.map +0 -1
  674. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
  675. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js +0 -63
  676. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
  677. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +0 -45
  678. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
  679. package/dist/lexer/index.d.ts +0 -3
  680. package/dist/lexer/index.js +0 -17
  681. package/dist/lexer/index.js.map +0 -1
  682. package/dist/parser/SGTypes.spec.js +0 -351
  683. package/dist/parser/SGTypes.spec.js.map +0 -1
  684. package/dist/parser/index.d.ts +0 -3
  685. package/dist/parser/index.js +0 -16
  686. package/dist/parser/index.js.map +0 -1
  687. package/dist/preprocessor/Chunk.d.ts +0 -82
  688. package/dist/preprocessor/Chunk.js +0 -77
  689. package/dist/preprocessor/Chunk.js.map +0 -1
  690. package/dist/preprocessor/Preprocessor.d.ts +0 -60
  691. package/dist/preprocessor/Preprocessor.js +0 -156
  692. package/dist/preprocessor/Preprocessor.js.map +0 -1
  693. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  694. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  695. package/dist/preprocessor/PreprocessorParser.d.ts +0 -61
  696. package/dist/preprocessor/PreprocessorParser.js +0 -194
  697. package/dist/preprocessor/PreprocessorParser.js.map +0 -1
  698. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  699. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  700. package/dist/preprocessor/index.d.ts +0 -3
  701. package/dist/preprocessor/index.js +0 -16
  702. package/dist/preprocessor/index.js.map +0 -1
  703. package/dist/types/CustomType.d.ts +0 -10
  704. package/dist/types/CustomType.js +0 -35
  705. package/dist/types/CustomType.js.map +0 -1
  706. package/dist/types/FunctionType.spec.js +0 -29
  707. package/dist/types/FunctionType.spec.js.map +0 -1
  708. package/dist/types/LazyType.d.ts +0 -15
  709. package/dist/types/LazyType.js +0 -32
  710. package/dist/types/LazyType.js.map +0 -1
  711. /package/dist/{bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts → astUtils/CachedLookups.spec.d.ts} +0 -0
  712. /package/dist/{parser/SGTypes.spec.d.ts → astUtils/Editor.spec.d.ts} +0 -0
  713. /package/dist/{preprocessor/Preprocessor.spec.d.ts → bscPlugin/completions/CompletionsProcessor.spec.d.ts} +0 -0
  714. /package/dist/{preprocessor/PreprocessorParser.spec.d.ts → bscPlugin/definition/DefinitionProvider.spec.d.ts} +0 -0
  715. /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/hover/HoverProcessor.spec.d.ts} +0 -0
@@ -5,41 +5,34 @@ const path = require("path");
5
5
  const source_map_1 = require("source-map");
6
6
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
7
7
  const util_1 = require("../util");
8
+ const util_2 = require("../util");
8
9
  const SGParser_1 = require("../parser/SGParser");
9
10
  const chalk_1 = require("chalk");
10
11
  const Cache_1 = require("../Cache");
11
12
  const CommentFlagProcessor_1 = require("../CommentFlagProcessor");
12
13
  const TranspileState_1 = require("../parser/TranspileState");
13
- const creators_1 = require("../astUtils/creators");
14
14
  class XmlFile {
15
- constructor(
16
15
  /**
17
- * The absolute path to the source file on disk (e.g. '/usr/you/projects/RokuApp/source/main.brs' or 'c:/projects/RokuApp/source/main.brs').
16
+ * Create a new instance of BrsFile
18
17
  */
19
- srcPath,
20
- /**
21
- * The full pkg path (i.e. `pkg:/path/to/file.brs`)
22
- */
23
- pkgPath, program) {
24
- this.srcPath = srcPath;
25
- this.pkgPath = pkgPath;
26
- this.program = program;
18
+ constructor(options) {
19
+ var _a;
20
+ this.type = 'XmlFile';
27
21
  this.cache = new Cache_1.Cache();
28
- this.commentFlags = [];
29
- this.diagnostics = [];
30
- this.parser = new SGParser_1.default();
31
- //TODO implement the xml CDATA parsing, which would populate this list
32
- this.callables = [];
33
- //TODO implement the xml CDATA parsing, which would populate this list
34
- this.functionCalls = [];
35
- /**
36
- * Does this file need to be transpiled?
37
- */
38
- this.needsTranspiled = false;
39
22
  /**
40
23
  * Indicates whether this file needs to be validated.
24
+ * Files are only ever validated a single time
41
25
  */
42
26
  this.isValidated = false;
27
+ this.commentFlags = [];
28
+ /**
29
+ * Will this file result in only comment or whitespace output? If so, it can be excluded from the output if that bsconfig setting is enabled.
30
+ */
31
+ this.canBePruned = false;
32
+ this.parser = new SGParser_1.default();
33
+ //TODO implement the xml CDATA parsing, which would populate this list
34
+ this.callables = [];
35
+ this.functionScopes = [];
43
36
  /**
44
37
  * A slight hack. Gives the Program a way to support multiple components with the same name
45
38
  * without causing major issues. A value of 0 will be ignored as part of the dependency graph key.
@@ -48,11 +41,37 @@ class XmlFile {
48
41
  * have the following dependency graph keys: ["component:CustomGrid", "component:CustomGrid[1]", "component:CustomGrid[2]"]
49
42
  */
50
43
  this.dependencyGraphIndex = -1;
51
- this.extension = path.extname(srcPath).toLowerCase();
52
- this.possibleCodebehindPkgPaths = [
53
- this.pkgPath.replace('.xml', '.bs'),
54
- this.pkgPath.replace('.xml', '.brs')
55
- ];
44
+ if (options) {
45
+ this.srcPath = (0, util_2.standardizePath) `${options.srcPath}`;
46
+ this.destPath = (0, util_2.standardizePath) `${options.destPath}`;
47
+ this.pkgPath = (0, util_2.standardizePath) `${(_a = options.pkgPath) !== null && _a !== void 0 ? _a : options.destPath}`;
48
+ this.program = options.program;
49
+ this.extension = path.extname(this.srcPath).toLowerCase();
50
+ this.possibleCodebehindDestPaths = [
51
+ this.pkgPath.replace(/\.xml$/, '.bs'),
52
+ this.pkgPath.replace(/\.xml$/, '.brs')
53
+ ];
54
+ }
55
+ }
56
+ /**
57
+ * The absolute path to the source location for this file
58
+ * @deprecated use `srcPath` instead
59
+ */
60
+ get pathAbsolute() {
61
+ return this.srcPath;
62
+ }
63
+ set pathAbsolute(value) {
64
+ this.srcPath = value;
65
+ }
66
+ /**
67
+ * The list of possible autoImport codebehind pkg paths.
68
+ * @deprecated use `possibleCodebehindDestPaths` instead.
69
+ */
70
+ get possibleCodebehindPkgPaths() {
71
+ return this.possibleCodebehindDestPaths;
72
+ }
73
+ set possibleCodebehindPkgPaths(value) {
74
+ this.possibleCodebehindDestPaths = value;
56
75
  }
57
76
  /**
58
77
  * The list of script imports delcared in the XML of this file.
@@ -63,7 +82,7 @@ class XmlFile {
63
82
  .map(tag => (Object.assign(Object.assign({}, tag), { sourceFile: this })));
64
83
  }
65
84
  /**
66
- * List of all pkgPaths to scripts that this XmlFile depends, regardless of whether they are loaded in the program or not.
85
+ * List of all `destPath` values pointing to scripts that this XmlFile depends on, regardless of whether they are loaded in the program or not.
67
86
  * This includes own dependencies and all parent compoent dependencies
68
87
  * coming from:
69
88
  * - script tags
@@ -77,7 +96,7 @@ class XmlFile {
77
96
  });
78
97
  }
79
98
  /**
80
- * List of all pkgPaths to scripts that this XmlFile depends on directly, regardless of whether they are loaded in the program or not.
99
+ * List of all destPaths to scripts that this XmlFile depends on directly, regardless of whether they are loaded in the program or not.
81
100
  * This does not account for parent component scripts
82
101
  * coming from:
83
102
  * - script tags
@@ -91,7 +110,7 @@ class XmlFile {
91
110
  });
92
111
  }
93
112
  /**
94
- * List of all pkgPaths to scripts that this XmlFile depends on that are actually loaded into the program.
113
+ * List of all destPaths to scripts that this XmlFile depends on that are actually loaded into the program.
95
114
  * This does not account for parent component scripts.
96
115
  * coming from:
97
116
  * - script tags
@@ -104,19 +123,49 @@ class XmlFile {
104
123
  //skip typedef files
105
124
  .filter(x => util_1.default.getExtension(x) !== '.d.bs');
106
125
  let result = [];
107
- let filesInProgram = allDependencies.map(x => this.program.getFile(x)).filter(file => file !== undefined);
126
+ let filesInProgram = this.program.getFiles(allDependencies);
108
127
  for (let file of filesInProgram) {
109
- result.push(file.pkgPath);
128
+ result.push(file.destPath);
110
129
  }
111
130
  this.logDebug('computed allAvailableScriptImports', () => result);
112
131
  return result;
113
132
  });
114
133
  }
115
- getDiagnostics() {
116
- return [...this.diagnostics];
117
- }
118
- addDiagnostics(diagnostics) {
119
- this.diagnostics.push(...diagnostics);
134
+ get requiredSymbols() {
135
+ return this.cache.getOrAdd(`requiredSymbols`, () => {
136
+ var _a, _b, _c, _d, _e, _f;
137
+ this.program.logger.debug('Getting required symbols', this.srcPath);
138
+ const requiredSymbols = [];
139
+ const allInterfaceFunctions = (_c = (_b = (_a = this.parser.ast.componentElement) === null || _a === void 0 ? void 0 : _a.interfaceElement) === null || _b === void 0 ? void 0 : _b.getElementsByTagName('function')) !== null && _c !== void 0 ? _c : [];
140
+ for (const node of allInterfaceFunctions) {
141
+ if (node.name) {
142
+ requiredSymbols.push({
143
+ flags: 1 /* SymbolTypeFlag.runtime */,
144
+ file: this,
145
+ name: node.name.toLowerCase()
146
+ });
147
+ }
148
+ }
149
+ const allInterfaceFields = (_f = (_e = (_d = this.parser.ast.componentElement) === null || _d === void 0 ? void 0 : _d.interfaceElement) === null || _e === void 0 ? void 0 : _e.getElementsByTagName('field')) !== null && _f !== void 0 ? _f : [];
150
+ for (const node of allInterfaceFields) {
151
+ if (node.onChange) {
152
+ requiredSymbols.push({
153
+ flags: 1 /* SymbolTypeFlag.runtime */,
154
+ file: this,
155
+ name: node.onChange.toLowerCase()
156
+ });
157
+ }
158
+ // TODO: when we can specify proper types in fields, add those types too:
159
+ //if (node.type && isCustomXmlType(node.type)) {
160
+ // requiredSymbols.push({
161
+ // flags: SymbolTypeFlag.typetime,
162
+ // file: this,
163
+ // name: node.type.toLowerCase()
164
+ // });
165
+ //}
166
+ }
167
+ return requiredSymbols;
168
+ });
120
169
  }
121
170
  /**
122
171
  * The name of the component that this component extends.
@@ -134,6 +183,20 @@ class XmlFile {
134
183
  var _a;
135
184
  return (_a = this.parser) === null || _a === void 0 ? void 0 : _a.references.name;
136
185
  }
186
+ /**
187
+ * Does this file need to be transpiled?
188
+ * @deprecated use the `.editor` property to push changes to the file, which will force transpilation
189
+ */
190
+ get needsTranspiled() {
191
+ var _a, _b, _c;
192
+ if (this._needsTranspiled !== undefined) {
193
+ return this._needsTranspiled;
194
+ }
195
+ return !!(((_a = this.editor) === null || _a === void 0 ? void 0 : _a.hasChanges) || ((_c = (_b = this.ast.componentElement) === null || _b === void 0 ? void 0 : _b.scriptElements) === null || _c === void 0 ? void 0 : _c.some(script => { var _a, _b; return ((_a = script.type) === null || _a === void 0 ? void 0 : _a.indexOf('brighterscript')) > 0 || ((_b = script.uri) === null || _b === void 0 ? void 0 : _b.endsWith('.bs')); })));
196
+ }
197
+ set needsTranspiled(value) {
198
+ this._needsTranspiled = value;
199
+ }
137
200
  /**
138
201
  * The AST for this file
139
202
  */
@@ -142,19 +205,35 @@ class XmlFile {
142
205
  }
143
206
  /**
144
207
  * Calculate the AST for this file
145
- * @param fileContents
208
+ * @param fileContents the xml source code to parse
146
209
  */
147
210
  parse(fileContents) {
211
+ var _a;
148
212
  this.fileContents = fileContents;
149
- this.parser.parse(this.pkgPath, fileContents);
150
- this.diagnostics = this.parser.diagnostics.map(diagnostic => (Object.assign(Object.assign({}, diagnostic), { file: this })));
213
+ this.parser.parse(fileContents, {
214
+ srcPath: this.srcPath,
215
+ destPath: this.destPath
216
+ });
217
+ (_a = this.program) === null || _a === void 0 ? void 0 : _a.diagnostics.register(this.parser.diagnostics);
151
218
  this.getCommentFlags(this.parser.tokens);
152
219
  }
220
+ /**
221
+ * Generate the code, map, and typedef for this file
222
+ */
223
+ serialize() {
224
+ var _a;
225
+ const result = this.transpile();
226
+ return {
227
+ code: result === null || result === void 0 ? void 0 : result.code,
228
+ map: (_a = result === null || result === void 0 ? void 0 : result.map) === null || _a === void 0 ? void 0 : _a.toString()
229
+ };
230
+ }
153
231
  /**
154
232
  * Collect all bs: comment flags
155
233
  */
156
234
  getCommentFlags(tokens) {
157
- const processor = new CommentFlagProcessor_1.CommentFlagProcessor(this, ['<!--'], DiagnosticMessages_1.diagnosticCodes, [DiagnosticMessages_1.DiagnosticCodeMap.unknownDiagnosticCode]);
235
+ var _a;
236
+ const processor = new CommentFlagProcessor_1.CommentFlagProcessor(this, ['<!--'], DiagnosticMessages_1.diagnosticCodes, [DiagnosticMessages_1.DiagnosticCodeMap.unknownDiagnosticCode, DiagnosticMessages_1.DiagnosticLegacyCodeMap.unknownDiagnosticCode]);
158
237
  this.commentFlags = [];
159
238
  for (let token of tokens) {
160
239
  if (token.tokenType.name === 'Comment') {
@@ -166,60 +245,34 @@ class XmlFile {
166
245
  }
167
246
  }
168
247
  this.commentFlags.push(...processor.commentFlags);
169
- this.diagnostics.push(...processor.diagnostics);
170
- }
171
- validate() {
172
- //initial validation
173
- this.validateComponent(this.parser.ast);
174
- }
175
- validateComponent(ast) {
176
- const { root, component } = ast;
177
- if (!component) {
178
- //not a SG component
179
- this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlComponentMissingComponentDeclaration()), { range: root.range, file: this }));
180
- return;
181
- }
182
- //component name/extends
183
- if (!component.name) {
184
- this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlComponentMissingNameAttribute()), { range: component.tokens.startTagName.range, file: this }));
185
- }
186
- if (!component.extends) {
187
- this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlComponentMissingExtendsAttribute()), { range: component.tokens.startTagName.range, file: this }));
188
- }
189
- //needsTranspiled should be true if an import is brighterscript
190
- this.needsTranspiled = this.needsTranspiled || component.scripts.some(script => { var _a, _b; return ((_a = script.type) === null || _a === void 0 ? void 0 : _a.indexOf('brighterscript')) > 0 || ((_b = script.uri) === null || _b === void 0 ? void 0 : _b.endsWith('.bs')); });
191
- //catch script imports with same path as the auto-imported codebehind file
192
- const scriptTagImports = this.parser.references.scriptTagImports;
193
- let explicitCodebehindScriptTag = this.program.options.autoImportComponentScript === true
194
- ? scriptTagImports.find(x => this.possibleCodebehindPkgPaths.includes(x.pkgPath))
195
- : undefined;
196
- if (explicitCodebehindScriptTag) {
197
- this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.unnecessaryCodebehindScriptImport()), { file: this, range: explicitCodebehindScriptTag.filePathRange }));
198
- }
248
+ (_a = this.program) === null || _a === void 0 ? void 0 : _a.diagnostics.register(processor.diagnostics);
249
+ }
250
+ onDependenciesChanged(event) {
251
+ this.logDebug('clear cache because dependency graph changed', event === null || event === void 0 ? void 0 : event.sourceKey);
252
+ this.cache.clear();
199
253
  }
200
254
  /**
201
255
  * Attach the file to the dependency graph so it can monitor changes.
202
256
  * Also notify the dependency graph of our current dependencies so other dependents can be notified.
257
+ * @deprecated this does nothing. This functionality is now handled by the file api and will be deleted in v1
203
258
  */
204
259
  attachDependencyGraph(dependencyGraph) {
205
260
  this.dependencyGraph = dependencyGraph;
206
- if (this.unsubscribeFromDependencyGraph) {
207
- this.unsubscribeFromDependencyGraph();
208
- }
209
- //anytime a dependency changes, clean up some cached values
210
- this.unsubscribeFromDependencyGraph = dependencyGraph.onchange(this.dependencyGraphKey, () => {
211
- this.logDebug('clear cache because dependency graph changed');
212
- this.cache.clear();
213
- });
214
- let dependencies = [
215
- ...this.scriptTagImports.map(x => x.pkgPath.toLowerCase())
261
+ }
262
+ /**
263
+ * The list of files that this file depends on
264
+ */
265
+ get dependencies() {
266
+ var _a, _b;
267
+ const dependencies = [
268
+ ...this.scriptTagImports.map(x => x.destPath.toLowerCase())
216
269
  ];
217
270
  //if autoImportComponentScript is enabled, add the .bs and .brs files with the same name
218
- if (this.program.options.autoImportComponentScript) {
271
+ if ((_b = (_a = this.program) === null || _a === void 0 ? void 0 : _a.options) === null || _b === void 0 ? void 0 : _b.autoImportComponentScript) {
219
272
  dependencies.push(
220
273
  //add the codebehind file dependencies.
221
274
  //These are kind of optional, so it doesn't hurt to just add both extension versions
222
- this.pkgPath.replace(/\.xml$/i, '.bs').toLowerCase(), this.pkgPath.replace(/\.xml$/i, '.brs').toLowerCase());
275
+ this.destPath.replace(/\.xml$/i, '.bs').toLowerCase(), this.destPath.replace(/\.xml$/i, '.brs').toLowerCase());
223
276
  }
224
277
  const len = dependencies.length;
225
278
  for (let i = 0; i < len; i++) {
@@ -232,12 +285,12 @@ class XmlFile {
232
285
  if (this.parentComponentName) {
233
286
  dependencies.push(this.parentComponentDependencyGraphKey);
234
287
  }
235
- this.dependencyGraph.addOrReplace(this.dependencyGraphKey, dependencies);
288
+ return dependencies;
236
289
  }
237
290
  /**
238
291
  * The key used in the dependency graph for this file.
239
292
  * If we have a component name, we will use that so we can be discoverable by child components.
240
- * If we don't have a component name, use the pkgPath so at least we can self-validate
293
+ * If we don't have a component name, use the destPath so at least we can self-validate
241
294
  */
242
295
  get dependencyGraphKey() {
243
296
  let key;
@@ -245,7 +298,7 @@ class XmlFile {
245
298
  key = `component:${this.componentName.text}`.toLowerCase();
246
299
  }
247
300
  else {
248
- key = this.pkgPath.toLowerCase();
301
+ key = this.destPath.toLowerCase();
249
302
  }
250
303
  //if our index is not zero, then we are not the primary component with that name, and need to
251
304
  //append our index to the dependency graph key as to prevent collisions in the program.
@@ -254,6 +307,9 @@ class XmlFile {
254
307
  }
255
308
  return key;
256
309
  }
310
+ set dependencyGraphKey(value) {
311
+ //do nothing, we override this value in the getter
312
+ }
257
313
  /**
258
314
  * The key used in the dependency graph for this component's parent.
259
315
  * If we have aparent, we will use that. If we don't, this will return undefined
@@ -268,60 +324,41 @@ class XmlFile {
268
324
  }
269
325
  /**
270
326
  * Determines if this xml file has a reference to the specified file (or if it's itself)
271
- * @param file
272
327
  */
273
328
  doesReferenceFile(file) {
274
- return this.cache.getOrAdd(`doesReferenceFile: ${file.pkgPath}`, () => {
329
+ return this.cache.getOrAdd(`doesReferenceFile: ${file.destPath}`, () => {
275
330
  if (file === this) {
276
331
  return true;
277
332
  }
278
333
  let allDependencies = this.getOwnDependencies();
279
- for (let importPkgPath of allDependencies) {
280
- if (importPkgPath.toLowerCase() === file.pkgPath.toLowerCase()) {
334
+ for (let destPath of allDependencies) {
335
+ if (destPath.toLowerCase() === file.destPath.toLowerCase()) {
281
336
  return true;
282
337
  }
283
338
  }
284
339
  //if this is an xml file...do we extend the component it defines?
285
- if (path.extname(file.pkgPath).toLowerCase() === '.xml') {
340
+ if (path.extname(file.destPath).toLowerCase() === '.xml') {
286
341
  //didn't find any script imports for this file
287
342
  return false;
288
343
  }
289
344
  return false;
290
345
  });
291
346
  }
292
- /**
293
- * Get all available completions for the specified position
294
- * @param lineIndex
295
- * @param columnIndex
296
- */
297
- getCompletions(position) {
298
- let scriptImport = util_1.default.getScriptImportAtPosition(this.scriptTagImports, position);
299
- if (scriptImport) {
300
- return this.program.getScriptImportCompletions(this.pkgPath, scriptImport);
301
- }
302
- else {
303
- return [];
304
- }
305
- }
306
347
  /**
307
348
  * Get the parent component (the component this component extends)
308
349
  */
309
350
  get parentComponent() {
310
- return this.cache.getOrAdd('parent', () => {
311
- var _a, _b, _c;
312
- return (_c = (_b = this.program.getComponent((_a = this.parentComponentName) === null || _a === void 0 ? void 0 : _a.text)) === null || _b === void 0 ? void 0 : _b.file) !== null && _c !== void 0 ? _c : null;
351
+ const result = this.cache.getOrAdd('parent', () => {
352
+ var _a, _b;
353
+ return (_b = this.program.getComponent((_a = this.parentComponentName) === null || _a === void 0 ? void 0 : _a.text)) === null || _b === void 0 ? void 0 : _b.file;
313
354
  });
314
- }
315
- getHover(position) {
316
- //TODO implement
317
- // let result = {} as Hover;
318
- return null;
355
+ return result;
319
356
  }
320
357
  getReferences(position) {
321
358
  //TODO implement
322
359
  return null;
323
360
  }
324
- getFunctionExpressionAtPosition(position, functionExpressions) {
361
+ getFunctionScopeAtPosition(position, functionScopes) {
325
362
  //TODO implement
326
363
  return null;
327
364
  }
@@ -355,13 +392,13 @@ class XmlFile {
355
392
  //add the bslib path to ownImports, it'll get filtered down below
356
393
  ownImports.push(this.program.bslibPkgPath);
357
394
  let parentImports = (_b = (_a = this.parentComponent) === null || _a === void 0 ? void 0 : _a.getAvailableScriptImports()) !== null && _b !== void 0 ? _b : [];
358
- let parentMap = parentImports.reduce((map, pkgPath) => {
359
- map[pkgPath.toLowerCase()] = true;
395
+ let parentMap = parentImports.reduce((map, destPath) => {
396
+ map[destPath.toLowerCase()] = true;
360
397
  return map;
361
398
  }, {});
362
399
  //if the XML already has this import, skip this one
363
400
  let alreadyThereScriptImportMap = this.scriptTagImports.reduce((map, fileReference) => {
364
- map[fileReference.pkgPath.toLowerCase()] = true;
401
+ map[fileReference.destPath.toLowerCase()] = true;
365
402
  return map;
366
403
  }, {});
367
404
  let resultMap = {};
@@ -382,30 +419,17 @@ class XmlFile {
382
419
  return result;
383
420
  }
384
421
  logDebug(...args) {
385
- this.program.logger.debug('XmlFile', chalk_1.default.green(this.pkgPath), ...args);
422
+ var _a, _b;
423
+ (_b = (_a = this.program) === null || _a === void 0 ? void 0 : _a.logger) === null || _b === void 0 ? void 0 : _b.debug('XmlFile', chalk_1.default.green(this.destPath), ...args);
386
424
  }
387
425
  /**
388
426
  * Convert the brightscript/brighterscript source code into valid brightscript
389
427
  */
390
428
  transpile() {
391
429
  const state = new TranspileState_1.TranspileState(this.srcPath, this.program.options);
392
- const extraImportScripts = this.getMissingImportsForTranspile().map(uri => {
393
- return creators_1.createSGScript({
394
- type: 'text/brightscript',
395
- uri: util_1.default.sanitizePkgPath(uri.replace(/\.bs$/, '.brs'))
396
- });
397
- });
398
430
  let transpileResult;
399
- if (this.needsTranspiled || extraImportScripts.length > 0) {
400
- //temporarily add the missing imports as script tags
401
- for (const script of extraImportScripts) {
402
- this.ast.component.addChild(script);
403
- }
404
- transpileResult = new source_map_1.SourceNode(null, null, state.srcPath, this.parser.ast.transpile(state));
405
- //remove the extra script imports
406
- for (const script of extraImportScripts) {
407
- this.ast.component.removeChild(script);
408
- }
431
+ if (this.needsTranspiled) {
432
+ transpileResult = util_1.default.sourceNodeFromTranspileResult(null, null, state.srcPath, this.parser.ast.transpile(state));
409
433
  }
410
434
  else if (this.program.options.sourceMap) {
411
435
  //emit code as-is with a simple map to the original file location
@@ -431,9 +455,9 @@ class XmlFile {
431
455
  }
432
456
  }
433
457
  dispose() {
434
- if (this.unsubscribeFromDependencyGraph) {
435
- this.unsubscribeFromDependencyGraph();
436
- }
458
+ var _a;
459
+ //unsubscribe from any DependencyGraph subscriptions
460
+ (_a = this.unsubscribeFromDependencyGraph) === null || _a === void 0 ? void 0 : _a.call(this);
437
461
  }
438
462
  }
439
463
  exports.XmlFile = XmlFile;
@@ -1 +1 @@
1
- {"version":3,"file":"XmlFile.js","sourceRoot":"","sources":["../../src/files/XmlFile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"XmlFile.js","sourceRoot":"","sources":["../../src/files/XmlFile.ts"],"names":[],"mappings":"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"}