brighterscript 0.72.0 → 0.72.2

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 (335) hide show
  1. package/bsconfig.schema.json +62 -0
  2. package/dist/BsConfig.d.ts +56 -1
  3. package/dist/CommentFlagProcessor.d.ts +16 -12
  4. package/dist/CommentFlagProcessor.js +141 -59
  5. package/dist/CommentFlagProcessor.js.map +1 -1
  6. package/dist/DiagnosticMessages.d.ts +27 -1
  7. package/dist/DiagnosticMessages.js +32 -2
  8. package/dist/DiagnosticMessages.js.map +1 -1
  9. package/dist/Program.d.ts +4 -0
  10. package/dist/Program.js +2 -0
  11. package/dist/Program.js.map +1 -1
  12. package/dist/ProgramBuilder.d.ts +1 -8
  13. package/dist/ProgramBuilder.js +31 -11
  14. package/dist/ProgramBuilder.js.map +1 -1
  15. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +38 -0
  16. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +257 -14
  17. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  18. package/dist/bscPlugin/validation/BrsFileValidator.js +13 -0
  19. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  20. package/dist/cli.js +13 -0
  21. package/dist/cli.js.map +1 -1
  22. package/dist/diagnosticUtils.d.ts +51 -1
  23. package/dist/diagnosticUtils.js +222 -1
  24. package/dist/diagnosticUtils.js.map +1 -1
  25. package/dist/files/BrsFile.js +4 -2
  26. package/dist/files/BrsFile.js.map +1 -1
  27. package/dist/files/XmlFile.js +2 -1
  28. package/dist/files/XmlFile.js.map +1 -1
  29. package/dist/interfaces.d.ts +15 -1
  30. package/dist/lexer/TokenKind.d.ts +8 -0
  31. package/dist/lexer/TokenKind.js +21 -1
  32. package/dist/lexer/TokenKind.js.map +1 -1
  33. package/dist/lsp/LspProject.d.ts +19 -0
  34. package/dist/lsp/Project.d.ts +14 -0
  35. package/dist/lsp/Project.js +9 -1
  36. package/dist/lsp/Project.js.map +1 -1
  37. package/dist/lsp/ProjectManager.js +15 -1
  38. package/dist/lsp/ProjectManager.js.map +1 -1
  39. package/dist/lsp/worker/WorkerThreadProject.d.ts +14 -0
  40. package/dist/lsp/worker/WorkerThreadProject.js +7 -0
  41. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  42. package/dist/parser/Parser.d.ts +13 -1
  43. package/dist/parser/Parser.js +40 -14
  44. package/dist/parser/Parser.js.map +1 -1
  45. package/dist/util.js +20 -9
  46. package/dist/util.js.map +1 -1
  47. package/package.json +17 -14
  48. package/dist/astUtils/AstEditor.spec.d.ts +0 -1
  49. package/dist/astUtils/AstEditor.spec.js +0 -254
  50. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  51. package/dist/astUtils/creators.spec.d.ts +0 -1
  52. package/dist/astUtils/creators.spec.js +0 -21
  53. package/dist/astUtils/creators.spec.js.map +0 -1
  54. package/dist/astUtils/reflection.spec.d.ts +0 -1
  55. package/dist/astUtils/reflection.spec.js +0 -308
  56. package/dist/astUtils/reflection.spec.js.map +0 -1
  57. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  58. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  59. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  60. package/dist/astUtils/visitors.spec.d.ts +0 -1
  61. package/dist/astUtils/visitors.spec.js +0 -1197
  62. package/dist/astUtils/visitors.spec.js.map +0 -1
  63. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  64. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -887
  65. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  66. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  67. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -171
  68. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  69. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  70. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -201
  71. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  72. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  73. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  74. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  75. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +0 -1
  76. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +0 -298
  77. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +0 -1
  78. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  79. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -399
  80. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  81. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  82. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -290
  83. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  84. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  85. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  86. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  87. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +0 -1
  88. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -46
  89. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  90. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  91. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -487
  92. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  93. package/dist/common/Sequencer.spec.d.ts +0 -1
  94. package/dist/common/Sequencer.spec.js +0 -75
  95. package/dist/common/Sequencer.spec.js.map +0 -1
  96. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  97. package/dist/files/BrsFile.Class.spec.js +0 -1805
  98. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  99. package/dist/files/BrsFile.spec.d.ts +0 -1
  100. package/dist/files/BrsFile.spec.js +0 -4420
  101. package/dist/files/BrsFile.spec.js.map +0 -1
  102. package/dist/files/XmlFile.spec.d.ts +0 -1
  103. package/dist/files/XmlFile.spec.js +0 -1169
  104. package/dist/files/XmlFile.spec.js.map +0 -1
  105. package/dist/files/tests/imports.spec.d.ts +0 -1
  106. package/dist/files/tests/imports.spec.js +0 -241
  107. package/dist/files/tests/imports.spec.js.map +0 -1
  108. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  109. package/dist/files/tests/optionalChaning.spec.js +0 -152
  110. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  111. package/dist/lexer/Character.spec.d.ts +0 -1
  112. package/dist/lexer/Character.spec.js +0 -27
  113. package/dist/lexer/Character.spec.js.map +0 -1
  114. package/dist/lexer/Lexer.spec.d.ts +0 -1
  115. package/dist/lexer/Lexer.spec.js +0 -1300
  116. package/dist/lexer/Lexer.spec.js.map +0 -1
  117. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  118. package/dist/lsp/ActionQueue.spec.js +0 -80
  119. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  120. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  121. package/dist/lsp/DocumentManager.spec.js +0 -103
  122. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  123. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  124. package/dist/lsp/PathFilterer.spec.js +0 -182
  125. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  126. package/dist/lsp/Project.spec.d.ts +0 -1
  127. package/dist/lsp/Project.spec.js +0 -400
  128. package/dist/lsp/Project.spec.js.map +0 -1
  129. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  130. package/dist/lsp/ProjectManager.spec.js +0 -1147
  131. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  132. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  133. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  134. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  135. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  136. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  137. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  138. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  139. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -72
  140. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  141. package/dist/parser/AstNode.spec.d.ts +0 -1
  142. package/dist/parser/AstNode.spec.js +0 -1452
  143. package/dist/parser/AstNode.spec.js.map +0 -1
  144. package/dist/parser/Expression.spec.d.ts +0 -1
  145. package/dist/parser/Expression.spec.js +0 -40
  146. package/dist/parser/Expression.spec.js.map +0 -1
  147. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  148. package/dist/parser/Parser.Class.spec.js +0 -495
  149. package/dist/parser/Parser.Class.spec.js.map +0 -1
  150. package/dist/parser/Parser.spec.d.ts +0 -4
  151. package/dist/parser/Parser.spec.js +0 -1857
  152. package/dist/parser/Parser.spec.js.map +0 -1
  153. package/dist/parser/SGParser.spec.d.ts +0 -1
  154. package/dist/parser/SGParser.spec.js +0 -131
  155. package/dist/parser/SGParser.spec.js.map +0 -1
  156. package/dist/parser/Statement.spec.d.ts +0 -1
  157. package/dist/parser/Statement.spec.js +0 -118
  158. package/dist/parser/Statement.spec.js.map +0 -1
  159. package/dist/parser/tests/Parser.spec.d.ts +0 -19
  160. package/dist/parser/tests/Parser.spec.js +0 -38
  161. package/dist/parser/tests/Parser.spec.js.map +0 -1
  162. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  163. package/dist/parser/tests/controlFlow/For.spec.js +0 -161
  164. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  165. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  166. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -106
  167. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  168. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  169. package/dist/parser/tests/controlFlow/If.spec.js +0 -570
  170. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  171. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  172. package/dist/parser/tests/controlFlow/While.spec.js +0 -107
  173. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  174. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  175. package/dist/parser/tests/expression/Additive.spec.js +0 -99
  176. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  177. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  178. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -291
  179. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  180. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  181. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -401
  182. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  183. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  184. package/dist/parser/tests/expression/Boolean.spec.js +0 -83
  185. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  186. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  187. package/dist/parser/tests/expression/Call.spec.js +0 -242
  188. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  189. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  190. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  191. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  192. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  193. package/dist/parser/tests/expression/Function.spec.js +0 -403
  194. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  195. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  196. package/dist/parser/tests/expression/Indexing.spec.js +0 -289
  197. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  198. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  199. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  200. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  201. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  202. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  203. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  204. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  205. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -105
  206. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  207. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  208. package/dist/parser/tests/expression/Primary.spec.js +0 -149
  209. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  210. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  211. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  212. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  213. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  214. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  215. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  216. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  217. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  218. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  219. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  220. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  221. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  222. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  223. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -876
  224. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  225. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  226. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  227. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  228. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  229. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  230. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  231. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  232. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -708
  233. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  234. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  235. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  236. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  237. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  238. package/dist/parser/tests/statement/Declaration.spec.js +0 -108
  239. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  240. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  241. package/dist/parser/tests/statement/Dim.spec.js +0 -73
  242. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  243. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  244. package/dist/parser/tests/statement/Enum.spec.js +0 -1307
  245. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  246. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  247. package/dist/parser/tests/statement/For.spec.js +0 -45
  248. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  249. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  250. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  251. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  252. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  253. package/dist/parser/tests/statement/Function.spec.js +0 -342
  254. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  255. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  256. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  257. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  258. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  259. package/dist/parser/tests/statement/Increment.spec.js +0 -117
  260. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  261. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  262. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -102
  263. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  264. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  265. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  266. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  267. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  268. package/dist/parser/tests/statement/Misc.spec.js +0 -335
  269. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  270. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  271. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -195
  272. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  273. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  274. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -94
  275. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  276. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  277. package/dist/parser/tests/statement/Set.spec.js +0 -218
  278. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  279. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  280. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  281. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  282. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  283. package/dist/parser/tests/statement/Throw.spec.js +0 -35
  284. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  285. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  286. package/dist/parser/tests/statement/TryCatch.spec.js +0 -142
  287. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  288. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  289. package/dist/preprocessor/Manifest.spec.js +0 -80
  290. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  291. package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
  292. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  293. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  294. package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
  295. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  296. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  297. package/dist/types/ArrayType.spec.d.ts +0 -1
  298. package/dist/types/ArrayType.spec.js +0 -30
  299. package/dist/types/ArrayType.spec.js.map +0 -1
  300. package/dist/types/BooleanType.spec.d.ts +0 -1
  301. package/dist/types/BooleanType.spec.js +0 -12
  302. package/dist/types/BooleanType.spec.js.map +0 -1
  303. package/dist/types/DoubleType.spec.d.ts +0 -1
  304. package/dist/types/DoubleType.spec.js +0 -12
  305. package/dist/types/DoubleType.spec.js.map +0 -1
  306. package/dist/types/DynamicType.spec.d.ts +0 -1
  307. package/dist/types/DynamicType.spec.js +0 -12
  308. package/dist/types/DynamicType.spec.js.map +0 -1
  309. package/dist/types/FloatType.spec.d.ts +0 -1
  310. package/dist/types/FloatType.spec.js +0 -12
  311. package/dist/types/FloatType.spec.js.map +0 -1
  312. package/dist/types/FunctionType.spec.d.ts +0 -1
  313. package/dist/types/FunctionType.spec.js +0 -23
  314. package/dist/types/FunctionType.spec.js.map +0 -1
  315. package/dist/types/IntegerType.spec.d.ts +0 -1
  316. package/dist/types/IntegerType.spec.js +0 -12
  317. package/dist/types/IntegerType.spec.js.map +0 -1
  318. package/dist/types/InterfaceType.spec.d.ts +0 -1
  319. package/dist/types/InterfaceType.spec.js +0 -175
  320. package/dist/types/InterfaceType.spec.js.map +0 -1
  321. package/dist/types/InvalidType.spec.d.ts +0 -1
  322. package/dist/types/InvalidType.spec.js +0 -12
  323. package/dist/types/InvalidType.spec.js.map +0 -1
  324. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  325. package/dist/types/LongIntegerType.spec.js +0 -12
  326. package/dist/types/LongIntegerType.spec.js.map +0 -1
  327. package/dist/types/ObjectType.spec.d.ts +0 -1
  328. package/dist/types/ObjectType.spec.js +0 -12
  329. package/dist/types/ObjectType.spec.js.map +0 -1
  330. package/dist/types/StringType.spec.d.ts +0 -1
  331. package/dist/types/StringType.spec.js +0 -12
  332. package/dist/types/StringType.spec.js.map +0 -1
  333. package/dist/types/VoidType.spec.d.ts +0 -1
  334. package/dist/types/VoidType.spec.js +0 -12
  335. package/dist/types/VoidType.spec.js.map +0 -1
@@ -10,6 +10,7 @@ const reflection_1 = require("../../astUtils/reflection");
10
10
  const visitors_1 = require("../../astUtils/visitors");
11
11
  const TokenKind_1 = require("../../lexer/TokenKind");
12
12
  const codeActionHelpers_1 = require("./codeActionHelpers");
13
+ const SGParser_1 = require("../../parser/SGParser");
13
14
  class CodeActionsProcessor {
14
15
  constructor(event) {
15
16
  this.event = event;
@@ -54,6 +55,9 @@ class CodeActionsProcessor {
54
55
  else if (diagnostic.code === DiagnosticMessages_1.DiagnosticCodeMap.cannotUseOverrideKeywordOnConstructorFunction) {
55
56
  this.suggestRemoveOverrideFromConstructorQuickFixes([diagnostic]);
56
57
  }
58
+ else if ((0, DiagnosticMessages_1.isDiagnosticOfType)(diagnostic, 'mismatchedEndingToken')) {
59
+ this.suggestMismatchedEndingTokenQuickFixes([diagnostic]);
60
+ }
57
61
  }
58
62
  // Second pass: fix-all actions for any code that appeared in the event.
59
63
  // Also makes sure that fix-all actions appear after individual fixes
@@ -86,6 +90,9 @@ class CodeActionsProcessor {
86
90
  else if (code === DiagnosticMessages_1.DiagnosticCodeMap.missingOverrideKeyword) {
87
91
  this.suggestMissingOverrideQuickFixes(allInFile);
88
92
  }
93
+ else if (code === DiagnosticMessages_1.DiagnosticCodeMap.mismatchedEndingToken) {
94
+ this.suggestMismatchedEndingTokenQuickFixes(allInFile);
95
+ }
89
96
  }
90
97
  }
91
98
  // Import fix-all aggregates across multiple codes so it runs as its own step
@@ -94,8 +101,189 @@ class CodeActionsProcessor {
94
101
  eventCodes.has(DiagnosticMessages_1.DiagnosticCodeMap.classCouldNotBeFound)) {
95
102
  this.suggestMissingImportsFixAllQuickFix();
96
103
  }
104
+ // Suppression actions appear last so real fixes are surfaced first
105
+ for (const diagnostic of this.event.diagnostics) {
106
+ this.suggestDisableDiagnosticQuickFixes(diagnostic);
107
+ }
97
108
  this.suggestedImports.clear();
98
109
  }
110
+ /**
111
+ * For any diagnostic with a code, offers two quick-fix actions:
112
+ * - "Disable {code} for this line": adds the code to an existing `bs:disable-line` or
113
+ * `bs:disable-next-line` directive on/above the diagnostic if present, otherwise inserts
114
+ * a new `bs:disable-next-line: {code}` comment on the line above.
115
+ * - "Disable {code} for this file": adds the code to an existing header-level `bs:disable`
116
+ * directive if present, otherwise inserts a new `bs:disable: {code}` at the top of the file.
117
+ *
118
+ * Comment placement and the line-vs-next-line preference are centralized here so they can be
119
+ * revisited without touching the directive parser.
120
+ */
121
+ suggestDisableDiagnosticQuickFixes(diagnostic) {
122
+ const code = diagnostic.code;
123
+ if (code === undefined || code === null) {
124
+ return;
125
+ }
126
+ const file = this.event.file;
127
+ if (!(0, reflection_1.isBrsFile)(file) && !(0, reflection_1.isXmlFile)(file)) {
128
+ return;
129
+ }
130
+ const codeStr = String(code);
131
+ const isXml = (0, reflection_1.isXmlFile)(file);
132
+ //existing.forLine: any line/next-line directive on or above the diagnostic line that the line action could extend
133
+ //existing.forFile: any header-level bs:disable that the file action could extend
134
+ const existing = this.findExistingDisableDirectives(file, diagnostic.range.start.line);
135
+ //format helpers wrap the directive body in the right comment syntax (`'` for brs, `<!-- -->` for xml)
136
+ const formatLineDirective = (token, codes) => {
137
+ const body = `bs:disable-${token}: ${codes.join(' ')}`;
138
+ return isXml ? `<!-- ${body} -->` : `' ${body}`;
139
+ };
140
+ const formatBlockDirective = (codes) => {
141
+ const body = `bs:disable: ${codes.join(' ')}`;
142
+ return isXml ? `<!-- ${body} -->` : `' ${body}`;
143
+ };
144
+ // ---- "disable for this line" ----
145
+ //the two lambdas passed to getDiagnosticSuppressionChange are the "extend existing" and "insert fresh" branches:
146
+ // 1) rebuild the existing directive comment with the new code merged into its code list (preserving line vs next-line)
147
+ // 2) insert a fresh `bs:disable-next-line: {code}` on the line above the diagnostic, matching its indent
148
+ const indent = ' '.repeat(diagnostic.range.start.character);
149
+ const lineAction = this.getDiagnosticSuppressionChange(existing.forLine, codeStr, () => { var _a; return formatLineDirective(existing.forLine.type, this.mergeCodes((_a = existing.forLine) === null || _a === void 0 ? void 0 : _a.codes, codeStr)); }, () => ({
150
+ position: util_1.util.createPosition(diagnostic.range.start.line, 0),
151
+ newText: `${indent}${formatLineDirective('next-line', [codeStr])}\n`
152
+ }));
153
+ if (lineAction) {
154
+ this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
155
+ title: `Disable ${code} for this line: ${diagnostic.message}`,
156
+ diagnostics: [diagnostic],
157
+ kind: vscode_languageserver_1.CodeActionKind.QuickFix,
158
+ changes: [lineAction]
159
+ }));
160
+ }
161
+ // ---- "disable for this file" ----
162
+ //same pattern as above, but operating on the header-level bs:disable directive:
163
+ // 1) rebuild the existing header directive with the new code appended
164
+ // 2) insert a fresh `bs:disable: {code}` at the file header (top of brs, or after `<?xml ?>` for xml)
165
+ const fileAction = this.getDiagnosticSuppressionChange(existing.forFile, codeStr, () => { var _a; return formatBlockDirective(this.mergeCodes((_a = existing.forFile) === null || _a === void 0 ? void 0 : _a.codes, codeStr)); }, () => {
166
+ const headerInsert = this.getDisableFileInsertion(file);
167
+ return {
168
+ position: headerInsert.position,
169
+ newText: headerInsert.prefix + formatBlockDirective([codeStr]) + headerInsert.suffix
170
+ };
171
+ });
172
+ if (fileAction) {
173
+ this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
174
+ title: `Disable ${code} for this file: ${diagnostic.message}`,
175
+ diagnostics: [diagnostic],
176
+ kind: vscode_languageserver_1.CodeActionKind.QuickFix,
177
+ changes: [fileAction]
178
+ }));
179
+ }
180
+ }
181
+ /**
182
+ * Returns the file change that suppresses `codeStr` via a directive comment, or `null` when no
183
+ * change is needed (the existing directive already covers the code, or already suppresses
184
+ * everything). When `existing` is set, the result is a replace that swaps the directive comment
185
+ * for the text from `buildReplacementText`. When `existing` is null, the result is an insert
186
+ * built from `buildInsert`.
187
+ */
188
+ getDiagnosticSuppressionChange(existing, codeStr, buildReplacementText, buildInsert) {
189
+ if (existing) {
190
+ //existing directive without specific codes already suppresses everything; no-op
191
+ if (existing.codes.length === 0) {
192
+ return null;
193
+ }
194
+ //the new code is already in the directive; no-op
195
+ if (existing.codes.some(c => c.toLowerCase() === codeStr.toLowerCase())) {
196
+ return null;
197
+ }
198
+ return {
199
+ type: 'replace',
200
+ filePath: this.event.file.srcPath,
201
+ range: existing.range,
202
+ newText: buildReplacementText()
203
+ };
204
+ }
205
+ const insert = buildInsert();
206
+ return {
207
+ type: 'insert',
208
+ filePath: this.event.file.srcPath,
209
+ position: insert.position,
210
+ newText: insert.newText
211
+ };
212
+ }
213
+ mergeCodes(existingCodes, newCode) {
214
+ return [...(existingCodes !== null && existingCodes !== void 0 ? existingCodes : []), newCode];
215
+ }
216
+ /**
217
+ * Walks the file's tokens and returns existing `bs:disable-{line,next-line}` and header-level
218
+ * `bs:disable` directives that would cover the diagnostic on `diagLine`. Used so the suppression
219
+ * quick fixes can extend an existing directive instead of stacking new ones.
220
+ */
221
+ findExistingDisableDirectives(file, diagLine) {
222
+ var _a, _b, _c, _d;
223
+ const isXml = (0, reflection_1.isXmlFile)(file);
224
+ const tokens = (_b = (_a = file.parser) === null || _a === void 0 ? void 0 : _a.tokens) !== null && _b !== void 0 ? _b : [];
225
+ let inHeader = true;
226
+ let forLine = null;
227
+ let forFile = null;
228
+ for (const token of tokens) {
229
+ const isComment = isXml ? ((_c = token.tokenType) === null || _c === void 0 ? void 0 : _c.name) === 'Comment' : token.kind === TokenKind_1.TokenKind.Comment;
230
+ if (!isComment) {
231
+ if (isXml) {
232
+ if (((_d = token.tokenType) === null || _d === void 0 ? void 0 : _d.name) === 'OPEN') {
233
+ inHeader = false;
234
+ }
235
+ }
236
+ else if (token.kind !== TokenKind_1.TokenKind.Newline && token.kind !== TokenKind_1.TokenKind.Whitespace && token.kind !== TokenKind_1.TokenKind.Eof) {
237
+ inHeader = false;
238
+ }
239
+ continue;
240
+ }
241
+ const tokenRange = isXml ? (0, SGParser_1.rangeFromTokenValue)(token) : token.range;
242
+ const tokenText = isXml ? token.image : token.text;
243
+ const parsed = parseDisableComment(tokenText);
244
+ if (!parsed) {
245
+ continue;
246
+ }
247
+ const directive = { type: parsed.directiveType, codes: parsed.codes, range: tokenRange };
248
+ if (!forLine && parsed.directiveType === 'line' && tokenRange.start.line === diagLine) {
249
+ forLine = directive;
250
+ }
251
+ else if (!forLine && parsed.directiveType === 'next-line' && tokenRange.start.line === diagLine - 1) {
252
+ forLine = directive;
253
+ }
254
+ else if (!forFile && parsed.directiveType === 'block' && inHeader) {
255
+ //only header-level `bs:disable` directives are extended for the file-level quick fix
256
+ forFile = directive;
257
+ }
258
+ }
259
+ return { forLine: forLine, forFile: forFile };
260
+ }
261
+ /**
262
+ * Decides where in the file a header-level `bs:disable` directive should be inserted, returning
263
+ * the position plus any prefix/suffix needed so the directive lands on its own line in
264
+ * the header (before the first executable statement / root XML element).
265
+ */
266
+ getDisableFileInsertion(file) {
267
+ var _a;
268
+ if ((0, reflection_1.isXmlFile)(file)) {
269
+ //insert after the `<?xml ?>` declaration if present, otherwise at the very top
270
+ const declCloseToken = (_a = file.parser.tokens) === null || _a === void 0 ? void 0 : _a.find(t => { var _a; return ((_a = t.tokenType) === null || _a === void 0 ? void 0 : _a.name) === 'SPECIAL_CLOSE'; });
271
+ if (declCloseToken) {
272
+ const endLine = declCloseToken.endLine - 1;
273
+ const endColumn = declCloseToken.endColumn;
274
+ return {
275
+ position: util_1.util.createPosition(endLine, endColumn),
276
+ prefix: '\n',
277
+ suffix: ''
278
+ };
279
+ }
280
+ }
281
+ return {
282
+ position: util_1.util.createPosition(0, 0),
283
+ prefix: '',
284
+ suffix: '\n'
285
+ };
286
+ }
99
287
  /**
100
288
  * Builds a map of diagnostic code → all matching diagnostics in the current file for each
101
289
  * code in `eventCodes`. Scope-level codes are not present in `file.getDiagnostics()` so they
@@ -225,7 +413,7 @@ class CodeActionsProcessor {
225
413
  files = file.program.findFilesForClass(lowerClassName);
226
414
  }
227
415
  }
228
- //skip ambiguous names we can't choose a file automatically
416
+ //skip ambiguous names; we can't choose a file automatically
229
417
  if (files.length !== 1) {
230
418
  continue;
231
419
  }
@@ -480,6 +668,23 @@ class CodeActionsProcessor {
480
668
  }
481
669
  this.emitOrFixAll(`Add missing 'override' keyword`, `Fix all: Add missing 'override' keywords`, changes, diagnostics[0]);
482
670
  }
671
+ /**
672
+ * Adds one code action per legal terminator. The first entry of `expected` is marked
673
+ * `isPreferred`, matching the parser's convention of listing the canonical terminator first.
674
+ */
675
+ suggestMismatchedEndingTokenQuickFixes(diagnostics) {
676
+ const { expected, found } = diagnostics[0].data;
677
+ for (let index = 0; index < expected.length; index++) {
678
+ const replacement = expected[index];
679
+ const changes = diagnostics.map(diagnostic => ({
680
+ type: 'replace',
681
+ filePath: this.event.file.srcPath,
682
+ range: diagnostic.range,
683
+ newText: replacement
684
+ }));
685
+ this.emitOrFixAll(`Convert '${found}' to '${replacement}'`, `Fix all: Convert '${found}' to '${replacement}'`, changes, diagnostics[0], index === 0);
686
+ }
687
+ }
483
688
  /**
484
689
  * Adds code actions to remove the invalid `override` keyword from a constructor method.
485
690
  */
@@ -487,7 +692,7 @@ class CodeActionsProcessor {
487
692
  const changes = diagnostics.map(d => ({
488
693
  type: 'delete',
489
694
  filePath: this.event.file.srcPath,
490
- // delete "override " the keyword token plus the trailing space before function/sub
695
+ // delete "override " (the keyword token plus the trailing space before function/sub)
491
696
  range: util_1.util.createRange(d.range.start.line, d.range.start.character, d.range.end.line, d.range.end.character + 1)
492
697
  }));
493
698
  this.emitOrFixAll(`Remove 'override' from constructor`, `Fix all: Remove 'override' from constructors`, changes, diagnostics[0]);
@@ -521,26 +726,64 @@ class CodeActionsProcessor {
521
726
  * action when there are multiple changes (same pattern as ESLint's "Fix all X problems").
522
727
  * Does nothing when the changes array is empty.
523
728
  */
524
- emitOrFixAll(singleTitle, fixAllTitle, changes, diagnostic) {
729
+ emitOrFixAll(singleTitle, fixAllTitle, changes, diagnostic, isPreferred) {
525
730
  if (changes.length === 0) {
526
731
  return;
527
732
  }
528
733
  if (changes.length === 1) {
529
- this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
530
- title: singleTitle,
531
- diagnostics: [diagnostic],
532
- kind: vscode_languageserver_1.CodeActionKind.QuickFix,
533
- changes: changes
534
- }));
734
+ this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction(Object.assign(Object.assign({ title: singleTitle, diagnostics: [diagnostic] }, (isPreferred ? { isPreferred: true } : {})), { kind: vscode_languageserver_1.CodeActionKind.QuickFix, changes: changes })));
535
735
  }
536
736
  else {
537
- this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
538
- title: fixAllTitle,
539
- kind: vscode_languageserver_1.CodeActionKind.QuickFix,
540
- changes: changes
541
- }));
737
+ this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction(Object.assign(Object.assign({ title: fixAllTitle }, (isPreferred ? { isPreferred: true } : {})), { kind: vscode_languageserver_1.CodeActionKind.QuickFix, changes: changes })));
542
738
  }
543
739
  }
544
740
  }
545
741
  exports.CodeActionsProcessor = CodeActionsProcessor;
742
+ /**
743
+ * Parses a comment's text and returns the directive details if it is one. Recognizes
744
+ * `'`, `rem`, and `<!-- -->` comment styles. Returns `null` for comments that aren't directives.
745
+ * `block` covers `bs:disable`. The `bs:enable` partner isn't surfaced since the quick fix only
746
+ * extends `bs:disable` directives.
747
+ */
748
+ function parseDisableComment(text) {
749
+ let inner = text;
750
+ if (inner.startsWith('<!--')) {
751
+ inner = inner.slice('<!--'.length);
752
+ if (inner.endsWith('-->')) {
753
+ inner = inner.slice(0, -('-->'.length));
754
+ }
755
+ }
756
+ else if (inner.startsWith(`'`)) {
757
+ inner = inner.slice(1);
758
+ }
759
+ else if (/^rem\b/i.test(inner)) {
760
+ inner = inner.slice('rem'.length);
761
+ }
762
+ inner = inner.trimStart();
763
+ const lower = inner.toLowerCase();
764
+ //match longest-prefix first so `bs:disable-line` doesn't get parsed as `bs:disable`
765
+ let directiveType;
766
+ let prefixLength;
767
+ if (lower.startsWith('bs:disable-next-line')) {
768
+ directiveType = 'next-line';
769
+ prefixLength = 'bs:disable-next-line'.length;
770
+ }
771
+ else if (lower.startsWith('bs:disable-line')) {
772
+ directiveType = 'line';
773
+ prefixLength = 'bs:disable-line'.length;
774
+ }
775
+ else if (lower.startsWith('bs:disable')) {
776
+ directiveType = 'block';
777
+ prefixLength = 'bs:disable'.length;
778
+ }
779
+ else {
780
+ return null;
781
+ }
782
+ inner = inner.slice(prefixLength);
783
+ if (inner.startsWith(':')) {
784
+ inner = inner.slice(1);
785
+ }
786
+ const codes = inner.trim().length === 0 ? [] : inner.trim().split(/\s+/);
787
+ return { directiveType: directiveType, codes: codes };
788
+ }
546
789
  //# sourceMappingURL=CodeActionsProcessor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":"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"}
@@ -173,6 +173,19 @@ class BrsFileValidator {
173
173
  },
174
174
  ContinueStatement: (node) => {
175
175
  this.validateContinueStatement(node);
176
+ },
177
+ VariableExpression: (node) => {
178
+ var _a;
179
+ //flag reserved unreferencable builtins (e.g. `ObjFun`, `type`) used in non-call position.
180
+ //these compile cleanly as values today but are device compile errors
181
+ //(`Syntax Error. Builtin function call expected`).
182
+ const name = (_a = node.name) === null || _a === void 0 ? void 0 : _a.text;
183
+ if (name &&
184
+ TokenKind_1.UnreferencableBuiltins.has(name.toLowerCase()) &&
185
+ //only valid use is as the callee of a CallExpression
186
+ !((0, reflection_1.isCallExpression)(node.parent) && node.parent.callee === node)) {
187
+ this.event.file.addDiagnostic(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.reservedBuiltinUsedAsValue(name)), { range: node.name.range }));
188
+ }
176
189
  }
177
190
  });
178
191
  this.event.file.ast.walk((node, parent) => {
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrsFileValidator.js","sourceRoot":"","sources":["../../../src/bscPlugin/validation/BrsFileValidator.ts"],"names":[],"mappings":";;;AAAA,0DAA8f;AAC9f,sDAAkE;AAClE,iEAA8D;AAG9D,qDAA0E;AAE1E,wDAA0G;AAC1G,gDAAgD;AAEhD,yDAAsD;AACtD,6DAA0D;AAC1D,qCAA8B;AAE9B,iCAAiC;AAEjC,MAAa,gBAAgB;IACzB,YACW,KAAmC;QAAnC,UAAK,GAAL,KAAK,CAA8B;IAE9C,CAAC;IAEM,OAAO;QACV,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,mFAAmF;QACnF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE;YAC7B,IAAI,CAAC,wBAAwB,EAAE,CAAC;SACnC;IACL,CAAC;IAED;;OAEG;IACK,IAAI;QACR,MAAM,OAAO,GAAG,IAAA,wBAAa,EAAC;YAC1B,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;gBACtB,yCAAyC;gBACzC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YACnF,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;oBACtB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAC7D,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,IAC9B,CAAC;iBACN;YACL,CAAC;YACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBAC1B,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,qBAAS,CAAC,WAAW,EAAE;oBAC1C,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;iBACtE;YACL,CAAC;YACD,oBAAoB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBAC3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,MAAK,qBAAS,CAAC,kBAAkB,EAAE;oBACpF,MAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,KAAK,mCAAI,MAAA,IAAI,CAAC,aAAa,0CAAE,KAAK,CAAC;oBACxE,IAAI,CAAC,6CAA6C,CAAC,KAAK,CAAC,CAAC;iBAC7D;YACL,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACrB,IAAI,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,MAAK,qBAAS,CAAC,iBAAiB,EAAE;oBACzD,IAAI,CAAC,6CAA6C,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;iBAC/E;YACL,CAAC;YACD,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACpB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEpH,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC;gBAEnC,gCAAgC;gBAChC,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAClB,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,0CAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBAChH;YACL,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACrB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAE/G,qBAAqB;gBACrB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,0CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBAClG;YACL,CAAC;YACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBAC1B,wBAAwB;gBACxB,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,0CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBAClG;YACL,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,mBAAmB,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC1B,IAAI,CAAC,kCAAkC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACvB,gCAAgC;gBAChC,MAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,0CAAE,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YACnG,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC;gBAExH,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAClC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EACvB,IAAI,CAAC,cAAc,CAAC,KAAK,EACzB,yBAAW,CAAC,QAAQ,CACvB,CAAC;iBACL;YACL,CAAC;YACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACxB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACvH,IAAI,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAClC,IAAI,CAAC,IAAI,CAAC,IAAI,EACd,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,yBAAW,CAAC,QAAQ,CACvB,CAAC;iBACL;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,iCAAoB,CAAC,CAAC;gBAC1D,8CAA8C;gBAC9C,IAAI,SAAS,EAAE;oBACX,2EAA2E;oBAC3E,MAAM,+BAA+B,GAAG,IAAI,CAAC,OAAO,CAAC,kBAAS,CAAC,YAAY,CAAC,CAAC;oBAC7E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC7C,QAAQ,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;oBAElD,IAAI,IAAI,CAAC,IAAI,EAAE;wBACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,WAAW,CAAC,SAAS,CAC5C,+BAA+B,EAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EACf,QAAQ,CACX,CAAC;qBACL;iBACJ;YACL,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;oBAClC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,EAAE,SAAS,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBACpE;gBACD,IAAI,CAAC,8BAA8B,CAAC,IAAI,CAAC,CAAC;YAC9C,CAAC;YACD,2BAA2B,EAAE,CAAC,IAAI,EAAE,EAAE;gBAClC,IAAI,IAAI,CAAC,IAAI,EAAE;oBACX,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC1C,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;iBACjE;YACL,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACzB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC9H,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAClB,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,cAAc,EAAE,0CAAE,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,6BAAa,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;iBACzH;YACL,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,4BAA4B,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,cAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;gBACtH,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;oBAClB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBAC/G;YACL,CAAC;YACD,cAAc,EAAE,CAAC,IAAI,EAAE,EAAE;gBACrB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;YAC5H,CAAC;YACD,YAAY,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,IAAI,CAAC,UAAU,EAAE;oBACjB,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,yBAAW,CAAC,QAAQ,CAAC,CAAC;iBAC7G;YACL,CAAC;YACD,eAAe,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACtB,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAqB,iCAAoB,CAAC,CAAC;gBACzE,uDAAuD;gBACvD;gBACI,mCAAmC;gBACnC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,eAAe,0CAAE,IAAI,MAAK,qBAAS,CAAC,IAAI;oBAC9C,8BAA8B;oBAC9B,CAAC,CAAA,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,MAAK,qBAAS,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EACtE;oBACE,iCAAiC;oBACjC,IAAI,IAAI,CAAC,KAAK,EAAE;wBACZ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,6BAA6B,CAAC,MAAA,IAAI,CAAC,YAAY,0CAAE,IAAI,CAAC,KAC5E,KAAK,EAAE,IAAI,CAAC,KAAK,IACnB,CAAC;qBACN;iBAEJ;qBAAM;oBACH,8BAA8B;oBAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;wBACb,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,8BAA8B,CAAC,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,YAAY,0CAAE,IAAI,CAAC,KAC9E,KAAK,EAAE,IAAI,CAAC,KAAK,IACnB,CAAC;qBACN;iBACJ;YACL,CAAC;YACD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,kBAAkB,EAAE,CAAC,IAAI,EAAE,EAAE;;gBACzB,0FAA0F;gBAC1F,qEAAqE;gBACrE,mDAAmD;gBACnD,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,IAAI,0CAAE,IAAI,CAAC;gBAC7B,IACI,IAAI;oBACJ,kCAAsB,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBAC9C,qDAAqD;oBACrD,CAAC,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,EACjE;oBACE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,0BAA0B,CAAC,IAAI,CAAC,KACtD,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,IACxB,CAAC;iBACN;YACL,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;YACtC,OAAO,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC1B,CAAC,EAAE;YACC,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB;SACvC,CAAC,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACK,4BAA4B,CAAC,SAAoB,EAAE,OAAe,EAAE,YAAwC;;QAChH,qGAAqG;QACrG,IAAI,IAAA,iCAAoB,EAAC,MAAA,SAAS,CAAC,MAAM,0CAAE,MAAM,CAAC,IAAI,CAAC,IAAA,mBAAM,EAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,MAAM,CAAA,CAAC,EAAE;YAC3G,OAAO;SACV;QACD,wDAAwD;QACxD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,qCAAqC,CAAC,OAAO,CAAC,KACpE,KAAK,EAAE,MAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,EAAI,mCAAI,SAAS,CAAC,KAAK,IAC5C,CAAC;IACP,CAAC;IAEO,8BAA8B,CAAC,IAAwB;QAC3D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,2BAAc,CAAC,gBAAgB,EAAE;YAC1D,qCAAqC;YACrC,KAAK,IAAI,CAAC,GAAG,2BAAc,CAAC,gBAAgB,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC3E,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,yBAAyB,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,2BAAc,CAAC,gBAAgB,CAAC,KACxG,KAAK,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IACtC,CAAC;aACN;SACJ;IACL,CAAC;IAEO,uBAAuB,CAAC,IAAmB;;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAClC,uDAAuD;QACvD,MAAM,aAAa,GAAG,MAAA,MAAA,MAAC,MAAA,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,0CAAE,KAA2B,0CAAE,KAAK,0CAAE,IAAI,mCAAI,qBAAS,CAAC,cAAc,CAAC;QACxH,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;QACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE;YAC1B,MAAM,eAAe,GAAG,MAAA,MAAM,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAC;YAEnD;;eAEG;YACH,IAAI,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE;gBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,IAAI,CAAC,KACtD,KAAK,EAAE,MAAM,CAAC,KAAK,IACrB,CAAC;aACN;iBAAM;gBACH,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;aACpC;YAED,6CAA6C;YAC7C,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;SACtD;IACL,CAAC;IAEO,sBAAsB,CAAC,MAA2B,EAAE,aAAwB;;QAChF,IAAI,eAA0B,CAAC;QAC/B,IAAI,WAAuB,CAAC;QAC5B,IAAI,IAAA,8BAAiB,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACjC,eAAe,GAAG,MAAA,MAAC,MAAA,MAAM,CAAC,KAAK,0CAAE,KAA2B,0CAAE,KAAK,0CAAE,IAAI,CAAC;YAC1E,WAAW,GAAG,MAAA,MAAM,CAAC,KAAK,0CAAE,KAAK,CAAC;SACrC;aAAM;YACH,eAAe,GAAG,MAAA,MAAC,MAAM,CAAC,KAA2B,0CAAE,KAAK,0CAAE,IAAI,CAAC;YACnE,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;SAC9B;QACD,MAAM,KAAK,GAAG,MAAA,CAAC,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,MAAM,CAAC,0CAAE,KAAK,CAAC;QAC7C;QACI,4DAA4D;QAC5D,CAAC,aAAa,KAAK,qBAAS,CAAC,cAAc,IAAI,eAAe,IAAI,eAAe,KAAK,aAAa,CAAC;YACpG,wCAAwC;YACxC,CAAC,WAAW,IAAI,CAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC,EACpD;YACE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,mBAAmB,CACrC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CACvD,KACD,KAAK,EAAE,KAAK,IACd,CAAC;SACN;QAED,sBAAsB;QACtB,IAAI,aAAa,KAAK,qBAAS,CAAC,cAAc,EAAE;YAC5C,uBAAuB;YACvB,IAAI,eAAe,EAAE;gBACjB,8BAA8B;gBAC9B,IAAI,eAAe,KAAK,aAAa,EAAE;oBACnC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,mBAAmB,CACrC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CACvD,KACD,KAAK,EAAE,KAAK,IACd,CAAC;iBACN;gBAED,uBAAuB;aAC1B;iBAAM;gBACH,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,+BACzB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IAClB,uCAAkB,CAAC,mBAAmB,CACrC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CACvD,KACD,KAAK,EAAE,KAAK,IACd,CAAC;aACN;SACJ;IACL,CAAC;IAED;;OAEG;IACK,sBAAsB;QAC1B,MAAM,UAAU,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QACvD,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YAC1B,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;YACnC,IAAI,IAAA,iCAAoB,EAAC,SAAS,CAAC,EAAE;gBACjC,UAAU,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aACjD;iBAAM;gBACH,kCAAkC;gBAClC,IACI,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC;oBAC/B,CAAC,IAAA,6BAAgB,EAAC,SAAS,CAAC;oBAC5B,CAAC,IAAA,4BAAe,EAAC,SAAS,CAAC;oBAC3B,CAAC,IAAA,iCAAoB,EAAC,SAAS,CAAC;oBAChC,CAAC,IAAA,+BAAkB,EAAC,SAAS,CAAC;oBAC9B,CAAC,IAAA,+BAAkB,EAAC,SAAS,CAAC;oBAC9B,CAAC,IAAA,8BAAiB,EAAC,SAAS,CAAC;oBAC7B,CAAC,IAAA,6BAAgB,EAAC,SAAS,CAAC;oBAC5B,CAAC,IAAA,gCAAmB,EAAC,SAAS,CAAC;oBAC/B,CAAC,IAAA,6BAAgB,EAAC,SAAS,CAAC;oBAC5B,CAAC,IAAA,4BAAe,EAAC,SAAS,CAAC,EAC7B;oBACE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,kCAAkC,EAAE,KAC1D,KAAK,EAAE,SAAS,CAAC,KAAK,IACxB,CAAC;iBACN;aACJ;SACJ;IACL,CAAC;IAEO,wBAAwB;QAC5B,IAAI,0BAA0B,GAAG,EAA+C,CAAC;QACjF,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE;YACpD,eAAe;YACf,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE;gBAC1B,SAAS;aACZ;YACD,mFAAmF;YACnF,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,IAAI,IAAA,8BAAiB,EAAC,IAAI,CAAC,EAAE;gBACrD,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACzC;iBAAM;gBACH,+DAA+D;gBAC/D,MAAM;aACT;SACJ;QAED,IAAI,UAAU,GAAG;YACb,2DAA2D;YAC3D,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,iBAAiB;YAC1D,2DAA2D;YAC3D,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,gBAAgB;SAC5D,CAAC;QACF,KAAK,IAAI,MAAM,IAAI,UAAU,EAAE;YAC3B,6DAA6D;YAC7D,qDAAqD;YACrD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;gBAC9C,IAAI,IAAA,+BAAkB,EAAC,MAAM,CAAC,EAAE;oBAC5B,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,iCACzB,uCAAkB,CAAC,yCAAyC,EAAE,KACjE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IACvB,CAAC;iBACN;qBAAM,IAAI,IAAA,8BAAiB,EAAC,MAAM,CAAC,EAAE;oBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,iCACzB,uCAAkB,CAAC,wCAAwC,EAAE,KAChE,KAAK,EAAE,MAAM,CAAC,KAAK,EACnB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,IACvB,CAAC;iBACN;aACJ;SACJ;IACL,CAAC;IAEO,yBAAyB,CAAC,SAA4B;QAC1D,MAAM,qBAAqB,GAAG,CAAC,gBAA2B,EAAE,EAAE;;YAC1D,uBAAuB;YACvB,gBAAgB,GAAG,gBAAgB,KAAK,qBAAS,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAS,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;YAC7F,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC;YACjD,IAAI,cAAc,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,WAAW,EAAE,OAAK,MAAA,cAAc,CAAC,IAAI,0CAAE,WAAW,EAAE,CAAA,EAAE;gBAC1F,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iBACzB,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IACnC,uCAAkB,CAAC,aAAa,CAAC,gBAAgB,CAAC,EACvD,CAAC;aACN;QACL,CAAC,CAAC;QAEF,gCAAgC;QAChC,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAmD,CAAC,IAAI,EAAE,EAAE;YAC7F,IAAI,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE;gBACxB,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC9C,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,IAAA,2BAAc,EAAC,IAAI,CAAC,EAAE;gBAC7B,qBAAqB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC1C,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,IAAA,+BAAkB,EAAC,IAAI,CAAC,EAAE;gBACjC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChD,OAAO,IAAI,CAAC;aACf;QACL,CAAC,CAAC,CAAC;QACH,kDAAkD;QAClD,IAAI,CAAC,MAAM,EAAE;YACT,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iBACzB,KAAK,EAAE,SAAS,CAAC,KAAK,IACnB,uCAAkB,CAAC,wBAAwB,EAAE,EAClD,CAAC;SACN;IACL,CAAC;IAED;;OAEG;IACK,kCAAkC,CAAC,MAAe,EAAE,QAAmB;;QAC3E,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,EAAE,MAAM,CAAC,CAAC;QACpC,+DAA+D;QAC/D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC3B;YACI,+BAA+B;YAC/B,CAAC,CAAC,IAAA,iCAAoB,EAAC,IAAI,CAAC,IAAI,IAAA,kCAAqB,EAAC,IAAI,CAAC,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,GAAG,0CAAE,IAAI,MAAK,qBAAS,CAAC,WAAW,CAAC;gBACzG,iBAAiB;gBACjB,CAAC,IAAA,mCAAsB,EAAC,IAAI,CAAC,IAAI,CAAC,CAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,gBAAgB,0CAAE,IAAI,MAAK,qBAAS,CAAC,WAAW,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,MAAK,qBAAS,CAAC,kBAAkB,CAAC,CAAC;gBACvJ,eAAe;gBACf,CAAC,IAAA,kCAAqB,EAAC,IAAI,CAAC,IAAI,CAAA,MAAA,IAAI,CAAC,aAAa,0CAAE,IAAI,MAAK,qBAAS,CAAC,kBAAkB,CAAC,EAC5F;gBACE,mEAAmE;gBACnE,IAAI,KAAY,CAAC;gBACjB,IAAI,IAAA,iCAAoB,EAAC,MAAM,CAAC,EAAE;oBAC9B,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;iBACzE;qBAAM,IAAI,IAAA,kCAAqB,EAAC,MAAM,CAAC,EAAE;oBACtC,KAAK,GAAG,cAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;iBAC1G;qBAAM;oBACH,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;iBACtB;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,4CAA4C,EAAE,KACpE,KAAK,EAAE,KAAK,IACd,CAAC;aACN;YAED,IAAI,IAAI,KAAK,MAAM,EAAE;gBACjB,MAAM;aACT;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aAC3B;SACJ;IACL,CAAC;IASD;;;;;OAKG;IACK,6CAA6C,CAAC,KAAwB;QAC1E,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC;QAC9E,IAAI,CAAC,kBAAkB,EAAE;YACrB,OAAO;SACV;QACD,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC5D,IAAI,iBAAiB,IAAI,MAAM,CAAC,EAAE,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,6BAA6B,CAAC,EAAE;YACnG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,iCACtB,uCAAkB,CAAC,iCAAiC,CACnD,mBAAmB,EACnB,gBAAgB,CAAC,6BAA6B,EAC9C,kBAAkB,CACrB,KACD,KAAK,EAAE,KAAK,IACd,CAAC;SACN;IACL,CAAC;;AAjfL,4CAkfC;AA9BG;;;;GAIG;AACqB,8CAA6B,GAAG,QAAQ,CAAC"}
package/dist/cli.js CHANGED
@@ -5,6 +5,7 @@ const yargs = require("yargs");
5
5
  const path = require("path");
6
6
  const ProgramBuilder_1 = require("./ProgramBuilder");
7
7
  const vscode_languageserver_1 = require("vscode-languageserver");
8
+ const diagnosticUtils_1 = require("./diagnosticUtils");
8
9
  const util_1 = require("./util");
9
10
  const LanguageServer_1 = require("./LanguageServer");
10
11
  const chalk_1 = require("chalk");
@@ -24,6 +25,11 @@ let options = yargs
24
25
  .option('cwd', { type: 'string', description: 'Override the current working directory.' })
25
26
  .option('copy-to-staging', { type: 'boolean', defaultDescription: 'true', description: 'Copy project files into the staging folder, ready to be packaged.' })
26
27
  .option('diagnostic-level', { type: 'string', defaultDescription: '"warn"', description: 'Specify what diagnostic types should be printed to the console. Value can be "error", "warn", "hint", "info".' })
28
+ .option('diagnostic-reporters', {
29
+ type: 'array',
30
+ defaultDescription: '"detailed"',
31
+ description: 'Specify the diagnostic reporter(s). Each value can be "detailed", "github-actions", or a template string containing placeholders like {file}, {line}, {col}, {endLine}, {endCol}, {severity}, {code}, {message}, {source}. Pass the flag multiple times (or list values after a single flag) to enable multiple reporters simultaneously.'
32
+ })
27
33
  .option('plugins', { type: 'array', alias: 'plugin', description: 'A list of scripts or modules to add extra diagnostics or transform the AST.' })
28
34
  .option('deploy', { type: 'boolean', defaultDescription: 'false', description: 'Deploy to a Roku device if compilation succeeds. When in watch mode, this will deploy on every change.' })
29
35
  .option('emit-full-paths', { type: 'boolean', defaultDescription: 'false', description: 'Emit full paths to files when encountering diagnostics.' })
@@ -42,6 +48,7 @@ let options = yargs
42
48
  .option('source-root', { type: 'string', description: 'Override the root directory path where debugger should locate the source files. The location will be embedded in the source map to help debuggers locate the original source files. This only applies to files found within rootDir. This is useful when you want to preprocess files before passing them to BrighterScript, and want a debugger to open the original files.' })
43
49
  .option('watch', { type: 'boolean', defaultDescription: 'false', description: 'Watch input files.' })
44
50
  .option('require', { type: 'array', description: 'A list of modules to require() on startup. Useful for doing things like ts-node registration.' })
51
+ .option('validate', { type: 'boolean', defaultDescription: 'true', description: 'Whether to run validation during the build. Setting to false skips all validation (diagnostics), which can speed up builds when diagnostics are already surfaced elsewhere (e.g. a running language server).' })
45
52
  .option('profile', { type: 'boolean', defaultDescription: 'false', description: 'Generate a cpuprofile report during this run' })
46
53
  .option('lsp', { type: 'boolean', defaultDescription: 'false', description: 'Run brighterscript as a language server.' })
47
54
  .check(argv => {
@@ -51,6 +58,12 @@ let options = yargs
51
58
  if (diagnosticLevel && ['error', 'warn', 'hint', 'info'].includes(diagnosticLevel) === false) {
52
59
  throw new Error(`Invalid diagnostic level "${diagnosticLevel}". Value can be "error", "warn", "hint", "info".`);
53
60
  }
61
+ const diagnosticReporters = argv.diagnosticReporters;
62
+ if (diagnosticReporters !== undefined) {
63
+ //surface preset typos at startup. this never throws: bad reporters are warned about
64
+ //via console.warn and ignored so the build still runs with whatever's left (or the default).
65
+ (0, diagnosticUtils_1.normalizeDiagnosticReporters)(diagnosticReporters);
66
+ }
54
67
  const cwd = path.resolve(process.cwd(), (_a = argv.cwd) !== null && _a !== void 0 ? _a : process.cwd());
55
68
  //cli-provided plugin paths should be relative to cwd
56
69
  util_1.default.resolvePathsRelativeTo(argv, 'plugins', cwd);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}