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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/README.md +3 -0
  2. package/bsconfig.schema.json +75 -0
  3. package/dist/BsConfig.d.ts +90 -5
  4. package/dist/CodeActionUtil.d.ts +17 -0
  5. package/dist/CodeActionUtil.js.map +1 -1
  6. package/dist/CommentFlagProcessor.d.ts +16 -12
  7. package/dist/CommentFlagProcessor.js +141 -59
  8. package/dist/CommentFlagProcessor.js.map +1 -1
  9. package/dist/CrossScopeValidator.js +13 -5
  10. package/dist/CrossScopeValidator.js.map +1 -1
  11. package/dist/DiagnosticManager.d.ts +1 -0
  12. package/dist/DiagnosticManager.js +25 -9
  13. package/dist/DiagnosticManager.js.map +1 -1
  14. package/dist/DiagnosticMessages.d.ts +61 -17
  15. package/dist/DiagnosticMessages.js +78 -24
  16. package/dist/DiagnosticMessages.js.map +1 -1
  17. package/dist/LanguageServer.d.ts +39 -2
  18. package/dist/LanguageServer.js +142 -5
  19. package/dist/LanguageServer.js.map +1 -1
  20. package/dist/Program.d.ts +62 -1
  21. package/dist/Program.js +185 -13
  22. package/dist/Program.js.map +1 -1
  23. package/dist/ProgramBuilder.d.ts +1 -8
  24. package/dist/ProgramBuilder.js +31 -11
  25. package/dist/ProgramBuilder.js.map +1 -1
  26. package/dist/Scope.d.ts +87 -6
  27. package/dist/Scope.js +76 -31
  28. package/dist/Scope.js.map +1 -1
  29. package/dist/ScopeNamespaceLookup.d.ts +73 -0
  30. package/dist/ScopeNamespaceLookup.js +242 -0
  31. package/dist/ScopeNamespaceLookup.js.map +1 -0
  32. package/dist/SymbolTable.d.ts +9 -2
  33. package/dist/SymbolTable.js +24 -14
  34. package/dist/SymbolTable.js.map +1 -1
  35. package/dist/astUtils/CachedLookups.js +3 -0
  36. package/dist/astUtils/CachedLookups.js.map +1 -1
  37. package/dist/astUtils/reflection.d.ts +4 -1
  38. package/dist/astUtils/reflection.js +24 -4
  39. package/dist/astUtils/reflection.js.map +1 -1
  40. package/dist/astUtils/visitors.d.ts +2 -1
  41. package/dist/astUtils/visitors.js.map +1 -1
  42. package/dist/bscPlugin/BscPlugin.d.ts +4 -2
  43. package/dist/bscPlugin/BscPlugin.js +10 -2
  44. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  45. package/dist/bscPlugin/CallExpressionInfo.d.ts +1 -1
  46. package/dist/bscPlugin/CallExpressionInfo.js +1 -2
  47. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  48. package/dist/bscPlugin/FileWriter.d.ts +13 -0
  49. package/dist/bscPlugin/FileWriter.js +56 -1
  50. package/dist/bscPlugin/FileWriter.js.map +1 -1
  51. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +106 -5
  52. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +630 -126
  53. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  54. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
  55. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
  56. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
  57. package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
  58. package/dist/bscPlugin/codeActions/codeActionHelpers.js +31 -0
  59. package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
  60. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
  61. package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
  62. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  63. package/dist/bscPlugin/definition/DefinitionProvider.js +8 -0
  64. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
  65. package/dist/bscPlugin/hover/HoverProcessor.js +11 -3
  66. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  67. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
  68. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +77 -0
  69. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
  70. package/dist/bscPlugin/serialize/FileSerializer.d.ts +1 -1
  71. package/dist/bscPlugin/serialize/FileSerializer.js +12 -7
  72. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -1
  73. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +7 -0
  74. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +87 -1
  75. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  76. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
  77. package/dist/bscPlugin/validation/BrsFileValidator.js +97 -21
  78. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  79. package/dist/bscPlugin/validation/ScopeValidator.d.ts +17 -0
  80. package/dist/bscPlugin/validation/ScopeValidator.js +162 -4
  81. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  82. package/dist/bscPlugin/validation/XmlFileValidator.js +14 -0
  83. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  84. package/dist/cli.js +13 -0
  85. package/dist/cli.js.map +1 -1
  86. package/dist/diagnosticUtils.d.ts +51 -1
  87. package/dist/diagnosticUtils.js +222 -1
  88. package/dist/diagnosticUtils.js.map +1 -1
  89. package/dist/files/BrsFile.d.ts +18 -2
  90. package/dist/files/BrsFile.js +87 -6
  91. package/dist/files/BrsFile.js.map +1 -1
  92. package/dist/files/XmlFile.js +2 -1
  93. package/dist/files/XmlFile.js.map +1 -1
  94. package/dist/interfaces.d.ts +68 -23
  95. package/dist/interfaces.js.map +1 -1
  96. package/dist/lexer/Lexer.js +4 -5
  97. package/dist/lexer/Lexer.js.map +1 -1
  98. package/dist/lexer/Token.d.ts +1 -1
  99. package/dist/lexer/TokenKind.d.ts +8 -0
  100. package/dist/lexer/TokenKind.js +21 -1
  101. package/dist/lexer/TokenKind.js.map +1 -1
  102. package/dist/lsp/LspProject.d.ts +49 -1
  103. package/dist/lsp/Project.d.ts +33 -1
  104. package/dist/lsp/Project.js +129 -4
  105. package/dist/lsp/Project.js.map +1 -1
  106. package/dist/lsp/ProjectManager.d.ts +48 -2
  107. package/dist/lsp/ProjectManager.js +152 -9
  108. package/dist/lsp/ProjectManager.js.map +1 -1
  109. package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
  110. package/dist/lsp/worker/WorkerThreadProject.js +16 -0
  111. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  112. package/dist/parser/AstNode.d.ts +3 -1
  113. package/dist/parser/AstNode.js +2 -0
  114. package/dist/parser/AstNode.js.map +1 -1
  115. package/dist/parser/Expression.d.ts +54 -5
  116. package/dist/parser/Expression.js +112 -7
  117. package/dist/parser/Expression.js.map +1 -1
  118. package/dist/parser/Parser.d.ts +24 -1
  119. package/dist/parser/Parser.js +180 -41
  120. package/dist/parser/Parser.js.map +1 -1
  121. package/dist/parser/SGParser.d.ts +1 -0
  122. package/dist/parser/SGParser.js +9 -0
  123. package/dist/parser/SGParser.js.map +1 -1
  124. package/dist/parser/Statement.d.ts +6 -1
  125. package/dist/parser/Statement.js +22 -14
  126. package/dist/parser/Statement.js.map +1 -1
  127. package/dist/parser/TranspileState.d.ts +4 -2
  128. package/dist/parser/TranspileState.js +10 -4
  129. package/dist/parser/TranspileState.js.map +1 -1
  130. package/dist/roku-types/data.json +210 -3
  131. package/dist/types/ArrayType.js +6 -1
  132. package/dist/types/ArrayType.js.map +1 -1
  133. package/dist/types/BooleanType.js +1 -1
  134. package/dist/types/BooleanType.js.map +1 -1
  135. package/dist/types/CallFuncableType.d.ts +1 -1
  136. package/dist/types/ClassType.js +3 -0
  137. package/dist/types/ClassType.js.map +1 -1
  138. package/dist/types/ComponentType.js +3 -0
  139. package/dist/types/ComponentType.js.map +1 -1
  140. package/dist/types/EnumType.js +3 -0
  141. package/dist/types/EnumType.js.map +1 -1
  142. package/dist/types/IntersectionType.js +3 -0
  143. package/dist/types/IntersectionType.js.map +1 -1
  144. package/dist/types/ReferenceType.js +6 -0
  145. package/dist/types/ReferenceType.js.map +1 -1
  146. package/dist/types/TypeStatementType.d.ts +1 -0
  147. package/dist/types/TypeStatementType.js +12 -1
  148. package/dist/types/TypeStatementType.js.map +1 -1
  149. package/dist/types/TypedFunctionType.js +20 -10
  150. package/dist/types/TypedFunctionType.js.map +1 -1
  151. package/dist/types/UnionType.js +3 -0
  152. package/dist/types/UnionType.js.map +1 -1
  153. package/dist/types/helpers.js +6 -0
  154. package/dist/types/helpers.js.map +1 -1
  155. package/dist/util.d.ts +42 -3
  156. package/dist/util.js +131 -7
  157. package/dist/util.js.map +1 -1
  158. package/package.json +24 -26
  159. package/dist/astUtils/CachedLookups.spec.d.ts +0 -1
  160. package/dist/astUtils/CachedLookups.spec.js +0 -39
  161. package/dist/astUtils/CachedLookups.spec.js.map +0 -1
  162. package/dist/astUtils/Editor.spec.d.ts +0 -1
  163. package/dist/astUtils/Editor.spec.js +0 -258
  164. package/dist/astUtils/Editor.spec.js.map +0 -1
  165. package/dist/astUtils/creators.spec.d.ts +0 -1
  166. package/dist/astUtils/creators.spec.js +0 -21
  167. package/dist/astUtils/creators.spec.js.map +0 -1
  168. package/dist/astUtils/reflection.spec.d.ts +0 -1
  169. package/dist/astUtils/reflection.spec.js +0 -392
  170. package/dist/astUtils/reflection.spec.js.map +0 -1
  171. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  172. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  173. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  174. package/dist/astUtils/visitors.spec.d.ts +0 -1
  175. package/dist/astUtils/visitors.spec.js +0 -1432
  176. package/dist/astUtils/visitors.spec.js.map +0 -1
  177. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  178. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -311
  179. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  180. package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +0 -1
  181. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -2512
  182. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
  183. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  184. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -87
  185. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  186. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  187. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -991
  188. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  189. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  190. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  191. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  192. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  193. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -564
  194. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  195. package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +0 -1
  196. package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -33
  197. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
  198. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  199. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -291
  200. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  201. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  202. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  203. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  204. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +0 -1
  205. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -75
  206. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
  207. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  208. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -1517
  209. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  210. package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +0 -1
  211. package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -6135
  212. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
  213. package/dist/common/Sequencer.spec.d.ts +0 -1
  214. package/dist/common/Sequencer.spec.js +0 -75
  215. package/dist/common/Sequencer.spec.js.map +0 -1
  216. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  217. package/dist/files/BrsFile.Class.spec.js +0 -2035
  218. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  219. package/dist/files/BrsFile.spec.d.ts +0 -1
  220. package/dist/files/BrsFile.spec.js +0 -5848
  221. package/dist/files/BrsFile.spec.js.map +0 -1
  222. package/dist/files/LazyFileData.spec.d.ts +0 -1
  223. package/dist/files/LazyFileData.spec.js +0 -27
  224. package/dist/files/LazyFileData.spec.js.map +0 -1
  225. package/dist/files/XmlFile.spec.d.ts +0 -1
  226. package/dist/files/XmlFile.spec.js +0 -1173
  227. package/dist/files/XmlFile.spec.js.map +0 -1
  228. package/dist/files/tests/imports.spec.d.ts +0 -1
  229. package/dist/files/tests/imports.spec.js +0 -251
  230. package/dist/files/tests/imports.spec.js.map +0 -1
  231. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  232. package/dist/files/tests/optionalChaning.spec.js +0 -152
  233. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  234. package/dist/lexer/Character.spec.d.ts +0 -1
  235. package/dist/lexer/Character.spec.js +0 -27
  236. package/dist/lexer/Character.spec.js.map +0 -1
  237. package/dist/lexer/Lexer.spec.d.ts +0 -1
  238. package/dist/lexer/Lexer.spec.js +0 -1345
  239. package/dist/lexer/Lexer.spec.js.map +0 -1
  240. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  241. package/dist/lsp/ActionQueue.spec.js +0 -80
  242. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  243. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  244. package/dist/lsp/DocumentManager.spec.js +0 -103
  245. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  246. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  247. package/dist/lsp/PathFilterer.spec.js +0 -182
  248. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  249. package/dist/lsp/Project.spec.d.ts +0 -1
  250. package/dist/lsp/Project.spec.js +0 -267
  251. package/dist/lsp/Project.spec.js.map +0 -1
  252. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  253. package/dist/lsp/ProjectManager.spec.js +0 -913
  254. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  255. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  256. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  257. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  258. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  259. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  260. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  261. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  262. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -71
  263. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  264. package/dist/parser/AstNode.spec.d.ts +0 -1
  265. package/dist/parser/AstNode.spec.js +0 -1455
  266. package/dist/parser/AstNode.spec.js.map +0 -1
  267. package/dist/parser/BrightScriptDocParser.spec.d.ts +0 -1
  268. package/dist/parser/BrightScriptDocParser.spec.js +0 -310
  269. package/dist/parser/BrightScriptDocParser.spec.js.map +0 -1
  270. package/dist/parser/Expression.spec.d.ts +0 -1
  271. package/dist/parser/Expression.spec.js +0 -40
  272. package/dist/parser/Expression.spec.js.map +0 -1
  273. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  274. package/dist/parser/Parser.Class.spec.js +0 -520
  275. package/dist/parser/Parser.Class.spec.js.map +0 -1
  276. package/dist/parser/Parser.spec.d.ts +0 -6
  277. package/dist/parser/Parser.spec.js +0 -2802
  278. package/dist/parser/Parser.spec.js.map +0 -1
  279. package/dist/parser/SGParser.spec.d.ts +0 -1
  280. package/dist/parser/SGParser.spec.js +0 -130
  281. package/dist/parser/SGParser.spec.js.map +0 -1
  282. package/dist/parser/Statement.spec.d.ts +0 -1
  283. package/dist/parser/Statement.spec.js +0 -191
  284. package/dist/parser/Statement.spec.js.map +0 -1
  285. package/dist/parser/tests/Parser.spec.d.ts +0 -12
  286. package/dist/parser/tests/Parser.spec.js +0 -29
  287. package/dist/parser/tests/Parser.spec.js.map +0 -1
  288. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  289. package/dist/parser/tests/controlFlow/For.spec.js +0 -169
  290. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  291. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  292. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -140
  293. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  294. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  295. package/dist/parser/tests/controlFlow/If.spec.js +0 -694
  296. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  297. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  298. package/dist/parser/tests/controlFlow/While.spec.js +0 -114
  299. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  300. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  301. package/dist/parser/tests/expression/Additive.spec.js +0 -107
  302. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  303. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  304. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -304
  305. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  306. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  307. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -342
  308. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  309. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  310. package/dist/parser/tests/expression/Boolean.spec.js +0 -90
  311. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  312. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  313. package/dist/parser/tests/expression/Call.spec.js +0 -252
  314. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  315. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  316. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  317. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  318. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  319. package/dist/parser/tests/expression/Function.spec.js +0 -412
  320. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  321. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  322. package/dist/parser/tests/expression/Indexing.spec.js +0 -302
  323. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  324. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  325. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  326. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  327. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  328. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  329. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  330. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  331. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -111
  332. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  333. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  334. package/dist/parser/tests/expression/Primary.spec.js +0 -165
  335. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  336. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  337. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  338. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  339. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  340. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  341. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  342. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  343. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  344. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  345. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  346. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  347. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  348. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  349. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -878
  350. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  351. package/dist/parser/tests/expression/TypeExpression.spec.d.ts +0 -1
  352. package/dist/parser/tests/expression/TypeExpression.spec.js +0 -126
  353. package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
  354. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  355. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  356. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  357. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  358. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  359. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  360. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  361. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -500
  362. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  363. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  364. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  365. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  366. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  367. package/dist/parser/tests/statement/Declaration.spec.js +0 -114
  368. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  369. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  370. package/dist/parser/tests/statement/Dim.spec.js +0 -80
  371. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  372. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  373. package/dist/parser/tests/statement/Enum.spec.js +0 -744
  374. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  375. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  376. package/dist/parser/tests/statement/For.spec.js +0 -45
  377. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  378. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  379. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  380. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  381. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  382. package/dist/parser/tests/statement/Function.spec.js +0 -343
  383. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  384. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  385. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  386. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  387. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  388. package/dist/parser/tests/statement/Increment.spec.js +0 -120
  389. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  390. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  391. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -110
  392. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  393. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  394. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  395. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  396. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  397. package/dist/parser/tests/statement/Misc.spec.js +0 -292
  398. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  399. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  400. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -200
  401. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  402. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  403. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -97
  404. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  405. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  406. package/dist/parser/tests/statement/Set.spec.js +0 -232
  407. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  408. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  409. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  410. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  411. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  412. package/dist/parser/tests/statement/Throw.spec.js +0 -38
  413. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  414. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  415. package/dist/parser/tests/statement/TryCatch.spec.js +0 -151
  416. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  417. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  418. package/dist/preprocessor/Manifest.spec.js +0 -80
  419. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  420. package/dist/types/ArrayType.spec.d.ts +0 -1
  421. package/dist/types/ArrayType.spec.js +0 -58
  422. package/dist/types/ArrayType.spec.js.map +0 -1
  423. package/dist/types/BooleanType.spec.d.ts +0 -1
  424. package/dist/types/BooleanType.spec.js +0 -18
  425. package/dist/types/BooleanType.spec.js.map +0 -1
  426. package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
  427. package/dist/types/BuiltInInterfaceAdder.spec.js +0 -115
  428. package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
  429. package/dist/types/ClassType.spec.d.ts +0 -1
  430. package/dist/types/ClassType.spec.js +0 -76
  431. package/dist/types/ClassType.spec.js.map +0 -1
  432. package/dist/types/DoubleType.spec.d.ts +0 -1
  433. package/dist/types/DoubleType.spec.js +0 -20
  434. package/dist/types/DoubleType.spec.js.map +0 -1
  435. package/dist/types/DynamicType.spec.d.ts +0 -1
  436. package/dist/types/DynamicType.spec.js +0 -23
  437. package/dist/types/DynamicType.spec.js.map +0 -1
  438. package/dist/types/EnumType.spec.d.ts +0 -1
  439. package/dist/types/EnumType.spec.js +0 -33
  440. package/dist/types/EnumType.spec.js.map +0 -1
  441. package/dist/types/FloatType.spec.d.ts +0 -1
  442. package/dist/types/FloatType.spec.js +0 -12
  443. package/dist/types/FloatType.spec.js.map +0 -1
  444. package/dist/types/IntegerType.spec.d.ts +0 -1
  445. package/dist/types/IntegerType.spec.js +0 -16
  446. package/dist/types/IntegerType.spec.js.map +0 -1
  447. package/dist/types/InterfaceType.spec.d.ts +0 -1
  448. package/dist/types/InterfaceType.spec.js +0 -227
  449. package/dist/types/InterfaceType.spec.js.map +0 -1
  450. package/dist/types/IntersectionType.spec.d.ts +0 -1
  451. package/dist/types/IntersectionType.spec.js +0 -150
  452. package/dist/types/IntersectionType.spec.js.map +0 -1
  453. package/dist/types/InvalidType.spec.d.ts +0 -1
  454. package/dist/types/InvalidType.spec.js +0 -16
  455. package/dist/types/InvalidType.spec.js.map +0 -1
  456. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  457. package/dist/types/LongIntegerType.spec.js +0 -18
  458. package/dist/types/LongIntegerType.spec.js.map +0 -1
  459. package/dist/types/ObjectType.spec.d.ts +0 -1
  460. package/dist/types/ObjectType.spec.js +0 -12
  461. package/dist/types/ObjectType.spec.js.map +0 -1
  462. package/dist/types/ReferenceType.spec.d.ts +0 -1
  463. package/dist/types/ReferenceType.spec.js +0 -151
  464. package/dist/types/ReferenceType.spec.js.map +0 -1
  465. package/dist/types/StringType.spec.d.ts +0 -1
  466. package/dist/types/StringType.spec.js +0 -12
  467. package/dist/types/StringType.spec.js.map +0 -1
  468. package/dist/types/TypedFunctionType.spec.d.ts +0 -1
  469. package/dist/types/TypedFunctionType.spec.js +0 -122
  470. package/dist/types/TypedFunctionType.spec.js.map +0 -1
  471. package/dist/types/UnionType.spec.d.ts +0 -1
  472. package/dist/types/UnionType.spec.js +0 -205
  473. package/dist/types/UnionType.spec.js.map +0 -1
  474. package/dist/types/VoidType.spec.d.ts +0 -1
  475. package/dist/types/VoidType.spec.js +0 -12
  476. package/dist/types/VoidType.spec.js.map +0 -1
  477. package/dist/types/helper.spec.d.ts +0 -1
  478. package/dist/types/helper.spec.js +0 -174
  479. package/dist/types/helper.spec.js.map +0 -1
  480. package/dist/types/roFunctionType.spec.d.ts +0 -1
  481. package/dist/types/roFunctionType.spec.js +0 -20
  482. package/dist/types/roFunctionType.spec.js.map +0 -1
@@ -1,291 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../chai-config.spec");
4
- const Program_1 = require("../../Program");
5
- const sinon_1 = require("sinon");
6
- const testHelpers_spec_1 = require("../../testHelpers.spec");
7
- const vscode_languageserver_types_1 = require("vscode-languageserver-types");
8
- let sinon = (0, sinon_1.createSandbox)();
9
- describe('DocumentSymbolProcessor', () => {
10
- let program;
11
- beforeEach(() => {
12
- program = new Program_1.Program({ rootDir: testHelpers_spec_1.rootDir, sourceMap: true });
13
- });
14
- afterEach(() => {
15
- sinon.restore();
16
- program.dispose();
17
- });
18
- function doTest(source, expected) {
19
- program.setFile('source/main.brs', source);
20
- expectSymbols(program.getDocumentSymbols('source/main.brs'), expected);
21
- }
22
- it('skips other file types for now', () => {
23
- program.setFile('components/MainScene.xml', `
24
- <component name="MainScene" extends="Scene">
25
- </component>
26
- `);
27
- expectSymbols(program.getDocumentSymbols('components/MainScene.xml'), {});
28
- });
29
- it('does not crash when name is missing', () => {
30
- program.plugins['suppressErrors'] = false;
31
- function testMissingToken(source, nameTokenPath, expected = {}) {
32
- const file = program.setFile('source/main.brs', source);
33
- let node = file.ast.statements[0];
34
- //delete the token at the given path
35
- for (let i = 0; i < nameTokenPath.length - 1; i++) {
36
- node = node[nameTokenPath[i]];
37
- }
38
- const lastTokenPath = nameTokenPath[nameTokenPath.length - 1];
39
- delete node[lastTokenPath];
40
- expectSymbols(program.getDocumentSymbols('source/main.brs'), expected);
41
- }
42
- //function name is missing
43
- testMissingToken(`
44
- sub alpha()
45
- end sub
46
- `, ['tokens', 'name']);
47
- //class name is missing
48
- testMissingToken(`
49
- class alpha
50
- end class
51
- `, ['tokens', 'name']);
52
- //class field name is missing
53
- testMissingToken(`
54
- class alpha
55
- name as string
56
- end class
57
- `, ['body', '0', 'tokens', 'name'], {
58
- alpha: vscode_languageserver_types_1.SymbolKind.Class
59
- });
60
- //class method name is missing
61
- testMissingToken(`
62
- class alpha
63
- sub test()
64
- end sub
65
- end class
66
- `, ['body', '0', 'tokens', 'name'], {
67
- alpha: vscode_languageserver_types_1.SymbolKind.Class
68
- });
69
- //interface name is missing
70
- testMissingToken(`
71
- interface alpha
72
- end interface
73
- `, ['tokens', 'name']);
74
- //interface method name is missing
75
- testMissingToken(`
76
- interface alpha
77
- sub test() as void
78
- end interface
79
- `, ['body', '0', 'tokens', 'name'], {
80
- alpha: vscode_languageserver_types_1.SymbolKind.Interface
81
- });
82
- //interface field name is missing
83
- testMissingToken(`
84
- interface alpha
85
- name as string
86
- end interface
87
- `, ['body', '0', 'tokens', 'name'], {
88
- alpha: vscode_languageserver_types_1.SymbolKind.Interface
89
- });
90
- //const name is missing
91
- testMissingToken(`
92
- const alpha = 1
93
- `, ['tokens', 'name']);
94
- //namespace name is missing
95
- testMissingToken(`
96
- namespace alpha
97
- end namespace
98
- `, ['nameExpression']);
99
- //enum name is missing
100
- testMissingToken(`
101
- enum alpha
102
- end enum
103
- `, ['tokens', 'name']);
104
- //enum member name is missing
105
- testMissingToken(`
106
- enum alpha
107
- name = 1
108
- end enum
109
- `, ['body', '0', 'tokens', 'name'], {
110
- alpha: vscode_languageserver_types_1.SymbolKind.Enum
111
- });
112
- });
113
- it('finds functions', () => {
114
- doTest(`
115
- function alpha()
116
- end function
117
- function beta()
118
- end function
119
- `, {
120
- 'alpha': vscode_languageserver_types_1.SymbolKind.Function,
121
- 'beta': vscode_languageserver_types_1.SymbolKind.Function
122
- });
123
- });
124
- it('finds namespaces', () => {
125
- doTest(`
126
- namespace alpha
127
- end namespace
128
- namespace beta
129
- end namespace
130
- namespace charlie
131
- namespace delta
132
- end namespace
133
- end namespace
134
- `, {
135
- alpha: vscode_languageserver_types_1.SymbolKind.Namespace,
136
- beta: vscode_languageserver_types_1.SymbolKind.Namespace,
137
- charlie: {
138
- kind: vscode_languageserver_types_1.SymbolKind.Namespace,
139
- children: {
140
- delta: vscode_languageserver_types_1.SymbolKind.Namespace
141
- }
142
- }
143
- });
144
- });
145
- it('finds classes', () => {
146
- doTest(`
147
- class alpha
148
- end class
149
-
150
- namespace beta
151
- class charlie
152
- name as string
153
- sub speak()
154
- print "I am " + m.name
155
- end sub
156
- end class
157
- end namespace
158
- `, {
159
- alpha: vscode_languageserver_types_1.SymbolKind.Class,
160
- beta: {
161
- kind: vscode_languageserver_types_1.SymbolKind.Namespace,
162
- children: {
163
- charlie: {
164
- kind: vscode_languageserver_types_1.SymbolKind.Class,
165
- children: {
166
- name: vscode_languageserver_types_1.SymbolKind.Field,
167
- speak: vscode_languageserver_types_1.SymbolKind.Method
168
- }
169
- }
170
- }
171
- }
172
- });
173
- });
174
- it('finds interfaces', () => {
175
- doTest(`
176
- interface alpha
177
- name as string
178
- end interface
179
-
180
- namespace beta
181
- interface charlie
182
- age as string
183
- sub speak() as void
184
- end interface
185
- end namespace
186
- `, {
187
- alpha: {
188
- kind: vscode_languageserver_types_1.SymbolKind.Interface,
189
- children: {
190
- name: vscode_languageserver_types_1.SymbolKind.Field
191
- }
192
- },
193
- beta: {
194
- kind: vscode_languageserver_types_1.SymbolKind.Namespace,
195
- children: {
196
- charlie: {
197
- kind: vscode_languageserver_types_1.SymbolKind.Interface,
198
- children: {
199
- age: vscode_languageserver_types_1.SymbolKind.Field,
200
- speak: vscode_languageserver_types_1.SymbolKind.Method
201
- }
202
- }
203
- }
204
- }
205
- });
206
- });
207
- it('finds consts', () => {
208
- doTest(`
209
- const alpha = 1
210
- namespace beta
211
- const charlie = 2
212
- end namespace
213
- const delta = 3
214
- `, {
215
- alpha: vscode_languageserver_types_1.SymbolKind.Constant,
216
- beta: {
217
- kind: vscode_languageserver_types_1.SymbolKind.Namespace,
218
- children: {
219
- charlie: vscode_languageserver_types_1.SymbolKind.Constant
220
- }
221
- },
222
- delta: vscode_languageserver_types_1.SymbolKind.Constant
223
- });
224
- });
225
- it('finds enums', () => {
226
- doTest(`
227
- enum alpha
228
- a = 1
229
- b = 2
230
- end enum
231
- namespace beta
232
- enum charlie
233
- c = 3
234
- d = 4
235
- end enum
236
- end namespace
237
- `, {
238
- alpha: {
239
- kind: vscode_languageserver_types_1.SymbolKind.Enum,
240
- children: {
241
- a: vscode_languageserver_types_1.SymbolKind.EnumMember,
242
- b: vscode_languageserver_types_1.SymbolKind.EnumMember
243
- }
244
- },
245
- beta: {
246
- kind: vscode_languageserver_types_1.SymbolKind.Namespace,
247
- children: {
248
- charlie: {
249
- kind: vscode_languageserver_types_1.SymbolKind.Enum,
250
- children: {
251
- c: vscode_languageserver_types_1.SymbolKind.EnumMember,
252
- d: vscode_languageserver_types_1.SymbolKind.EnumMember
253
- }
254
- }
255
- }
256
- }
257
- });
258
- });
259
- function expectSymbols(documentSymbols, expected) {
260
- (0, chai_config_spec_1.expect)(symbolKindToString(createSymbolTree(documentSymbols))).to.eql(symbolKindToString(expected));
261
- }
262
- const SymbolKindMap = new Map(Object.entries(vscode_languageserver_types_1.SymbolKind).map(x => [x[1], x[0]]));
263
- function symbolKindToString(tree) {
264
- //recursively walk the tree and convert every .kind property to a string
265
- for (let key in tree) {
266
- let value = tree[key];
267
- if (typeof value === 'object') {
268
- tree[key] = symbolKindToString(value);
269
- }
270
- else {
271
- tree[key] = SymbolKindMap.get(value);
272
- }
273
- }
274
- return tree;
275
- }
276
- function createSymbolTree(documentSymbols) {
277
- var _a;
278
- let tree = {};
279
- for (let symbol of documentSymbols) {
280
- tree[symbol.name] = symbol.kind;
281
- if (((_a = symbol.children) === null || _a === void 0 ? void 0 : _a.length) > 0) {
282
- tree[symbol.name] = {
283
- kind: symbol.kind,
284
- children: createSymbolTree(symbol.children)
285
- };
286
- }
287
- }
288
- return tree;
289
- }
290
- });
291
- //# sourceMappingURL=DocumentSymbolProcessor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DocumentSymbolProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/symbols/DocumentSymbolProcessor.spec.ts"],"names":[],"mappings":"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"}
@@ -1,245 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../chai-config.spec");
4
- const Program_1 = require("../../Program");
5
- const sinon_1 = require("sinon");
6
- const testHelpers_spec_1 = require("../../testHelpers.spec");
7
- const vscode_languageserver_types_1 = require("vscode-languageserver-types");
8
- const vscode_languageserver_types_2 = require("vscode-languageserver-types");
9
- const util_1 = require("../../util");
10
- let sinon = (0, sinon_1.createSandbox)();
11
- describe('WorkspaceSymbolProcessor', () => {
12
- let program;
13
- beforeEach(() => {
14
- program = new Program_1.Program({ rootDir: testHelpers_spec_1.rootDir, sourceMap: true });
15
- });
16
- afterEach(() => {
17
- sinon.restore();
18
- program.dispose();
19
- });
20
- function doTest(sources, expected) {
21
- var _a;
22
- for (let i = 0; i < sources.length; i++) {
23
- program.setFile(`source/lib${i}.brs`, sources[i]);
24
- }
25
- const actual = program.getWorkspaceSymbols().sort((a, b) => symbolToString(a).localeCompare(symbolToString(b)));
26
- for (let i = 0; i < actual.length; i++) {
27
- let a = actual[i];
28
- let b = expected === null || expected === void 0 ? void 0 : expected[i];
29
- //if the expected doesn't have a range, delete the range from the actual
30
- if ((b === null || b === void 0 ? void 0 : b[3]) === undefined) {
31
- delete a.location.range;
32
- }
33
- }
34
- (0, chai_config_spec_1.expect)(actual.map(x => symbolToString(x))).to.eql((_a = expected === null || expected === void 0 ? void 0 : expected.map(x => {
35
- var _a;
36
- return symbolToString(vscode_languageserver_types_1.WorkspaceSymbol.create(x[0], x[1], util_1.default.pathToUri((0, util_1.standardizePath) `${testHelpers_spec_1.rootDir}/${(_a = x[2]) !== null && _a !== void 0 ? _a : 'source/lib0.brs'}`), typeof x[3] === 'number' ? util_1.default.createRange(x[3], x[4], x[5], x[6]) : null));
37
- })) !== null && _a !== void 0 ? _a : undefined);
38
- }
39
- const SymbolKindMap = new Map(Object.entries(vscode_languageserver_types_2.SymbolKind).map(x => [x[1], x[0]]));
40
- function symbolToString(symbol) {
41
- let result = `${symbol.name}|${SymbolKindMap.get(symbol.kind)}|${symbol.location.uri}`;
42
- const range = symbol.location.range;
43
- if (range) {
44
- result += '|' + util_1.default.rangeToString(range);
45
- }
46
- return result;
47
- }
48
- it('skips other file types for now', () => {
49
- program.setFile('components/MainScene.xml', `
50
- <component name="MainScene" extends="Scene">
51
- </component>
52
- `);
53
- (0, chai_config_spec_1.expect)(program.getWorkspaceSymbols()).to.eql([]);
54
- });
55
- it('does not crash when name is missing', () => {
56
- program.plugins['suppressErrors'] = false;
57
- function testMissingToken(source, nameTokenPath, expected) {
58
- const file = program.setFile('source/lib0.brs', source);
59
- let node = file.ast.statements[0];
60
- //delete the token at the given path
61
- for (let i = 0; i < nameTokenPath.length - 1; i++) {
62
- node = node[nameTokenPath[i]];
63
- }
64
- delete node[nameTokenPath[nameTokenPath.length - 1]];
65
- doTest([], expected !== null && expected !== void 0 ? expected : []);
66
- }
67
- //function name is missing
68
- testMissingToken(`
69
- sub alpha()
70
- end sub
71
- `, ['tokens', 'name']);
72
- //class name is missing
73
- testMissingToken(`
74
- class alpha
75
- end class
76
- `, ['tokens', 'name']);
77
- //class field name is missing
78
- testMissingToken(`
79
- class alpha
80
- name as string
81
- end class
82
- `, ['body', '0', 'tokens', 'name'], [
83
- ['alpha', vscode_languageserver_types_2.SymbolKind.Class]
84
- ]);
85
- //class method name is missing
86
- testMissingToken(`
87
- class alpha
88
- sub test()
89
- end sub
90
- end class
91
- `, ['body', '0', 'tokens', 'name'], [
92
- ['alpha', vscode_languageserver_types_2.SymbolKind.Class]
93
- ]);
94
- //interface name is missing
95
- testMissingToken(`
96
- interface alpha
97
- end interface
98
- `, ['tokens', 'name']);
99
- //interface method name is missing
100
- testMissingToken(`
101
- interface alpha
102
- sub test() as void
103
- end interface
104
- `, ['body', '0', 'tokens', 'name'], [
105
- ['alpha', vscode_languageserver_types_2.SymbolKind.Interface]
106
- ]);
107
- //interface field name is missing
108
- testMissingToken(`
109
- interface alpha
110
- name as string
111
- end interface
112
- `, ['body', '0', 'tokens', 'name'], [
113
- ['alpha', vscode_languageserver_types_2.SymbolKind.Interface]
114
- ]);
115
- //const name is missing
116
- testMissingToken(`
117
- const alpha = 1
118
- `, ['tokens', 'name']);
119
- //namespace name is missing
120
- testMissingToken(`
121
- namespace alpha
122
- end namespace
123
- `, ['nameExpression']);
124
- //enum name is missing
125
- testMissingToken(`
126
- enum alpha
127
- end enum
128
- `, ['tokens', 'name']);
129
- //enum member name is missing
130
- testMissingToken(`
131
- enum alpha
132
- name = 1
133
- end enum
134
- `, ['body', '0', 'tokens', 'name'], [
135
- ['alpha', vscode_languageserver_types_2.SymbolKind.Enum]
136
- ]);
137
- });
138
- it('finds functions', () => {
139
- doTest([`
140
- function alpha()
141
- end function
142
- function beta()
143
- end function
144
- `], [
145
- ['alpha', vscode_languageserver_types_2.SymbolKind.Function, 'source/lib0.brs', 1, 21, 1, 26],
146
- ['beta', vscode_languageserver_types_2.SymbolKind.Function, 'source/lib0.brs', 3, 21, 3, 25]
147
- ]);
148
- });
149
- it('finds namespaces', () => {
150
- doTest([`
151
- namespace alpha
152
- end namespace
153
- namespace beta
154
- end namespace
155
- namespace charlie
156
- namespace delta
157
- end namespace
158
- end namespace
159
- `], [
160
- ['alpha', vscode_languageserver_types_2.SymbolKind.Namespace],
161
- ['beta', vscode_languageserver_types_2.SymbolKind.Namespace],
162
- ['charlie', vscode_languageserver_types_2.SymbolKind.Namespace],
163
- ['delta', vscode_languageserver_types_2.SymbolKind.Namespace]
164
- ]);
165
- });
166
- it('finds classes', () => {
167
- doTest([`
168
- class alpha
169
- end class
170
-
171
- namespace beta
172
- class charlie
173
- name as string
174
- sub speak()
175
- print "I am " + m.name
176
- end sub
177
- end class
178
- end namespace
179
- `], [
180
- ['alpha', vscode_languageserver_types_2.SymbolKind.Class],
181
- ['beta', vscode_languageserver_types_2.SymbolKind.Namespace],
182
- ['charlie', vscode_languageserver_types_2.SymbolKind.Class],
183
- ['name', vscode_languageserver_types_2.SymbolKind.Field],
184
- ['speak', vscode_languageserver_types_2.SymbolKind.Method]
185
- ]);
186
- });
187
- it('finds interfaces', () => {
188
- doTest([`
189
- interface alpha
190
- beta as string
191
- end interface
192
-
193
- namespace charlie
194
- interface delta
195
- echo as string
196
- sub foxtrot() as void
197
- end interface
198
- end namespace
199
- `], [
200
- ['alpha', vscode_languageserver_types_2.SymbolKind.Interface],
201
- ['beta', vscode_languageserver_types_2.SymbolKind.Field],
202
- ['charlie', vscode_languageserver_types_2.SymbolKind.Namespace],
203
- ['delta', vscode_languageserver_types_2.SymbolKind.Interface],
204
- ['echo', vscode_languageserver_types_2.SymbolKind.Field],
205
- ['foxtrot', vscode_languageserver_types_2.SymbolKind.Method]
206
- ]);
207
- });
208
- it('finds consts', () => {
209
- doTest([`
210
- const alpha = 1
211
- namespace beta
212
- const charlie = 2
213
- end namespace
214
- const delta = 3
215
- `], [
216
- ['alpha', vscode_languageserver_types_2.SymbolKind.Constant],
217
- ['beta', vscode_languageserver_types_2.SymbolKind.Namespace],
218
- ['charlie', vscode_languageserver_types_2.SymbolKind.Constant],
219
- ['delta', vscode_languageserver_types_2.SymbolKind.Constant]
220
- ]);
221
- });
222
- it('finds enums', () => {
223
- doTest([`
224
- enum alpha
225
- b = 1
226
- c = 2
227
- end enum
228
- namespace delta
229
- enum echo
230
- f = 3
231
- g = 4
232
- end enum
233
- end namespace
234
- `], [
235
- ['alpha', vscode_languageserver_types_2.SymbolKind.Enum],
236
- ['b', vscode_languageserver_types_2.SymbolKind.EnumMember],
237
- ['c', vscode_languageserver_types_2.SymbolKind.EnumMember],
238
- ['delta', vscode_languageserver_types_2.SymbolKind.Namespace],
239
- ['echo', vscode_languageserver_types_2.SymbolKind.Enum],
240
- ['f', vscode_languageserver_types_2.SymbolKind.EnumMember],
241
- ['g', vscode_languageserver_types_2.SymbolKind.EnumMember]
242
- ]);
243
- });
244
- });
245
- //# sourceMappingURL=WorkspaceSymbolProcessor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WorkspaceSymbolProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.ts"],"names":[],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sinon_1 = require("sinon");
4
- const fsExtra = require("fs-extra");
5
- const Program_1 = require("../../Program");
6
- const util_1 = require("../../util");
7
- const testHelpers_spec_1 = require("../../testHelpers.spec");
8
- const chai_1 = require("chai");
9
- const Parser_1 = require("../../parser/Parser");
10
- const reflection_1 = require("../../astUtils/reflection");
11
- const sinon = (0, sinon_1.createSandbox)();
12
- describe('BrsFileTranspileProcessor', () => {
13
- let program;
14
- beforeEach(() => {
15
- fsExtra.emptyDirSync(testHelpers_spec_1.tempDir);
16
- program = new Program_1.Program({ rootDir: testHelpers_spec_1.rootDir, sourceMap: true });
17
- });
18
- afterEach(() => {
19
- sinon.restore();
20
- program.dispose();
21
- });
22
- it('does not crash when operating on a file not included by any scope', async () => {
23
- program.setFile('components/lib.brs', `
24
- sub doSomething()
25
- a = { b: "c"}
26
- print a.b
27
- end sub
28
- `);
29
- await program.build({ outDir: (0, util_1.standardizePath) `${testHelpers_spec_1.tempDir}/out` });
30
- });
31
- it('properly prefixes functions from bslib', async () => {
32
- program.options.outDir = (0, util_1.standardizePath) `${testHelpers_spec_1.tempDir}/staging`;
33
- program.setFile('source/main.bs', `
34
- sub main()
35
- print true ? true : false
36
- end sub
37
- `);
38
- program.validate();
39
- await program.build();
40
- (0, chai_1.expect)(fsExtra.readFileSync(`${program.options.outDir}/source/bslib.brs`).toString()).to.include('bslib_toString');
41
- });
42
- it('properly prefixes functions from bslib when found in roku_modules as `bslib`', async () => {
43
- program.options.outDir = (0, util_1.standardizePath) `${testHelpers_spec_1.tempDir}/staging`;
44
- program.setFile('source/main.bs', `
45
- sub main()
46
- print true ? true : false
47
- end sub
48
- `);
49
- program.setFile('source/roku_modules/bslib/bslib.brs', `
50
- function bslib_toString()
51
- end function
52
- `);
53
- program.validate();
54
- await program.build();
55
- const parser = Parser_1.Parser.parse(fsExtra.readFileSync((0, util_1.standardizePath) `${program.options.outDir}/source/roku_modules/bslib/bslib.brs`).toString());
56
- (0, chai_1.expect)(parser.ast.findChildren(reflection_1.isFunctionStatement).map(x => x.tokens.name.text)).to.include('bslib_toString');
57
- });
58
- it('properly prefixes functions from bslib when found in roku_modules as `rokucommunity_bslib`', async () => {
59
- program.options.outDir = (0, util_1.standardizePath) `${testHelpers_spec_1.tempDir}/staging`;
60
- program.setFile('source/main.bs', `
61
- sub main()
62
- print true ? true : false
63
- end sub
64
- `);
65
- program.setFile('source/roku_modules/rokucommunity_bslib/bslib.brs', `
66
- function rokucommunity_bslib_toString()
67
- end function
68
- `);
69
- program.validate();
70
- await program.build();
71
- const parser = Parser_1.Parser.parse(fsExtra.readFileSync((0, util_1.standardizePath) `${program.options.outDir}/source/roku_modules/rokucommunity_bslib/bslib.brs`).toString());
72
- (0, chai_1.expect)(parser.ast.findChildren(reflection_1.isFunctionStatement).map(x => x.tokens.name.text)).to.include('rokucommunity_bslib_toString');
73
- });
74
- });
75
- //# sourceMappingURL=BrsFileTranspileProcessor.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrsFileTranspileProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/transpile/BrsFileTranspileProcessor.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};