brighterscript 0.72.1 → 0.72.3

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 (313) hide show
  1. package/README.md +7 -2
  2. package/dist/LanguageServer.d.ts +2 -1
  3. package/dist/LanguageServer.js +12 -0
  4. package/dist/LanguageServer.js.map +1 -1
  5. package/dist/Program.d.ts +5 -1
  6. package/dist/Program.js +20 -0
  7. package/dist/Program.js.map +1 -1
  8. package/dist/bscPlugin/BscPlugin.d.ts +2 -1
  9. package/dist/bscPlugin/BscPlugin.js +4 -0
  10. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  11. package/dist/bscPlugin/inlayHints/InlayHintProcessor.d.ts +23 -0
  12. package/dist/bscPlugin/inlayHints/InlayHintProcessor.js +183 -0
  13. package/dist/bscPlugin/inlayHints/InlayHintProcessor.js.map +1 -0
  14. package/dist/interfaces.d.ts +34 -1
  15. package/dist/lsp/LspProject.d.ts +8 -1
  16. package/dist/lsp/Project.d.ts +5 -1
  17. package/dist/lsp/Project.js +6 -0
  18. package/dist/lsp/Project.js.map +1 -1
  19. package/dist/lsp/ProjectManager.d.ts +5 -1
  20. package/dist/lsp/ProjectManager.js +12 -0
  21. package/dist/lsp/ProjectManager.js.map +1 -1
  22. package/dist/lsp/worker/WorkerThreadProject.d.ts +5 -1
  23. package/dist/lsp/worker/WorkerThreadProject.js +3 -0
  24. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  25. package/package.json +18 -14
  26. package/dist/astUtils/AstEditor.spec.d.ts +0 -1
  27. package/dist/astUtils/AstEditor.spec.js +0 -254
  28. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  29. package/dist/astUtils/creators.spec.d.ts +0 -1
  30. package/dist/astUtils/creators.spec.js +0 -21
  31. package/dist/astUtils/creators.spec.js.map +0 -1
  32. package/dist/astUtils/reflection.spec.d.ts +0 -1
  33. package/dist/astUtils/reflection.spec.js +0 -308
  34. package/dist/astUtils/reflection.spec.js.map +0 -1
  35. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  36. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  37. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  38. package/dist/astUtils/visitors.spec.d.ts +0 -1
  39. package/dist/astUtils/visitors.spec.js +0 -1197
  40. package/dist/astUtils/visitors.spec.js.map +0 -1
  41. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  42. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -1237
  43. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  44. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  45. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -171
  46. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  47. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  48. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -201
  49. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  50. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  51. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  52. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  53. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +0 -1
  54. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +0 -298
  55. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +0 -1
  56. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  57. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -399
  58. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  59. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  60. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -290
  61. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  62. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  63. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  64. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  65. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +0 -1
  66. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -46
  67. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  68. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  69. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -702
  70. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  71. package/dist/common/Sequencer.spec.d.ts +0 -1
  72. package/dist/common/Sequencer.spec.js +0 -75
  73. package/dist/common/Sequencer.spec.js.map +0 -1
  74. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  75. package/dist/files/BrsFile.Class.spec.js +0 -1805
  76. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  77. package/dist/files/BrsFile.spec.d.ts +0 -1
  78. package/dist/files/BrsFile.spec.js +0 -4611
  79. package/dist/files/BrsFile.spec.js.map +0 -1
  80. package/dist/files/XmlFile.spec.d.ts +0 -1
  81. package/dist/files/XmlFile.spec.js +0 -1219
  82. package/dist/files/XmlFile.spec.js.map +0 -1
  83. package/dist/files/tests/imports.spec.d.ts +0 -1
  84. package/dist/files/tests/imports.spec.js +0 -241
  85. package/dist/files/tests/imports.spec.js.map +0 -1
  86. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  87. package/dist/files/tests/optionalChaning.spec.js +0 -152
  88. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  89. package/dist/lexer/Character.spec.d.ts +0 -1
  90. package/dist/lexer/Character.spec.js +0 -27
  91. package/dist/lexer/Character.spec.js.map +0 -1
  92. package/dist/lexer/Lexer.spec.d.ts +0 -1
  93. package/dist/lexer/Lexer.spec.js +0 -1300
  94. package/dist/lexer/Lexer.spec.js.map +0 -1
  95. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  96. package/dist/lsp/ActionQueue.spec.js +0 -80
  97. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  98. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  99. package/dist/lsp/DocumentManager.spec.js +0 -103
  100. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  101. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  102. package/dist/lsp/PathFilterer.spec.js +0 -182
  103. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  104. package/dist/lsp/Project.spec.d.ts +0 -1
  105. package/dist/lsp/Project.spec.js +0 -400
  106. package/dist/lsp/Project.spec.js.map +0 -1
  107. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  108. package/dist/lsp/ProjectManager.spec.js +0 -1183
  109. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  110. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  111. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  112. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  113. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  114. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  115. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  116. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  117. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -72
  118. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  119. package/dist/parser/AstNode.spec.d.ts +0 -1
  120. package/dist/parser/AstNode.spec.js +0 -1452
  121. package/dist/parser/AstNode.spec.js.map +0 -1
  122. package/dist/parser/Expression.spec.d.ts +0 -1
  123. package/dist/parser/Expression.spec.js +0 -40
  124. package/dist/parser/Expression.spec.js.map +0 -1
  125. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  126. package/dist/parser/Parser.Class.spec.js +0 -495
  127. package/dist/parser/Parser.Class.spec.js.map +0 -1
  128. package/dist/parser/Parser.spec.d.ts +0 -4
  129. package/dist/parser/Parser.spec.js +0 -1985
  130. package/dist/parser/Parser.spec.js.map +0 -1
  131. package/dist/parser/SGParser.spec.d.ts +0 -1
  132. package/dist/parser/SGParser.spec.js +0 -131
  133. package/dist/parser/SGParser.spec.js.map +0 -1
  134. package/dist/parser/Statement.spec.d.ts +0 -1
  135. package/dist/parser/Statement.spec.js +0 -118
  136. package/dist/parser/Statement.spec.js.map +0 -1
  137. package/dist/parser/tests/Parser.spec.d.ts +0 -19
  138. package/dist/parser/tests/Parser.spec.js +0 -38
  139. package/dist/parser/tests/Parser.spec.js.map +0 -1
  140. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  141. package/dist/parser/tests/controlFlow/For.spec.js +0 -208
  142. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  143. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  144. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -143
  145. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  146. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  147. package/dist/parser/tests/controlFlow/If.spec.js +0 -570
  148. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  149. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  150. package/dist/parser/tests/controlFlow/While.spec.js +0 -156
  151. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  152. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  153. package/dist/parser/tests/expression/Additive.spec.js +0 -99
  154. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  155. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  156. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -291
  157. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  158. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  159. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -401
  160. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  161. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  162. package/dist/parser/tests/expression/Boolean.spec.js +0 -83
  163. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  164. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  165. package/dist/parser/tests/expression/Call.spec.js +0 -242
  166. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  167. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  168. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  169. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  170. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  171. package/dist/parser/tests/expression/Function.spec.js +0 -403
  172. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  173. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  174. package/dist/parser/tests/expression/Indexing.spec.js +0 -289
  175. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  176. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  177. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  178. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  179. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  180. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  181. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  182. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  183. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -105
  184. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  185. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  186. package/dist/parser/tests/expression/Primary.spec.js +0 -149
  187. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  188. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  189. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  190. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  191. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  192. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  193. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  194. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  195. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  196. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  197. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  198. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  199. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  200. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  201. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -876
  202. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  203. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  204. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  205. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  206. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  207. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  208. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  209. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  210. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -708
  211. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  212. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  213. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  214. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  215. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  216. package/dist/parser/tests/statement/Declaration.spec.js +0 -108
  217. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  218. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  219. package/dist/parser/tests/statement/Dim.spec.js +0 -73
  220. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  221. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  222. package/dist/parser/tests/statement/Enum.spec.js +0 -1307
  223. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  224. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  225. package/dist/parser/tests/statement/For.spec.js +0 -45
  226. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  227. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  228. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  229. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  230. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  231. package/dist/parser/tests/statement/Function.spec.js +0 -342
  232. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  233. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  234. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  235. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  236. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  237. package/dist/parser/tests/statement/Increment.spec.js +0 -117
  238. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  239. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  240. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -102
  241. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  242. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  243. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  244. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  245. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  246. package/dist/parser/tests/statement/Misc.spec.js +0 -335
  247. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  248. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  249. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -195
  250. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  251. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  252. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -94
  253. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  254. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  255. package/dist/parser/tests/statement/Set.spec.js +0 -218
  256. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  257. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  258. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  259. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  260. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  261. package/dist/parser/tests/statement/Throw.spec.js +0 -35
  262. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  263. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  264. package/dist/parser/tests/statement/TryCatch.spec.js +0 -142
  265. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  266. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  267. package/dist/preprocessor/Manifest.spec.js +0 -80
  268. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  269. package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
  270. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  271. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  272. package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
  273. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  274. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  275. package/dist/types/ArrayType.spec.d.ts +0 -1
  276. package/dist/types/ArrayType.spec.js +0 -30
  277. package/dist/types/ArrayType.spec.js.map +0 -1
  278. package/dist/types/BooleanType.spec.d.ts +0 -1
  279. package/dist/types/BooleanType.spec.js +0 -12
  280. package/dist/types/BooleanType.spec.js.map +0 -1
  281. package/dist/types/DoubleType.spec.d.ts +0 -1
  282. package/dist/types/DoubleType.spec.js +0 -12
  283. package/dist/types/DoubleType.spec.js.map +0 -1
  284. package/dist/types/DynamicType.spec.d.ts +0 -1
  285. package/dist/types/DynamicType.spec.js +0 -12
  286. package/dist/types/DynamicType.spec.js.map +0 -1
  287. package/dist/types/FloatType.spec.d.ts +0 -1
  288. package/dist/types/FloatType.spec.js +0 -12
  289. package/dist/types/FloatType.spec.js.map +0 -1
  290. package/dist/types/FunctionType.spec.d.ts +0 -1
  291. package/dist/types/FunctionType.spec.js +0 -23
  292. package/dist/types/FunctionType.spec.js.map +0 -1
  293. package/dist/types/IntegerType.spec.d.ts +0 -1
  294. package/dist/types/IntegerType.spec.js +0 -12
  295. package/dist/types/IntegerType.spec.js.map +0 -1
  296. package/dist/types/InterfaceType.spec.d.ts +0 -1
  297. package/dist/types/InterfaceType.spec.js +0 -175
  298. package/dist/types/InterfaceType.spec.js.map +0 -1
  299. package/dist/types/InvalidType.spec.d.ts +0 -1
  300. package/dist/types/InvalidType.spec.js +0 -12
  301. package/dist/types/InvalidType.spec.js.map +0 -1
  302. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  303. package/dist/types/LongIntegerType.spec.js +0 -12
  304. package/dist/types/LongIntegerType.spec.js.map +0 -1
  305. package/dist/types/ObjectType.spec.d.ts +0 -1
  306. package/dist/types/ObjectType.spec.js +0 -12
  307. package/dist/types/ObjectType.spec.js.map +0 -1
  308. package/dist/types/StringType.spec.d.ts +0 -1
  309. package/dist/types/StringType.spec.js +0 -12
  310. package/dist/types/StringType.spec.js.map +0 -1
  311. package/dist/types/VoidType.spec.d.ts +0 -1
  312. package/dist/types/VoidType.spec.js +0 -12
  313. package/dist/types/VoidType.spec.js.map +0 -1
@@ -1,399 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../chai-config.spec");
4
- const vscode_languageserver_protocol_1 = require("vscode-languageserver-protocol");
5
- const Program_1 = require("../../Program");
6
- const testHelpers_spec_1 = require("../../testHelpers.spec");
7
- const util_1 = require("../../util");
8
- const testHelpers_spec_2 = require("../../testHelpers.spec");
9
- describe('BrsFileSemanticTokensProcessor', () => {
10
- let program;
11
- beforeEach(() => {
12
- program = new Program_1.Program({
13
- rootDir: testHelpers_spec_2.rootDir
14
- });
15
- });
16
- afterEach(() => {
17
- program.dispose();
18
- });
19
- function expectSemanticTokens(file, tokens, validateDiagnostics = true) {
20
- var _a;
21
- program.validate();
22
- if (validateDiagnostics) {
23
- (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
24
- }
25
- const result = util_1.util.sortByRange(program.getSemanticTokens(file.srcPath));
26
- //sort modifiers
27
- for (const collection of [result, tokens]) {
28
- for (const token of collection) {
29
- (_a = token.tokenModifiers) !== null && _a !== void 0 ? _a : (token.tokenModifiers = []);
30
- token.tokenModifiers.sort();
31
- }
32
- }
33
- (0, chai_config_spec_1.expect)(result).to.eql(util_1.util.sortByRange(tokens));
34
- return result;
35
- }
36
- it('matches each namespace section for class', () => {
37
- const file = program.setFile('source/main.bs', `
38
- class Host
39
- sub new()
40
- m.alien = new Humanoids.Aliens.Alien()
41
- end sub
42
- end class
43
-
44
- namespace Humanoids.Aliens
45
- class Alien
46
- end class
47
- end namespace
48
- `);
49
- expectSemanticTokens(file, [{
50
- range: util_1.util.createRange(3, 34, 3, 43),
51
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
52
- }, {
53
- range: util_1.util.createRange(3, 44, 3, 50),
54
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
55
- }, {
56
- range: util_1.util.createRange(3, 51, 3, 56),
57
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.class
58
- }]);
59
- });
60
- it('matches each namespace section for namespaced function calls', () => {
61
- const file = program.setFile('source/main.bs', `
62
- sub new()
63
- Humanoids.Aliens.Invade("earth")
64
- end sub
65
- namespace Humanoids.Aliens
66
- function Invade(planet)
67
- end function
68
- end namespace
69
- `);
70
- expectSemanticTokens(file, [{
71
- range: util_1.util.createRange(2, 16, 2, 25),
72
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
73
- }, {
74
- range: util_1.util.createRange(2, 26, 2, 32),
75
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
76
- }, {
77
- range: util_1.util.createRange(2, 33, 2, 39),
78
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.function
79
- }]);
80
- });
81
- it('matches namespace-relative parts', () => {
82
- const file = program.setFile('source/main.bs', `
83
- namespace alpha
84
- sub test()
85
- lineHeight = 1
86
- print lineHeight
87
- end sub
88
- end namespace
89
- namespace alpha.lineHeight
90
- end namespace
91
- `);
92
- expectSemanticTokens(file, [{
93
- //|lineHeight| = 1
94
- range: util_1.util.createRange(3, 20, 3, 30),
95
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
96
- }, {
97
- //print |lineHeight|
98
- range: util_1.util.createRange(4, 26, 4, 36),
99
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
100
- }], false);
101
- });
102
- it('matches namespace-relative parts in parameters', () => {
103
- const file = program.setFile('source/main.bs', `
104
- namespace alpha
105
- sub test(lineHeight as integer)
106
- end sub
107
- end namespace
108
- namespace alpha.lineHeight
109
- end namespace
110
- `);
111
- expectSemanticTokens(file, [{
112
- //sub test(|lineHeight| as integer)
113
- range: util_1.util.createRange(2, 25, 2, 35),
114
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
115
- }], false);
116
- });
117
- it('matches namespace-relative parts in parameters', () => {
118
- const file = program.setFile('source/main.bs', `
119
- namespace designSystem
120
- function getIcon(image = "" as string, size = -1 as float) as object
121
- return {}
122
- end function
123
- end namespace
124
- namespace designSystem.size
125
- end namespace
126
- `);
127
- expectSemanticTokens(file, [{
128
- //sub test(|lineHeight| as integer)
129
- range: util_1.util.createRange(2, 55, 2, 59),
130
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
131
- }], false);
132
- });
133
- it('matches each namespace section for namespaced function assignment', () => {
134
- const file = program.setFile('source/main.bs', `
135
- sub new()
136
- action = Humanoids.Aliens.Invade
137
- end sub
138
- namespace Humanoids.Aliens
139
- function Invade(planet)
140
- end function
141
- end namespace
142
- `);
143
- expectSemanticTokens(file, [{
144
- range: util_1.util.createRange(2, 25, 2, 34),
145
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
146
- }, {
147
- range: util_1.util.createRange(2, 35, 2, 41),
148
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
149
- }, {
150
- range: util_1.util.createRange(2, 42, 2, 48),
151
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.function
152
- }]);
153
- });
154
- it('matches each namespace section for namespaced function as function parameter', () => {
155
- const file = program.setFile('source/main.bs', `
156
- sub new()
157
- actionName = type(Humanoids.Aliens.Invade)
158
- end sub
159
- namespace Humanoids.Aliens
160
- function Invade(planet)
161
- end function
162
- end namespace
163
- `);
164
- expectSemanticTokens(file, [{
165
- //`type` function call
166
- range: util_1.util.createRange(2, 29, 2, 33),
167
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.function
168
- }, {
169
- range: util_1.util.createRange(2, 34, 2, 43),
170
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
171
- }, {
172
- range: util_1.util.createRange(2, 44, 2, 50),
173
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
174
- }, {
175
- range: util_1.util.createRange(2, 51, 2, 57),
176
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.function
177
- }]);
178
- });
179
- it('matches each namespace section for namespaced function in print statement', () => {
180
- const file = program.setFile('source/main.bs', `
181
- sub new()
182
- print Humanoids.Aliens.Invade
183
- end sub
184
- namespace Humanoids.Aliens
185
- function Invade(planet)
186
- end function
187
- end namespace
188
- `);
189
- expectSemanticTokens(file, [{
190
- range: util_1.util.createRange(2, 22, 2, 31),
191
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
192
- }, {
193
- range: util_1.util.createRange(2, 32, 2, 38),
194
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
195
- }, {
196
- range: util_1.util.createRange(2, 39, 2, 45),
197
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.function
198
- }]);
199
- });
200
- it('matches each namespace section for enums', () => {
201
- const file = program.setFile('source/main.bs', `
202
- sub main()
203
- print Earthlings.Species.Human.Male
204
- end sub
205
- namespace Earthlings.Species
206
- enum Human
207
- Male
208
- Female
209
- end enum
210
- end namespace
211
- `);
212
- expectSemanticTokens(file, [{
213
- range: util_1.util.createRange(2, 22, 2, 32),
214
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
215
- }, {
216
- range: util_1.util.createRange(2, 33, 2, 40),
217
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
218
- }, {
219
- range: util_1.util.createRange(2, 41, 2, 46),
220
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
221
- }, {
222
- range: util_1.util.createRange(2, 47, 2, 51),
223
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enumMember
224
- }]);
225
- });
226
- it('matches each namespace section for enum', () => {
227
- const file = program.setFile('source/main.bs', `
228
- sub main()
229
- print Sentients.Humanoids.HumanoidType.Cylon
230
- end sub
231
- namespace Sentients.Humanoids
232
- enum HumanoidType
233
- Human
234
- Alien
235
- Cylon
236
- end enum
237
- end namespace
238
- `);
239
- expectSemanticTokens(file, [{
240
- range: util_1.util.createRange(2, 22, 2, 31),
241
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
242
- }, {
243
- range: util_1.util.createRange(2, 32, 2, 41),
244
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
245
- }, {
246
- range: util_1.util.createRange(2, 42, 2, 54),
247
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
248
- }, {
249
- range: util_1.util.createRange(2, 55, 2, 60),
250
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enumMember
251
- }]);
252
- });
253
- it('matches enums in if statements', () => {
254
- const file = program.setFile('source/main.bs', `
255
- sub main()
256
- if Humanoids.HumanoidType.Cylon = "Cylon" then
257
- print true
258
- end if
259
- end sub
260
- namespace Humanoids
261
- enum HumanoidType
262
- Human = "Human"
263
- Alien = "Alien"
264
- Cylon = "Cylon"
265
- end enum
266
- end namespace
267
- `);
268
- expectSemanticTokens(file, [{
269
- range: util_1.util.createRange(2, 19, 2, 28),
270
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
271
- }, {
272
- range: util_1.util.createRange(2, 29, 2, 41),
273
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
274
- }, {
275
- range: util_1.util.createRange(2, 42, 2, 47),
276
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enumMember
277
- }]);
278
- });
279
- it('matches enum with invalid member name', () => {
280
- const file = program.setFile('source/main.bs', `
281
- sub main()
282
- print Humanoids.HumanoidType.INVALID_VALUE 'bs:disable-line
283
- end sub
284
- namespace Humanoids
285
- enum HumanoidType
286
- Human = "Human"
287
- Alien = "Alien"
288
- Cylon = "Cylon"
289
- end enum
290
- end namespace
291
- `);
292
- expectSemanticTokens(file, [{
293
- range: util_1.util.createRange(2, 22, 2, 31),
294
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
295
- }, {
296
- range: util_1.util.createRange(2, 32, 2, 44),
297
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.enum
298
- }]);
299
- });
300
- it('matches class with invalid stuff after it', () => {
301
- const file = program.setFile('source/main.bs', `
302
- sub init()
303
- m.alien = new Humanoids.Aliens.Alien.NOT_A_CLASS() 'bs:disable-line
304
- end sub
305
-
306
- namespace Humanoids.Aliens
307
- class Alien
308
- end class
309
- end namespace
310
- `);
311
- expectSemanticTokens(file, [{
312
- range: util_1.util.createRange(2, 30, 2, 39),
313
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
314
- }, {
315
- range: util_1.util.createRange(2, 40, 2, 46),
316
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
317
- }, {
318
- range: util_1.util.createRange(2, 47, 2, 52),
319
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.class
320
- }]);
321
- });
322
- it('matches consts', () => {
323
- const file = program.setFile('source/main.bs', `
324
- sub init()
325
- print API_URL
326
- print info.FIRST_NAME
327
- end sub
328
- const API_URL = "some_url"
329
- namespace info
330
- const FIRST_NAME = "bob"
331
- end namespace
332
- `);
333
- expectSemanticTokens(file, [{
334
- range: util_1.util.createRange(2, 22, 2, 29),
335
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
336
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
337
- }, {
338
- range: util_1.util.createRange(3, 22, 3, 26),
339
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
340
- }, {
341
- range: util_1.util.createRange(3, 27, 3, 37),
342
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
343
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
344
- }, {
345
- range: util_1.util.createRange(5, 18, 5, 25),
346
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
347
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
348
- }, {
349
- range: util_1.util.createRange(7, 22, 7, 32),
350
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
351
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
352
- }]);
353
- });
354
- it('matches consts in assignment expressions', () => {
355
- const file = program.setFile('source/main.bs', `
356
- sub main()
357
- value = ""
358
- value += constants.API_KEY
359
- value += API_URL
360
- end sub
361
- namespace constants
362
- const API_KEY = "test"
363
- end namespace
364
- const API_URL = "url"
365
- `);
366
- expectSemanticTokens(file, [
367
- // value += |constants|.API_KEY
368
- {
369
- range: util_1.util.createRange(3, 25, 3, 34),
370
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.namespace
371
- },
372
- // value += constants.|API_KEY|
373
- {
374
- range: util_1.util.createRange(3, 35, 3, 42),
375
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
376
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
377
- },
378
- // value += |API_URL|
379
- {
380
- range: util_1.util.createRange(4, 25, 4, 32),
381
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
382
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
383
- },
384
- // const |API_KEY| = "test"
385
- {
386
- range: util_1.util.createRange(7, 22, 7, 29),
387
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
388
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
389
- },
390
- //const |API_URL| = "url"
391
- {
392
- range: util_1.util.createRange(9, 18, 9, 25),
393
- tokenType: vscode_languageserver_protocol_1.SemanticTokenTypes.variable,
394
- tokenModifiers: [vscode_languageserver_protocol_1.SemanticTokenModifiers.readonly, vscode_languageserver_protocol_1.SemanticTokenModifiers.static]
395
- }
396
- ]);
397
- });
398
- });
399
- //# sourceMappingURL=BrsFileSemanticTokensProcessor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrsFileSemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.ts"],"names":[],"mappings":"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"}