brighterscript 1.0.0-alpha.50 → 1.0.0-alpha.51

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 (482) hide show
  1. package/README.md +3 -0
  2. package/bsconfig.schema.json +75 -0
  3. package/dist/BsConfig.d.ts +90 -5
  4. package/dist/CodeActionUtil.d.ts +17 -0
  5. package/dist/CodeActionUtil.js.map +1 -1
  6. package/dist/CommentFlagProcessor.d.ts +16 -12
  7. package/dist/CommentFlagProcessor.js +141 -59
  8. package/dist/CommentFlagProcessor.js.map +1 -1
  9. package/dist/CrossScopeValidator.js +13 -5
  10. package/dist/CrossScopeValidator.js.map +1 -1
  11. package/dist/DiagnosticManager.d.ts +1 -0
  12. package/dist/DiagnosticManager.js +25 -9
  13. package/dist/DiagnosticManager.js.map +1 -1
  14. package/dist/DiagnosticMessages.d.ts +61 -17
  15. package/dist/DiagnosticMessages.js +78 -24
  16. package/dist/DiagnosticMessages.js.map +1 -1
  17. package/dist/LanguageServer.d.ts +39 -2
  18. package/dist/LanguageServer.js +142 -5
  19. package/dist/LanguageServer.js.map +1 -1
  20. package/dist/Program.d.ts +62 -1
  21. package/dist/Program.js +185 -13
  22. package/dist/Program.js.map +1 -1
  23. package/dist/ProgramBuilder.d.ts +1 -8
  24. package/dist/ProgramBuilder.js +31 -11
  25. package/dist/ProgramBuilder.js.map +1 -1
  26. package/dist/Scope.d.ts +87 -6
  27. package/dist/Scope.js +76 -31
  28. package/dist/Scope.js.map +1 -1
  29. package/dist/ScopeNamespaceLookup.d.ts +73 -0
  30. package/dist/ScopeNamespaceLookup.js +242 -0
  31. package/dist/ScopeNamespaceLookup.js.map +1 -0
  32. package/dist/SymbolTable.d.ts +9 -2
  33. package/dist/SymbolTable.js +24 -14
  34. package/dist/SymbolTable.js.map +1 -1
  35. package/dist/astUtils/CachedLookups.js +3 -0
  36. package/dist/astUtils/CachedLookups.js.map +1 -1
  37. package/dist/astUtils/reflection.d.ts +4 -1
  38. package/dist/astUtils/reflection.js +24 -4
  39. package/dist/astUtils/reflection.js.map +1 -1
  40. package/dist/astUtils/visitors.d.ts +2 -1
  41. package/dist/astUtils/visitors.js.map +1 -1
  42. package/dist/bscPlugin/BscPlugin.d.ts +4 -2
  43. package/dist/bscPlugin/BscPlugin.js +10 -2
  44. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  45. package/dist/bscPlugin/CallExpressionInfo.d.ts +1 -1
  46. package/dist/bscPlugin/CallExpressionInfo.js +1 -2
  47. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  48. package/dist/bscPlugin/FileWriter.d.ts +13 -0
  49. package/dist/bscPlugin/FileWriter.js +56 -1
  50. package/dist/bscPlugin/FileWriter.js.map +1 -1
  51. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +106 -5
  52. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +630 -126
  53. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  54. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
  55. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
  56. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
  57. package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
  58. package/dist/bscPlugin/codeActions/codeActionHelpers.js +31 -0
  59. package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
  60. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
  61. package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
  62. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  63. package/dist/bscPlugin/definition/DefinitionProvider.js +8 -0
  64. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
  65. package/dist/bscPlugin/hover/HoverProcessor.js +11 -3
  66. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  67. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
  68. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +77 -0
  69. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
  70. package/dist/bscPlugin/serialize/FileSerializer.d.ts +1 -1
  71. package/dist/bscPlugin/serialize/FileSerializer.js +12 -7
  72. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -1
  73. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +7 -0
  74. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +87 -1
  75. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  76. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
  77. package/dist/bscPlugin/validation/BrsFileValidator.js +97 -21
  78. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  79. package/dist/bscPlugin/validation/ScopeValidator.d.ts +17 -0
  80. package/dist/bscPlugin/validation/ScopeValidator.js +162 -4
  81. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  82. package/dist/bscPlugin/validation/XmlFileValidator.js +14 -0
  83. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  84. package/dist/cli.js +13 -0
  85. package/dist/cli.js.map +1 -1
  86. package/dist/diagnosticUtils.d.ts +51 -1
  87. package/dist/diagnosticUtils.js +222 -1
  88. package/dist/diagnosticUtils.js.map +1 -1
  89. package/dist/files/BrsFile.d.ts +18 -2
  90. package/dist/files/BrsFile.js +87 -6
  91. package/dist/files/BrsFile.js.map +1 -1
  92. package/dist/files/XmlFile.js +2 -1
  93. package/dist/files/XmlFile.js.map +1 -1
  94. package/dist/interfaces.d.ts +68 -23
  95. package/dist/interfaces.js.map +1 -1
  96. package/dist/lexer/Lexer.js +4 -5
  97. package/dist/lexer/Lexer.js.map +1 -1
  98. package/dist/lexer/Token.d.ts +1 -1
  99. package/dist/lexer/TokenKind.d.ts +8 -0
  100. package/dist/lexer/TokenKind.js +21 -1
  101. package/dist/lexer/TokenKind.js.map +1 -1
  102. package/dist/lsp/LspProject.d.ts +49 -1
  103. package/dist/lsp/Project.d.ts +33 -1
  104. package/dist/lsp/Project.js +129 -4
  105. package/dist/lsp/Project.js.map +1 -1
  106. package/dist/lsp/ProjectManager.d.ts +48 -2
  107. package/dist/lsp/ProjectManager.js +152 -9
  108. package/dist/lsp/ProjectManager.js.map +1 -1
  109. package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
  110. package/dist/lsp/worker/WorkerThreadProject.js +16 -0
  111. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  112. package/dist/parser/AstNode.d.ts +3 -1
  113. package/dist/parser/AstNode.js +2 -0
  114. package/dist/parser/AstNode.js.map +1 -1
  115. package/dist/parser/Expression.d.ts +54 -5
  116. package/dist/parser/Expression.js +112 -7
  117. package/dist/parser/Expression.js.map +1 -1
  118. package/dist/parser/Parser.d.ts +24 -1
  119. package/dist/parser/Parser.js +180 -41
  120. package/dist/parser/Parser.js.map +1 -1
  121. package/dist/parser/SGParser.d.ts +1 -0
  122. package/dist/parser/SGParser.js +9 -0
  123. package/dist/parser/SGParser.js.map +1 -1
  124. package/dist/parser/Statement.d.ts +6 -1
  125. package/dist/parser/Statement.js +22 -14
  126. package/dist/parser/Statement.js.map +1 -1
  127. package/dist/parser/TranspileState.d.ts +4 -2
  128. package/dist/parser/TranspileState.js +10 -4
  129. package/dist/parser/TranspileState.js.map +1 -1
  130. package/dist/roku-types/data.json +210 -3
  131. package/dist/types/ArrayType.js +6 -1
  132. package/dist/types/ArrayType.js.map +1 -1
  133. package/dist/types/BooleanType.js +1 -1
  134. package/dist/types/BooleanType.js.map +1 -1
  135. package/dist/types/CallFuncableType.d.ts +1 -1
  136. package/dist/types/ClassType.js +3 -0
  137. package/dist/types/ClassType.js.map +1 -1
  138. package/dist/types/ComponentType.js +3 -0
  139. package/dist/types/ComponentType.js.map +1 -1
  140. package/dist/types/EnumType.js +3 -0
  141. package/dist/types/EnumType.js.map +1 -1
  142. package/dist/types/IntersectionType.js +3 -0
  143. package/dist/types/IntersectionType.js.map +1 -1
  144. package/dist/types/ReferenceType.js +6 -0
  145. package/dist/types/ReferenceType.js.map +1 -1
  146. package/dist/types/TypeStatementType.d.ts +1 -0
  147. package/dist/types/TypeStatementType.js +12 -1
  148. package/dist/types/TypeStatementType.js.map +1 -1
  149. package/dist/types/TypedFunctionType.js +20 -10
  150. package/dist/types/TypedFunctionType.js.map +1 -1
  151. package/dist/types/UnionType.js +3 -0
  152. package/dist/types/UnionType.js.map +1 -1
  153. package/dist/types/helpers.js +6 -0
  154. package/dist/types/helpers.js.map +1 -1
  155. package/dist/util.d.ts +42 -3
  156. package/dist/util.js +131 -7
  157. package/dist/util.js.map +1 -1
  158. package/package.json +24 -26
  159. package/dist/astUtils/CachedLookups.spec.d.ts +0 -1
  160. package/dist/astUtils/CachedLookups.spec.js +0 -39
  161. package/dist/astUtils/CachedLookups.spec.js.map +0 -1
  162. package/dist/astUtils/Editor.spec.d.ts +0 -1
  163. package/dist/astUtils/Editor.spec.js +0 -258
  164. package/dist/astUtils/Editor.spec.js.map +0 -1
  165. package/dist/astUtils/creators.spec.d.ts +0 -1
  166. package/dist/astUtils/creators.spec.js +0 -21
  167. package/dist/astUtils/creators.spec.js.map +0 -1
  168. package/dist/astUtils/reflection.spec.d.ts +0 -1
  169. package/dist/astUtils/reflection.spec.js +0 -392
  170. package/dist/astUtils/reflection.spec.js.map +0 -1
  171. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  172. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  173. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  174. package/dist/astUtils/visitors.spec.d.ts +0 -1
  175. package/dist/astUtils/visitors.spec.js +0 -1432
  176. package/dist/astUtils/visitors.spec.js.map +0 -1
  177. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  178. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -311
  179. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  180. package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +0 -1
  181. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -2512
  182. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
  183. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  184. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -87
  185. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  186. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  187. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -991
  188. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  189. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  190. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  191. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  192. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  193. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -564
  194. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  195. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +0 -1
  196. package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -33
  197. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
  198. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  199. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -291
  200. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  201. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  202. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  203. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  204. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +0 -1
  205. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -75
  206. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
  207. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  208. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -1517
  209. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  210. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +0 -1
  211. package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -6135
  212. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
  213. package/dist/common/Sequencer.spec.d.ts +0 -1
  214. package/dist/common/Sequencer.spec.js +0 -75
  215. package/dist/common/Sequencer.spec.js.map +0 -1
  216. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  217. package/dist/files/BrsFile.Class.spec.js +0 -2035
  218. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  219. package/dist/files/BrsFile.spec.d.ts +0 -1
  220. package/dist/files/BrsFile.spec.js +0 -5848
  221. package/dist/files/BrsFile.spec.js.map +0 -1
  222. package/dist/files/LazyFileData.spec.d.ts +0 -1
  223. package/dist/files/LazyFileData.spec.js +0 -27
  224. package/dist/files/LazyFileData.spec.js.map +0 -1
  225. package/dist/files/XmlFile.spec.d.ts +0 -1
  226. package/dist/files/XmlFile.spec.js +0 -1173
  227. package/dist/files/XmlFile.spec.js.map +0 -1
  228. package/dist/files/tests/imports.spec.d.ts +0 -1
  229. package/dist/files/tests/imports.spec.js +0 -251
  230. package/dist/files/tests/imports.spec.js.map +0 -1
  231. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  232. package/dist/files/tests/optionalChaning.spec.js +0 -152
  233. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  234. package/dist/lexer/Character.spec.d.ts +0 -1
  235. package/dist/lexer/Character.spec.js +0 -27
  236. package/dist/lexer/Character.spec.js.map +0 -1
  237. package/dist/lexer/Lexer.spec.d.ts +0 -1
  238. package/dist/lexer/Lexer.spec.js +0 -1345
  239. package/dist/lexer/Lexer.spec.js.map +0 -1
  240. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  241. package/dist/lsp/ActionQueue.spec.js +0 -80
  242. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  243. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  244. package/dist/lsp/DocumentManager.spec.js +0 -103
  245. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  246. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  247. package/dist/lsp/PathFilterer.spec.js +0 -182
  248. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  249. package/dist/lsp/Project.spec.d.ts +0 -1
  250. package/dist/lsp/Project.spec.js +0 -267
  251. package/dist/lsp/Project.spec.js.map +0 -1
  252. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  253. package/dist/lsp/ProjectManager.spec.js +0 -913
  254. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  255. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  256. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  257. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  258. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  259. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  260. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  261. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  262. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -71
  263. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  264. package/dist/parser/AstNode.spec.d.ts +0 -1
  265. package/dist/parser/AstNode.spec.js +0 -1455
  266. package/dist/parser/AstNode.spec.js.map +0 -1
  267. package/dist/parser/BrightScriptDocParser.spec.d.ts +0 -1
  268. package/dist/parser/BrightScriptDocParser.spec.js +0 -310
  269. package/dist/parser/BrightScriptDocParser.spec.js.map +0 -1
  270. package/dist/parser/Expression.spec.d.ts +0 -1
  271. package/dist/parser/Expression.spec.js +0 -40
  272. package/dist/parser/Expression.spec.js.map +0 -1
  273. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  274. package/dist/parser/Parser.Class.spec.js +0 -520
  275. package/dist/parser/Parser.Class.spec.js.map +0 -1
  276. package/dist/parser/Parser.spec.d.ts +0 -6
  277. package/dist/parser/Parser.spec.js +0 -2802
  278. package/dist/parser/Parser.spec.js.map +0 -1
  279. package/dist/parser/SGParser.spec.d.ts +0 -1
  280. package/dist/parser/SGParser.spec.js +0 -130
  281. package/dist/parser/SGParser.spec.js.map +0 -1
  282. package/dist/parser/Statement.spec.d.ts +0 -1
  283. package/dist/parser/Statement.spec.js +0 -191
  284. package/dist/parser/Statement.spec.js.map +0 -1
  285. package/dist/parser/tests/Parser.spec.d.ts +0 -12
  286. package/dist/parser/tests/Parser.spec.js +0 -29
  287. package/dist/parser/tests/Parser.spec.js.map +0 -1
  288. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  289. package/dist/parser/tests/controlFlow/For.spec.js +0 -169
  290. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  291. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  292. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -140
  293. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  294. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  295. package/dist/parser/tests/controlFlow/If.spec.js +0 -694
  296. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  297. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  298. package/dist/parser/tests/controlFlow/While.spec.js +0 -114
  299. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  300. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  301. package/dist/parser/tests/expression/Additive.spec.js +0 -107
  302. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  303. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  304. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -304
  305. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  306. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  307. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -342
  308. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  309. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  310. package/dist/parser/tests/expression/Boolean.spec.js +0 -90
  311. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  312. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  313. package/dist/parser/tests/expression/Call.spec.js +0 -252
  314. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  315. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  316. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  317. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  318. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  319. package/dist/parser/tests/expression/Function.spec.js +0 -412
  320. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  321. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  322. package/dist/parser/tests/expression/Indexing.spec.js +0 -302
  323. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  324. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  325. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  326. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  327. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  328. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  329. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  330. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  331. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -111
  332. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  333. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  334. package/dist/parser/tests/expression/Primary.spec.js +0 -165
  335. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  336. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  337. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  338. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  339. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  340. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  341. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  342. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  343. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  344. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  345. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  346. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  347. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  348. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  349. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -878
  350. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  351. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +0 -1
  352. package/dist/parser/tests/expression/TypeExpression.spec.js +0 -126
  353. package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
  354. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  355. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  356. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  357. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  358. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  359. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  360. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  361. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -500
  362. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  363. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  364. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  365. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  366. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  367. package/dist/parser/tests/statement/Declaration.spec.js +0 -114
  368. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  369. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  370. package/dist/parser/tests/statement/Dim.spec.js +0 -80
  371. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  372. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  373. package/dist/parser/tests/statement/Enum.spec.js +0 -744
  374. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  375. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  376. package/dist/parser/tests/statement/For.spec.js +0 -45
  377. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  378. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  379. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  380. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  381. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  382. package/dist/parser/tests/statement/Function.spec.js +0 -343
  383. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  384. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  385. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  386. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  387. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  388. package/dist/parser/tests/statement/Increment.spec.js +0 -120
  389. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  390. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  391. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -110
  392. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  393. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  394. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  395. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  396. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  397. package/dist/parser/tests/statement/Misc.spec.js +0 -292
  398. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  399. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  400. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -200
  401. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  402. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  403. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -97
  404. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  405. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  406. package/dist/parser/tests/statement/Set.spec.js +0 -232
  407. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  408. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  409. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  410. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  411. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  412. package/dist/parser/tests/statement/Throw.spec.js +0 -38
  413. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  414. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  415. package/dist/parser/tests/statement/TryCatch.spec.js +0 -151
  416. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  417. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  418. package/dist/preprocessor/Manifest.spec.js +0 -80
  419. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  420. package/dist/types/ArrayType.spec.d.ts +0 -1
  421. package/dist/types/ArrayType.spec.js +0 -58
  422. package/dist/types/ArrayType.spec.js.map +0 -1
  423. package/dist/types/BooleanType.spec.d.ts +0 -1
  424. package/dist/types/BooleanType.spec.js +0 -18
  425. package/dist/types/BooleanType.spec.js.map +0 -1
  426. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
  427. package/dist/types/BuiltInInterfaceAdder.spec.js +0 -115
  428. package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
  429. package/dist/types/ClassType.spec.d.ts +0 -1
  430. package/dist/types/ClassType.spec.js +0 -76
  431. package/dist/types/ClassType.spec.js.map +0 -1
  432. package/dist/types/DoubleType.spec.d.ts +0 -1
  433. package/dist/types/DoubleType.spec.js +0 -20
  434. package/dist/types/DoubleType.spec.js.map +0 -1
  435. package/dist/types/DynamicType.spec.d.ts +0 -1
  436. package/dist/types/DynamicType.spec.js +0 -23
  437. package/dist/types/DynamicType.spec.js.map +0 -1
  438. package/dist/types/EnumType.spec.d.ts +0 -1
  439. package/dist/types/EnumType.spec.js +0 -33
  440. package/dist/types/EnumType.spec.js.map +0 -1
  441. package/dist/types/FloatType.spec.d.ts +0 -1
  442. package/dist/types/FloatType.spec.js +0 -12
  443. package/dist/types/FloatType.spec.js.map +0 -1
  444. package/dist/types/IntegerType.spec.d.ts +0 -1
  445. package/dist/types/IntegerType.spec.js +0 -16
  446. package/dist/types/IntegerType.spec.js.map +0 -1
  447. package/dist/types/InterfaceType.spec.d.ts +0 -1
  448. package/dist/types/InterfaceType.spec.js +0 -227
  449. package/dist/types/InterfaceType.spec.js.map +0 -1
  450. package/dist/types/IntersectionType.spec.d.ts +0 -1
  451. package/dist/types/IntersectionType.spec.js +0 -150
  452. package/dist/types/IntersectionType.spec.js.map +0 -1
  453. package/dist/types/InvalidType.spec.d.ts +0 -1
  454. package/dist/types/InvalidType.spec.js +0 -16
  455. package/dist/types/InvalidType.spec.js.map +0 -1
  456. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  457. package/dist/types/LongIntegerType.spec.js +0 -18
  458. package/dist/types/LongIntegerType.spec.js.map +0 -1
  459. package/dist/types/ObjectType.spec.d.ts +0 -1
  460. package/dist/types/ObjectType.spec.js +0 -12
  461. package/dist/types/ObjectType.spec.js.map +0 -1
  462. package/dist/types/ReferenceType.spec.d.ts +0 -1
  463. package/dist/types/ReferenceType.spec.js +0 -151
  464. package/dist/types/ReferenceType.spec.js.map +0 -1
  465. package/dist/types/StringType.spec.d.ts +0 -1
  466. package/dist/types/StringType.spec.js +0 -12
  467. package/dist/types/StringType.spec.js.map +0 -1
  468. package/dist/types/TypedFunctionType.spec.d.ts +0 -1
  469. package/dist/types/TypedFunctionType.spec.js +0 -122
  470. package/dist/types/TypedFunctionType.spec.js.map +0 -1
  471. package/dist/types/UnionType.spec.d.ts +0 -1
  472. package/dist/types/UnionType.spec.js +0 -205
  473. package/dist/types/UnionType.spec.js.map +0 -1
  474. package/dist/types/VoidType.spec.d.ts +0 -1
  475. package/dist/types/VoidType.spec.js +0 -12
  476. package/dist/types/VoidType.spec.js.map +0 -1
  477. package/dist/types/helper.spec.d.ts +0 -1
  478. package/dist/types/helper.spec.js +0 -174
  479. package/dist/types/helper.spec.js.map +0 -1
  480. package/dist/types/roFunctionType.spec.d.ts +0 -1
  481. package/dist/types/roFunctionType.spec.js +0 -20
  482. package/dist/types/roFunctionType.spec.js.map +0 -1
package/dist/Program.js CHANGED
@@ -6,7 +6,9 @@ const fsExtra = require("fs-extra");
6
6
  const path = require("path");
7
7
  const vscode_languageserver_1 = require("vscode-languageserver");
8
8
  const Scope_1 = require("./Scope");
9
+ const SymbolTable_1 = require("./SymbolTable");
9
10
  const DiagnosticMessages_1 = require("./DiagnosticMessages");
11
+ const CodeActionUtil_1 = require("./CodeActionUtil");
10
12
  const util_1 = require("./util");
11
13
  const XmlScope_1 = require("./XmlScope");
12
14
  const DependencyGraph_1 = require("./DependencyGraph");
@@ -42,7 +44,6 @@ const thenby_1 = require("thenby");
42
44
  const CrossScopeValidator_1 = require("./CrossScopeValidator");
43
45
  const DiagnosticManager_1 = require("./DiagnosticManager");
44
46
  const ProgramValidator_1 = require("./bscPlugin/validation/ProgramValidator");
45
- const SymbolTable_1 = require("./SymbolTable");
46
47
  const ReferenceType_1 = require("./types/ReferenceType");
47
48
  const helpers_1 = require("./types/helpers");
48
49
  const CallExpressionInfo_1 = require("./bscPlugin/CallExpressionInfo");
@@ -311,6 +312,118 @@ class Program {
311
312
  return 'bslib';
312
313
  }
313
314
  }
315
+ /**
316
+ * Look up the set of `BrsFile`s that declare any part of the given namespace name
317
+ * (lowercased). Returns `undefined` when no file contributes.
318
+ * @internal
319
+ */
320
+ getNamespaceContributors(namespaceNameLower) {
321
+ if (!this.namespaceContributors) {
322
+ this.namespaceContributors = this.buildNamespaceContributors();
323
+ }
324
+ return this.namespaceContributors.get(namespaceNameLower);
325
+ }
326
+ buildNamespaceContributors() {
327
+ const contributors = new Map();
328
+ for (const file of Object.values(this.files)) {
329
+ if ((0, reflection_1.isBrsFile)(file)) {
330
+ // eslint-disable-next-line @typescript-eslint/dot-notation
331
+ for (const nameLower of file['getNamespaceContributions']().keys()) {
332
+ let set = contributors.get(nameLower);
333
+ if (!set) {
334
+ set = new Set();
335
+ contributors.set(nameLower, set);
336
+ }
337
+ set.add(file);
338
+ }
339
+ }
340
+ }
341
+ return contributors;
342
+ }
343
+ /**
344
+ * Get or build the shared aggregate for a namespace whose in-scope contributors
345
+ * include more than one file. The aggregate's heavy fields are computed once per
346
+ * unique `(nameLower, contributing-files-set)` and reused across every scope that
347
+ * sees the same set.
348
+ * @internal
349
+ */
350
+ getAggregateNamespaceContainer(nameLower, contributions) {
351
+ if (!this.aggregateNamespaceContainerCache) {
352
+ this.aggregateNamespaceContainerCache = new Map();
353
+ }
354
+ //sorted pkgPaths ensure two scopes with the same contributor set hit the same key
355
+ const key = nameLower + '|' + contributions
356
+ .map(c => c.file.pkgPath.toLowerCase())
357
+ .sort()
358
+ .join('|');
359
+ let aggregate = this.aggregateNamespaceContainerCache.get(key);
360
+ if (!aggregate) {
361
+ aggregate = this.buildAggregateNamespaceContainer(contributions);
362
+ this.aggregateNamespaceContainerCache.set(key, aggregate);
363
+ }
364
+ return aggregate;
365
+ }
366
+ buildAggregateNamespaceContainer(contributions) {
367
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j;
368
+ const first = contributions[0];
369
+ //field order matches the NamespaceContainer interface declaration so aggregates
370
+ //share a single V8 hidden class with the per-scope wrapper containers
371
+ const aggregate = {
372
+ file: first.file,
373
+ fullName: first.fullName,
374
+ nameRange: first.nameRange,
375
+ lastPartName: first.lastPartName,
376
+ namespaces: new Map(),
377
+ namespaceStatements: undefined,
378
+ statements: undefined,
379
+ classStatements: undefined,
380
+ functionStatements: undefined,
381
+ enumStatements: undefined,
382
+ constStatements: undefined,
383
+ symbolTable: undefined
384
+ };
385
+ for (const contribution of contributions) {
386
+ if ((_a = contribution.namespaceStatements) === null || _a === void 0 ? void 0 : _a.length) {
387
+ ((_b = aggregate.namespaceStatements) !== null && _b !== void 0 ? _b : (aggregate.namespaceStatements = [])).push(...contribution.namespaceStatements);
388
+ }
389
+ if ((_c = contribution.statements) === null || _c === void 0 ? void 0 : _c.length) {
390
+ ((_d = aggregate.statements) !== null && _d !== void 0 ? _d : (aggregate.statements = [])).push(...contribution.statements);
391
+ }
392
+ if (contribution.classStatements) {
393
+ aggregate.classStatements = Object.assign(Object.assign({}, ((_e = aggregate.classStatements) !== null && _e !== void 0 ? _e : {})), contribution.classStatements);
394
+ }
395
+ if (contribution.functionStatements) {
396
+ aggregate.functionStatements = Object.assign(Object.assign({}, ((_f = aggregate.functionStatements) !== null && _f !== void 0 ? _f : {})), contribution.functionStatements);
397
+ }
398
+ if (contribution.enumStatements) {
399
+ (_g = aggregate.enumStatements) !== null && _g !== void 0 ? _g : (aggregate.enumStatements = new Map());
400
+ for (const [key, value] of contribution.enumStatements) {
401
+ aggregate.enumStatements.set(key, value);
402
+ }
403
+ }
404
+ if (contribution.constStatements) {
405
+ (_h = aggregate.constStatements) !== null && _h !== void 0 ? _h : (aggregate.constStatements = new Map());
406
+ for (const [key, value] of contribution.constStatements) {
407
+ aggregate.constStatements.set(key, value);
408
+ }
409
+ }
410
+ if (contribution.symbolTable) {
411
+ (_j = aggregate.symbolTable) !== null && _j !== void 0 ? _j : (aggregate.symbolTable = new SymbolTable_1.SymbolTable(`Namespace Multi-File Aggregate: '${first.fullName}'`));
412
+ aggregate.symbolTable.mergeSymbolTable(contribution.symbolTable);
413
+ }
414
+ }
415
+ return aggregate;
416
+ }
417
+ /**
418
+ * Invalidate the program-level namespace contributors map and the slow-path aggregate
419
+ * cache. Called by `setFile` and `removeFile`; downstream scope namespace lookups
420
+ * already rebuild via the dependency-graph invalidation chain, so this only needs
421
+ * to drop the cached maps.
422
+ */
423
+ invalidateNamespaceContributorCache() {
424
+ this.namespaceContributors = undefined;
425
+ this.aggregateNamespaceContainerCache = undefined;
426
+ }
314
427
  addScope(scope) {
315
428
  this.scopes[scope.name] = scope;
316
429
  delete this.sortedScopeNames;
@@ -569,6 +682,9 @@ class Program {
569
682
  setFile(fileParam, fileData) {
570
683
  //normalize the file paths
571
684
  const { srcPath, destPath } = this.getPaths(fileParam, this.options.rootDir);
685
+ //namespace contributions for the new/replaced file may differ; force the
686
+ //program-level contributors map to rebuild on next query
687
+ this.invalidateNamespaceContributorCache();
572
688
  let file = this.logger.time(logging_1.LogLevel.debug, ['Program.setFile()', chalk_1.default.green(srcPath)], () => {
573
689
  var _a, _b, _c;
574
690
  //if the file is already loaded, remove it
@@ -755,6 +871,9 @@ class Program {
755
871
  var _a, _b, _c, _d;
756
872
  this.logger.debug('Program.removeFile()', filePath);
757
873
  const paths = this.getPaths(filePath, this.options.rootDir);
874
+ //namespace contributions may have included this file; force the program-level
875
+ //contributors map to rebuild on next query
876
+ this.invalidateNamespaceContributorCache();
758
877
  //there can be one or more File entries for a single srcPath, so get all of them and remove them all
759
878
  const files = (_b = this.fileClusters.get((_a = paths.srcPath) === null || _a === void 0 ? void 0 : _a.toLowerCase())) !== null && _b !== void 0 ? _b : [this.getFile(filePath, normalizePath)];
760
879
  for (const file of files) {
@@ -874,19 +993,29 @@ class Program {
874
993
  this.addComponentReferenceType(componentKey, componentName);
875
994
  }
876
995
  })
877
- .forEach('beforeValidateFile', () => filesToProcess, (file) => {
878
- //run the beforeFilevalidate event for every unvalidated file
996
+ //run before/validate/after as a single per-file action so the Sequencer can't cancel
997
+ //between them. Splitting into three forEach steps would let cancellation land after
998
+ //`validateFile` (where BrsFileValidator pushes per-node symbols via addSymbol) but
999
+ //before `afterValidateFile` (where processSymbolInformation registers validation
1000
+ //segments) — leaving the file in a half-processed state. The next pass would either
1001
+ //re-run BrsFileValidator (pushing duplicate symbols → CrossScopeValidator name-
1002
+ //collision) or skip the file in scope validation (no segments to walk → no
1003
+ //diagnostics emitted). Atomic-per-file means either the file is fully processed or
1004
+ //it's untouched. Plugins that need an all-files-done signal should use
1005
+ //`afterValidateProgram` instead of `afterValidateFile`.
1006
+ .forEach('validateFile', () => filesToProcess, (file) => {
879
1007
  this.plugins.emit('beforeValidateFile', {
880
1008
  program: this,
881
1009
  file: file
882
1010
  });
883
- })
884
- .forEach('validateFile', () => filesToProcess, (file) => {
885
- //run the validateFile event for every unvalidated file
886
1011
  this.plugins.emit('validateFile', {
887
1012
  program: this,
888
1013
  file: file
889
1014
  });
1015
+ this.plugins.emit('afterValidateFile', {
1016
+ program: this,
1017
+ file: file
1018
+ });
890
1019
  file.isValidated = true;
891
1020
  if ((0, reflection_1.isBrsFile)(file)) {
892
1021
  brsFilesValidated.push(file);
@@ -894,13 +1023,6 @@ class Program {
894
1023
  else if ((0, reflection_1.isXmlFile)(file)) {
895
1024
  xmlFilesValidated.push(file);
896
1025
  }
897
- })
898
- .forEach('afterValidateFile', () => filesToProcess, (file) => {
899
- //run the validateFile event for every unvalidated file
900
- this.plugins.emit('afterValidateFile', {
901
- program: this,
902
- file: file
903
- });
904
1026
  })
905
1027
  .forEach('do deferred component creation', () => [...brsFilesValidated, ...xmlFilesValidated], (file) => {
906
1028
  if ((0, reflection_1.isXmlFile)(file)) {
@@ -1435,6 +1557,27 @@ class Program {
1435
1557
  return undefined;
1436
1558
  }
1437
1559
  }
1560
+ /**
1561
+ * Get the selection ranges for the given positions in a file. Used for expand/shrink selection.
1562
+ * @param srcPath path to the file
1563
+ * @param positions the positions to get selection ranges for
1564
+ */
1565
+ getSelectionRanges(srcPath, positions) {
1566
+ const file = this.getFile(srcPath);
1567
+ if (file) {
1568
+ const event = {
1569
+ program: this,
1570
+ file: file,
1571
+ positions: positions,
1572
+ selectionRanges: []
1573
+ };
1574
+ this.plugins.emit('beforeProvideSelectionRanges', event);
1575
+ this.plugins.emit('provideSelectionRanges', event);
1576
+ this.plugins.emit('afterProvideSelectionRanges', event);
1577
+ return event.selectionRanges;
1578
+ }
1579
+ return [];
1580
+ }
1438
1581
  /**
1439
1582
  * Compute code actions for the given file and range
1440
1583
  */
@@ -1478,6 +1621,33 @@ class Program {
1478
1621
  }
1479
1622
  return codeActions;
1480
1623
  }
1624
+ /**
1625
+ * Compute "source fix all" code actions for the given file.
1626
+ * Fires the `onGetSourceFixAllCodeActions` plugin event with all diagnostics for the file (no range filter),
1627
+ * then converts each contributed SourceFixAllCodeAction into an LSP CodeAction.
1628
+ */
1629
+ getSourceFixAllCodeActions(srcPath) {
1630
+ const actions = [];
1631
+ const file = this.getFile(srcPath);
1632
+ if (file) {
1633
+ const fileUri = util_1.util.pathToUri(file.srcPath);
1634
+ const diagnostics = this
1635
+ .getDiagnostics()
1636
+ .filter(x => { var _a; return ((_a = x.location) === null || _a === void 0 ? void 0 : _a.uri) === fileUri; });
1637
+ const scopes = this.getScopesForFile(file);
1638
+ this.plugins.emit('onGetSourceFixAllCodeActions', {
1639
+ program: this,
1640
+ file: file,
1641
+ diagnostics: diagnostics,
1642
+ scopes: scopes,
1643
+ actions: actions
1644
+ });
1645
+ }
1646
+ return actions.map(action => {
1647
+ var _a;
1648
+ return CodeActionUtil_1.codeActionUtil.createCodeAction(Object.assign(Object.assign({}, action), { kind: (_a = action.kind) !== null && _a !== void 0 ? _a : 'source.fixAll.brighterscript' }));
1649
+ });
1650
+ }
1481
1651
  /**
1482
1652
  * Get semantic tokens for the specified file
1483
1653
  */
@@ -1875,6 +2045,8 @@ class Program {
1875
2045
  let manifestPath = manifestFileObj
1876
2046
  ? manifestFileObj.src
1877
2047
  : path.join(this.options.rootDir, 'manifest');
2048
+ //store the resolved manifest path so it can be used externally for change detection
2049
+ this.manifestPath = util_1.util.standardizePath(manifestPath);
1878
2050
  try {
1879
2051
  // we only load this manifest once, so do it sync to improve speed downstream
1880
2052
  const contents = fsExtra.readFileSync(manifestPath, 'utf-8');
@@ -1 +1 @@
1
- {"version":3,"file":"Program.js","sourceRoot":"","sources":["../src/Program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Program.js","sourceRoot":"","sources":["../src/Program.ts"],"names":[],"mappings":"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"}
@@ -42,14 +42,7 @@ export declare class ProgramBuilder {
42
42
  * Load the project and all the files, but don't run the validation, transpile, or watch cycles
43
43
  */
44
44
  load(options: BsConfig): Promise<void>;
45
- run(options: BsConfig & {
46
- /**
47
- * Should validation run? Default is `true`. You must set exlicitly to `false` to disable.
48
- * @deprecated this is an experimental flag, and its behavior may change in a future release
49
- * @default true
50
- */
51
- validate?: boolean;
52
- }): Promise<void>;
45
+ run(options: BsConfig): Promise<void>;
53
46
  protected createProgram(): Program;
54
47
  protected loadPlugins(): void;
55
48
  /**