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
@@ -1,9 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getDiagnosticSquigglyText = exports.getDiagnosticLine = exports.printDiagnostic = exports.getPrintDiagnosticOptions = exports.MAX_RELATED_INFOS_COUNT = void 0;
3
+ exports.createCustomDiagnosticReporter = exports.printDiagnosticGithubActions = exports.applyDiagnosticTemplate = exports.getDiagnosticSquigglyText = exports.getDiagnosticLine = exports.printDiagnostic = exports.normalizeDiagnosticReporters = exports.getPrintDiagnosticOptions = exports.KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS = exports.MAX_RELATED_INFOS_COUNT = void 0;
4
4
  const chalk_1 = require("chalk");
5
5
  const vscode_languageserver_1 = require("vscode-languageserver");
6
6
  exports.MAX_RELATED_INFOS_COUNT = 3;
7
+ const KNOWN_DIAGNOSTIC_REPORTER_PRESETS = ['detailed', 'github-actions'];
8
+ /**
9
+ * The set of placeholder names recognized inside a custom diagnostic reporter template.
10
+ * `buildDiagnosticPlaceholders` is typed against this list, so adding a name here will
11
+ * cause a compile error until the corresponding value is supplied (and vice versa).
12
+ */
13
+ exports.KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS = [
14
+ 'file',
15
+ 'line',
16
+ 'col',
17
+ 'endLine',
18
+ 'endCol',
19
+ 'severity',
20
+ 'severityCode',
21
+ 'code',
22
+ 'message',
23
+ 'source'
24
+ ];
25
+ //Built directly from the known-names list so that adding a placeholder is a one-line change.
26
+ //Names are simple identifiers (camelCase) so no regex-escaping is needed.
27
+ const KNOWN_PLACEHOLDER_REGEX = new RegExp(`\\{(${exports.KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS.join('|')})\\}`, 'g');
28
+ function findKnownPlaceholders(template) {
29
+ var _a;
30
+ return (_a = template.match(KNOWN_PLACEHOLDER_REGEX)) !== null && _a !== void 0 ? _a : [];
31
+ }
32
+ function describeDiagnosticReporterOptions() {
33
+ const presets = KNOWN_DIAGNOSTIC_REPORTER_PRESETS.map(x => `"${x}"`).join(', ');
34
+ const placeholders = exports.KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS.map(x => `{${x}}`).join(', ');
35
+ return `Expected one of:\n - preset name: ${presets}\n - template containing at least one placeholder: ${placeholders}`;
36
+ }
7
37
  /**
8
38
  * Prepare print diagnostic formatting options
9
39
  */
@@ -43,6 +73,90 @@ function getPrintDiagnosticOptions(options) {
43
73
  };
44
74
  }
45
75
  exports.getPrintDiagnosticOptions = getPrintDiagnosticOptions;
76
+ /**
77
+ * Resolve a single `DiagnosticReporter` value into its object form.
78
+ * String shorthand rules:
79
+ * - if the value contains at least one known `{placeholder}`, it's a custom template
80
+ * - otherwise it must match one of the known preset names
81
+ * Throws with the full list of supported presets and placeholders when nothing matches,
82
+ * so typos in either bucket surface loudly.
83
+ */
84
+ function normalizeOneDiagnosticReporter(value) {
85
+ if (typeof value === 'string') {
86
+ if (KNOWN_DIAGNOSTIC_REPORTER_PRESETS.includes(value)) {
87
+ return { type: value };
88
+ }
89
+ if (findKnownPlaceholders(value).length > 0) {
90
+ return { type: 'custom', format: value };
91
+ }
92
+ throw new Error(`Unknown diagnostic reporter "${value}". ${describeDiagnosticReporterOptions()}`);
93
+ }
94
+ if (value.type === 'custom') {
95
+ if (typeof value.format !== 'string' || value.format.length === 0) {
96
+ throw new Error(`Diagnostic reporter type "custom" requires a non-empty "format" string.`);
97
+ }
98
+ if (findKnownPlaceholders(value.format).length === 0) {
99
+ throw new Error(`Diagnostic reporter template "${value.format}" does not contain any known placeholders. Supported placeholders: ${exports.KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS.map(x => `{${x}}`).join(', ')}`);
100
+ }
101
+ return { type: 'custom', format: value.format };
102
+ }
103
+ if (value.type === 'detailed' || value.type === 'github-actions') {
104
+ return { type: value.type };
105
+ }
106
+ throw new Error(`Unknown diagnostic reporter type "${value.type}".`);
107
+ }
108
+ /**
109
+ * Resolve a `DiagnosticReporter` value (or array of them) into the array of object-form
110
+ * reporters used by the printer.
111
+ *
112
+ * Behavior:
113
+ * - missing/null value → default `[{ type: 'detailed' }]`
114
+ * - explicit empty array → preserved (caller has opted out of all output)
115
+ * - invalid entry inside a non-empty input → warned via `logger`, skipped
116
+ * - duplicate entry (same preset type, or same custom-template format string) → warned, skipped
117
+ * - all entries invalid → warned, falls back to `[{ type: 'detailed' }]`
118
+ *
119
+ * Bad reporters never throw, surfacing a typo shouldn't be able to abort a build.
120
+ */
121
+ function normalizeDiagnosticReporters(value, logger) {
122
+ var _a;
123
+ if (value === undefined || value === null) {
124
+ return [{ type: 'detailed' }];
125
+ }
126
+ const inputs = Array.isArray(value) ? value : [value];
127
+ if (inputs.length === 0) {
128
+ return [];
129
+ }
130
+ const warn = (message) => (logger ? logger.warn(message) : console.warn(message));
131
+ //presets are deduped by `type`; custom templates are deduped by their format string. running the
132
+ //same reporter twice would only produce duplicate output, so it's almost always a config mistake.
133
+ const seen = new Set();
134
+ const result = [];
135
+ for (const input of inputs) {
136
+ let reporter;
137
+ try {
138
+ reporter = normalizeOneDiagnosticReporter(input);
139
+ }
140
+ catch (e) {
141
+ warn(`Ignoring invalid diagnostic reporter: ${(_a = e === null || e === void 0 ? void 0 : e.message) !== null && _a !== void 0 ? _a : String(e)}`);
142
+ continue;
143
+ }
144
+ const key = reporter.type === 'custom' ? `custom:${reporter.format}` : reporter.type;
145
+ if (seen.has(key)) {
146
+ const description = reporter.type === 'custom' ? `custom template "${reporter.format}"` : `"${reporter.type}"`;
147
+ warn(`Ignoring duplicate diagnostic reporter: ${description}`);
148
+ continue;
149
+ }
150
+ seen.add(key);
151
+ result.push(reporter);
152
+ }
153
+ if (result.length === 0) {
154
+ warn(`No valid diagnostic reporters configured; falling back to "detailed".`);
155
+ return [{ type: 'detailed' }];
156
+ }
157
+ return result;
158
+ }
159
+ exports.normalizeDiagnosticReporters = normalizeDiagnosticReporters;
46
160
  /**
47
161
  * Format output of one diagnostic
48
162
  */
@@ -165,4 +279,111 @@ function getDiagnosticSquigglyText(line, startCharacter, endCharacter) {
165
279
  return squiggle;
166
280
  }
167
281
  exports.getDiagnosticSquigglyText = getDiagnosticSquigglyText;
282
+ /**
283
+ * Build the placeholder values used by the custom-template reporter.
284
+ * The return type is keyed off `KNOWN_DIAGNOSTIC_TEMPLATE_PLACEHOLDERS`, so
285
+ * the compiler enforces that the two stay in sync.
286
+ * Positions are 1-based to match editor/CI conventions; missing ranges fall back to 1.
287
+ */
288
+ function buildDiagnosticPlaceholders(severity, severityText, filePath, diagnostic) {
289
+ var _a, _b, _c;
290
+ const range = (_a = diagnostic.location) === null || _a === void 0 ? void 0 : _a.range;
291
+ const line = range ? range.start.line + 1 : 1;
292
+ const col = range ? range.start.character + 1 : 1;
293
+ const endLine = range ? range.end.line + 1 : line;
294
+ const endCol = range ? range.end.character + 1 : col;
295
+ return {
296
+ file: filePath !== null && filePath !== void 0 ? filePath : '',
297
+ line: String(line),
298
+ col: String(col),
299
+ endLine: String(endLine),
300
+ endCol: String(endCol),
301
+ severity: severityText,
302
+ severityCode: String(severity),
303
+ code: diagnostic.code === undefined ? '' : String(diagnostic.code),
304
+ message: (_b = diagnostic.message) !== null && _b !== void 0 ? _b : '',
305
+ source: (_c = diagnostic.source) !== null && _c !== void 0 ? _c : ''
306
+ };
307
+ }
308
+ /**
309
+ * Substitute `{name}` placeholders in `template` using the given values.
310
+ * Only known placeholder names are matched; anything else (typos like `{filename}`
311
+ * or unrelated braces in user text) passes through unchanged.
312
+ */
313
+ function applyDiagnosticTemplate(template, values) {
314
+ return template.replace(KNOWN_PLACEHOLDER_REGEX, (_match, name) => values[name]);
315
+ }
316
+ exports.applyDiagnosticTemplate = applyDiagnosticTemplate;
317
+ /**
318
+ * Escape a value for use inside a GitHub Actions workflow command.
319
+ * The message portion (after `::`) needs `%`, `\r`, and `\n` escaped;
320
+ * parameter values additionally need `,` and `:` escaped.
321
+ * @see https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions
322
+ */
323
+ function escapeGithubActionsData(value) {
324
+ return value
325
+ .replace(/%/g, '%25')
326
+ .replace(/\r/g, '%0D')
327
+ .replace(/\n/g, '%0A');
328
+ }
329
+ function escapeGithubActionsProperty(value) {
330
+ return escapeGithubActionsData(value)
331
+ .replace(/:/g, '%3A')
332
+ .replace(/,/g, '%2C');
333
+ }
334
+ const GITHUB_ACTIONS_SEVERITY_COMMAND = {
335
+ [vscode_languageserver_1.DiagnosticSeverity.Error]: 'error',
336
+ [vscode_languageserver_1.DiagnosticSeverity.Warning]: 'warning',
337
+ [vscode_languageserver_1.DiagnosticSeverity.Information]: 'notice',
338
+ [vscode_languageserver_1.DiagnosticSeverity.Hint]: 'notice'
339
+ };
340
+ /**
341
+ * Print one diagnostic in GitHub Actions workflow command format so the
342
+ * runner surfaces it as a PR annotation.
343
+ */
344
+ function printDiagnosticGithubActions(ctx) {
345
+ var _a, _b, _c;
346
+ const { options, severity, filePath, diagnostic } = ctx;
347
+ if (!options.includeDiagnostic[severity]) {
348
+ return;
349
+ }
350
+ const command = (_a = GITHUB_ACTIONS_SEVERITY_COMMAND[severity]) !== null && _a !== void 0 ? _a : 'error';
351
+ const range = (_b = diagnostic.location) === null || _b === void 0 ? void 0 : _b.range;
352
+ const line = range ? range.start.line + 1 : 1;
353
+ const col = range ? range.start.character + 1 : 1;
354
+ const endLine = range ? range.end.line + 1 : line;
355
+ const endCol = range ? range.end.character + 1 : col;
356
+ const codeText = diagnostic.code === undefined ? '' : `BS${diagnostic.code}`;
357
+ const params = [];
358
+ if (filePath) {
359
+ params.push(`file=${escapeGithubActionsProperty(filePath)}`);
360
+ }
361
+ params.push(`line=${line}`);
362
+ params.push(`col=${col}`);
363
+ params.push(`endLine=${endLine}`);
364
+ params.push(`endColumn=${endCol}`);
365
+ if (codeText) {
366
+ params.push(`title=${escapeGithubActionsProperty(codeText)}`);
367
+ }
368
+ const message = escapeGithubActionsData((_c = diagnostic.message) !== null && _c !== void 0 ? _c : '');
369
+ console.log(`::${command} ${params.join(',')}::${message}`);
370
+ }
371
+ exports.printDiagnosticGithubActions = printDiagnosticGithubActions;
372
+ /**
373
+ * Build a reporter that renders each diagnostic via the given user-supplied template.
374
+ * See `BsConfig.diagnosticReporters` for the placeholder list.
375
+ */
376
+ function createCustomDiagnosticReporter(template) {
377
+ return (ctx) => {
378
+ var _a;
379
+ const { options, severity, filePath, diagnostic } = ctx;
380
+ if (!options.includeDiagnostic[severity]) {
381
+ return;
382
+ }
383
+ const severityText = (_a = options.severityTextMap[severity]) !== null && _a !== void 0 ? _a : '';
384
+ const placeholders = buildDiagnosticPlaceholders(severity, severityText, filePath, diagnostic);
385
+ console.log(applyDiagnosticTemplate(template, placeholders));
386
+ };
387
+ }
388
+ exports.createCustomDiagnosticReporter = createCustomDiagnosticReporter;
168
389
  //# sourceMappingURL=diagnosticUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"diagnosticUtils.js","sourceRoot":"","sources":["../src/diagnosticUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"diagnosticUtils.js","sourceRoot":"","sources":["../src/diagnosticUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,10 @@
1
1
  import type { CodeWithSourceMap } from 'source-map';
2
2
  import type { CompletionItem, Position, Location } from 'vscode-languageserver';
3
+ import type { NamespaceFileContribution } from '../Scope';
4
+ import { SymbolTable } from '../SymbolTable';
3
5
  import { FunctionScope } from '../FunctionScope';
4
- import type { Callable, CommentFlag, FileReference, FileLink, SerializedCodeFile, NamespaceContainer } from '../interfaces';
6
+ import type { Callable, CommentFlag, FileReference, FileLink, SerializedCodeFile } from '../interfaces';
7
+ import type { NamespaceContainer } from '../Scope';
5
8
  import type { Token } from '../lexer/Token';
6
9
  import { TokenKind } from '../lexer/TokenKind';
7
10
  import { Parser, ParseMode } from '../parser/Parser';
@@ -13,7 +16,6 @@ import type { AstNode, Expression } from '../parser/AstNode';
13
16
  import type { UnresolvedSymbol, AssignedSymbol } from '../AstValidationSegmenter';
14
17
  import { AstValidationSegmenter } from '../AstValidationSegmenter';
15
18
  import type { BscSymbol } from '../SymbolTable';
16
- import { SymbolTable } from '../SymbolTable';
17
19
  import { SymbolTypeFlag } from '../SymbolTypeFlag';
18
20
  import { Editor } from '../astUtils/Editor';
19
21
  import type { BscFile } from './BscFile';
@@ -82,6 +84,20 @@ export declare class BrsFile implements BscFile {
82
84
  private _functionScopes;
83
85
  get functionScopes(): FunctionScope[];
84
86
  private get cache();
87
+ /**
88
+ * Return this file's per-namespace contributions. Cached on the file's parser-level
89
+ * cache, so the result is invalidated automatically when the file re-parses.
90
+ *
91
+ * Each entry covers a single dotted name part (so a `namespace A.B.C` declaration
92
+ * produces entries for `A`, `A.B`, and `A.B.C`). Intermediates carry only structural
93
+ * fields; leaves populate the relevant statement collections plus a single-file
94
+ * symbolTable. The symbolTable has no parent provider (see Phase 4 design notes).
95
+ *
96
+ * The returned Map is shared across every Scope that pulls in this file, which is
97
+ * the core sharing primitive Phase 4 relies on.
98
+ * @internal
99
+ */
100
+ protected getNamespaceContributions(): Map<string, NamespaceFileContribution>;
85
101
  /**
86
102
  * files referenced by import statements
87
103
  */
@@ -7,6 +7,7 @@ const vscode_languageserver_2 = require("vscode-languageserver");
7
7
  const chalk_1 = require("chalk");
8
8
  const path = require("path");
9
9
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
10
+ const SymbolTable_1 = require("../SymbolTable");
10
11
  const FunctionScope_1 = require("../FunctionScope");
11
12
  const Lexer_1 = require("../lexer/Lexer");
12
13
  const TokenKind_1 = require("../lexer/TokenKind");
@@ -22,7 +23,6 @@ const DocumentSymbolProcessor_1 = require("../bscPlugin/symbols/DocumentSymbolPr
22
23
  const WorkspaceSymbolProcessor_1 = require("../bscPlugin/symbols/WorkspaceSymbolProcessor");
23
24
  const AstValidationSegmenter_1 = require("../AstValidationSegmenter");
24
25
  const Logger_1 = require("../Logger");
25
- const SymbolTable_1 = require("../SymbolTable");
26
26
  const CachedLookups_1 = require("../astUtils/CachedLookups");
27
27
  const Editor_1 = require("../astUtils/Editor");
28
28
  const Manifest_1 = require("../preprocessor/Manifest");
@@ -107,12 +107,90 @@ class BrsFile {
107
107
  // eslint-disable-next-line @typescript-eslint/dot-notation
108
108
  return this._cachedLookups['cache'];
109
109
  }
110
+ /**
111
+ * Return this file's per-namespace contributions. Cached on the file's parser-level
112
+ * cache, so the result is invalidated automatically when the file re-parses.
113
+ *
114
+ * Each entry covers a single dotted name part (so a `namespace A.B.C` declaration
115
+ * produces entries for `A`, `A.B`, and `A.B.C`). Intermediates carry only structural
116
+ * fields; leaves populate the relevant statement collections plus a single-file
117
+ * symbolTable. The symbolTable has no parent provider (see Phase 4 design notes).
118
+ *
119
+ * The returned Map is shared across every Scope that pulls in this file, which is
120
+ * the core sharing primitive Phase 4 relies on.
121
+ * @internal
122
+ */
123
+ getNamespaceContributions() {
124
+ return this.cache.getOrAdd('namespaceContributions', () => {
125
+ let contributions = new Map();
126
+ this.ast.walk((0, visitors_1.createVisitor)({
127
+ NamespaceStatement: namespaceStatement => {
128
+ var _a, _b, _c, _d, _e, _f, _g, _h;
129
+ const name = namespaceStatement.getName(Parser_1.ParseMode.BrighterScript);
130
+ const nameParts = name.split('.');
131
+ let loopName = null;
132
+ //ensure each dotted prefix has a contribution entry
133
+ for (const part of nameParts) {
134
+ loopName = loopName === null ? part : `${loopName}.${part}`;
135
+ const lowerLoopName = loopName.toLowerCase();
136
+ if (!contributions.has(lowerLoopName)) {
137
+ //explicitly assign every optional field as undefined so all
138
+ //NamespaceFileContribution instances share a single V8 hidden
139
+ //class. Subsequent `??=` assignments mutate values without
140
+ //changing the object shape, which keeps property access fast.
141
+ contributions.set(lowerLoopName, {
142
+ file: this,
143
+ fullName: loopName,
144
+ lastPartName: part,
145
+ nameRange: (_a = namespaceStatement.nameExpression.location) === null || _a === void 0 ? void 0 : _a.range,
146
+ namespaceStatements: undefined,
147
+ statements: undefined,
148
+ classStatements: undefined,
149
+ functionStatements: undefined,
150
+ enumStatements: undefined,
151
+ constStatements: undefined,
152
+ symbolTable: undefined
153
+ });
154
+ }
155
+ }
156
+ //populate the leaf contribution from this namespaceStatement's body
157
+ const ns = contributions.get(name.toLowerCase());
158
+ ((_b = ns.namespaceStatements) !== null && _b !== void 0 ? _b : (ns.namespaceStatements = [])).push(namespaceStatement);
159
+ if (namespaceStatement.body.statements.length > 0) {
160
+ ((_c = ns.statements) !== null && _c !== void 0 ? _c : (ns.statements = [])).push(...namespaceStatement.body.statements);
161
+ }
162
+ for (const statement of namespaceStatement.body.statements) {
163
+ if ((0, reflection_1.isClassStatement)(statement) && statement.tokens.name) {
164
+ ((_d = ns.classStatements) !== null && _d !== void 0 ? _d : (ns.classStatements = {}))[statement.tokens.name.text.toLowerCase()] = statement;
165
+ }
166
+ else if ((0, reflection_1.isFunctionStatement)(statement) && statement.tokens.name) {
167
+ ((_e = ns.functionStatements) !== null && _e !== void 0 ? _e : (ns.functionStatements = {}))[statement.tokens.name.text.toLowerCase()] = statement;
168
+ }
169
+ else if ((0, reflection_1.isEnumStatement)(statement) && statement.fullName) {
170
+ ((_f = ns.enumStatements) !== null && _f !== void 0 ? _f : (ns.enumStatements = new Map())).set(statement.fullName.toLowerCase(), statement);
171
+ }
172
+ else if ((0, reflection_1.isConstStatement)(statement) && statement.fullName) {
173
+ ((_g = ns.constStatements) !== null && _g !== void 0 ? _g : (ns.constStatements = new Map())).set(statement.fullName.toLowerCase(), statement);
174
+ }
175
+ }
176
+ //single-file aggregate; NO parent provider (sibling resolution does not
177
+ //walk into a sibling's parent, so the previous scope-coupled provider
178
+ //was dead code)
179
+ (_h = ns.symbolTable) !== null && _h !== void 0 ? _h : (ns.symbolTable = new SymbolTable_1.SymbolTable(`Namespace File Contribution: '${ns.fullName}' in ${this.pkgPath}`));
180
+ ns.symbolTable.mergeSymbolTable(namespaceStatement.body.getSymbolTable());
181
+ }
182
+ }), {
183
+ walkMode: visitors_1.WalkMode.visitStatements
184
+ });
185
+ return contributions;
186
+ });
187
+ }
110
188
  /**
111
189
  * files referenced by import statements
112
190
  */
113
191
  get ownScriptImports() {
114
192
  var _a, _b;
115
- const result = (_b = (_a = this.cache) === null || _a === void 0 ? void 0 : _a.getOrAdd('BrsFile_ownScriptImports', () => {
193
+ const result = (_b = (_a = this.cache) === null || _a === void 0 ? void 0 : _a.getOrAdd('ownScriptImports', () => {
116
194
  var _a, _b, _c;
117
195
  const result = [];
118
196
  for (const statement of (_b = (_a = this._cachedLookups) === null || _a === void 0 ? void 0 : _a.importStatements) !== null && _b !== void 0 ? _b : []) {
@@ -267,7 +345,8 @@ class BrsFile {
267
345
  srcPath: this.srcPath,
268
346
  mode: this.parseMode,
269
347
  logger: this.program.logger,
270
- bsConsts: (0, Manifest_1.getBsConst)(this.program.getManifest())
348
+ bsConsts: (0, Manifest_1.getBsConst)(this.program.getManifest()),
349
+ minFirmwareVersion: this.program.options.minFirmwareVersion
271
350
  });
272
351
  });
273
352
  //absorb all lexing/preprocessing/parsing diagnostics
@@ -322,7 +401,7 @@ class BrsFile {
322
401
  */
323
402
  getCommentFlags(tokens) {
324
403
  var _a, _b, _c;
325
- const processor = new CommentFlagProcessor_1.CommentFlagProcessor(this, ['rem', `'`], DiagnosticMessages_1.diagnosticCodes, [DiagnosticMessages_1.DiagnosticCodeMap.unknownDiagnosticCode, DiagnosticMessages_1.DiagnosticLegacyCodeMap.unknownDiagnosticCode]);
404
+ const processor = new CommentFlagProcessor_1.CommentFlagProcessor(this, ['rem', `'`], DiagnosticMessages_1.diagnosticCodes);
326
405
  this.commentFlags = [];
327
406
  for (let lexerToken of tokens) {
328
407
  for (let triviaToken of (_a = lexerToken.leadingTrivia) !== null && _a !== void 0 ? _a : []) {
@@ -331,6 +410,7 @@ class BrsFile {
331
410
  }
332
411
  }
333
412
  }
413
+ processor.finalize();
334
414
  this.commentFlags.push(...processor.commentFlags);
335
415
  (_c = this.program) === null || _c === void 0 ? void 0 : _c.diagnostics.register(processor.diagnostics);
336
416
  }
@@ -1118,8 +1198,9 @@ class BrsFile {
1118
1198
  return programNode.toString();
1119
1199
  }
1120
1200
  dispose() {
1121
- var _a;
1122
- (_a = this._parser) === null || _a === void 0 ? void 0 : _a.dispose();
1201
+ var _a, _b;
1202
+ (_a = this._cachedLookups) === null || _a === void 0 ? void 0 : _a.invalidate();
1203
+ (_b = this._parser) === null || _b === void 0 ? void 0 : _b.dispose();
1123
1204
  //deleting these properties result in lower memory usage (garbage collection is magic!)
1124
1205
  delete this.fileContents;
1125
1206
  delete this._parser;