brighterscript 0.72.1 → 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 (289) hide show
  1. package/package.json +17 -14
  2. package/dist/astUtils/AstEditor.spec.d.ts +0 -1
  3. package/dist/astUtils/AstEditor.spec.js +0 -254
  4. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  5. package/dist/astUtils/creators.spec.d.ts +0 -1
  6. package/dist/astUtils/creators.spec.js +0 -21
  7. package/dist/astUtils/creators.spec.js.map +0 -1
  8. package/dist/astUtils/reflection.spec.d.ts +0 -1
  9. package/dist/astUtils/reflection.spec.js +0 -308
  10. package/dist/astUtils/reflection.spec.js.map +0 -1
  11. package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
  12. package/dist/astUtils/stackedVisitor.spec.js +0 -79
  13. package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
  14. package/dist/astUtils/visitors.spec.d.ts +0 -1
  15. package/dist/astUtils/visitors.spec.js +0 -1197
  16. package/dist/astUtils/visitors.spec.js.map +0 -1
  17. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
  18. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -1237
  19. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
  20. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
  21. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -171
  22. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
  23. package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
  24. package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -201
  25. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
  26. package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
  27. package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
  28. package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
  29. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +0 -1
  30. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +0 -298
  31. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +0 -1
  32. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
  33. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -399
  34. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
  35. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
  36. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -290
  37. package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
  38. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
  39. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
  40. package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
  41. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +0 -1
  42. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -46
  43. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  44. package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
  45. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -702
  46. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
  47. package/dist/common/Sequencer.spec.d.ts +0 -1
  48. package/dist/common/Sequencer.spec.js +0 -75
  49. package/dist/common/Sequencer.spec.js.map +0 -1
  50. package/dist/files/BrsFile.Class.spec.d.ts +0 -1
  51. package/dist/files/BrsFile.Class.spec.js +0 -1805
  52. package/dist/files/BrsFile.Class.spec.js.map +0 -1
  53. package/dist/files/BrsFile.spec.d.ts +0 -1
  54. package/dist/files/BrsFile.spec.js +0 -4611
  55. package/dist/files/BrsFile.spec.js.map +0 -1
  56. package/dist/files/XmlFile.spec.d.ts +0 -1
  57. package/dist/files/XmlFile.spec.js +0 -1219
  58. package/dist/files/XmlFile.spec.js.map +0 -1
  59. package/dist/files/tests/imports.spec.d.ts +0 -1
  60. package/dist/files/tests/imports.spec.js +0 -241
  61. package/dist/files/tests/imports.spec.js.map +0 -1
  62. package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
  63. package/dist/files/tests/optionalChaning.spec.js +0 -152
  64. package/dist/files/tests/optionalChaning.spec.js.map +0 -1
  65. package/dist/lexer/Character.spec.d.ts +0 -1
  66. package/dist/lexer/Character.spec.js +0 -27
  67. package/dist/lexer/Character.spec.js.map +0 -1
  68. package/dist/lexer/Lexer.spec.d.ts +0 -1
  69. package/dist/lexer/Lexer.spec.js +0 -1300
  70. package/dist/lexer/Lexer.spec.js.map +0 -1
  71. package/dist/lsp/ActionQueue.spec.d.ts +0 -1
  72. package/dist/lsp/ActionQueue.spec.js +0 -80
  73. package/dist/lsp/ActionQueue.spec.js.map +0 -1
  74. package/dist/lsp/DocumentManager.spec.d.ts +0 -1
  75. package/dist/lsp/DocumentManager.spec.js +0 -103
  76. package/dist/lsp/DocumentManager.spec.js.map +0 -1
  77. package/dist/lsp/PathFilterer.spec.d.ts +0 -1
  78. package/dist/lsp/PathFilterer.spec.js +0 -182
  79. package/dist/lsp/PathFilterer.spec.js.map +0 -1
  80. package/dist/lsp/Project.spec.d.ts +0 -1
  81. package/dist/lsp/Project.spec.js +0 -400
  82. package/dist/lsp/Project.spec.js.map +0 -1
  83. package/dist/lsp/ProjectManager.spec.d.ts +0 -1
  84. package/dist/lsp/ProjectManager.spec.js +0 -1183
  85. package/dist/lsp/ProjectManager.spec.js.map +0 -1
  86. package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
  87. package/dist/lsp/worker/MessageHandler.spec.js +0 -64
  88. package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
  89. package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
  90. package/dist/lsp/worker/WorkerPool.spec.js +0 -59
  91. package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
  92. package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
  93. package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -72
  94. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
  95. package/dist/parser/AstNode.spec.d.ts +0 -1
  96. package/dist/parser/AstNode.spec.js +0 -1452
  97. package/dist/parser/AstNode.spec.js.map +0 -1
  98. package/dist/parser/Expression.spec.d.ts +0 -1
  99. package/dist/parser/Expression.spec.js +0 -40
  100. package/dist/parser/Expression.spec.js.map +0 -1
  101. package/dist/parser/Parser.Class.spec.d.ts +0 -1
  102. package/dist/parser/Parser.Class.spec.js +0 -495
  103. package/dist/parser/Parser.Class.spec.js.map +0 -1
  104. package/dist/parser/Parser.spec.d.ts +0 -4
  105. package/dist/parser/Parser.spec.js +0 -1985
  106. package/dist/parser/Parser.spec.js.map +0 -1
  107. package/dist/parser/SGParser.spec.d.ts +0 -1
  108. package/dist/parser/SGParser.spec.js +0 -131
  109. package/dist/parser/SGParser.spec.js.map +0 -1
  110. package/dist/parser/Statement.spec.d.ts +0 -1
  111. package/dist/parser/Statement.spec.js +0 -118
  112. package/dist/parser/Statement.spec.js.map +0 -1
  113. package/dist/parser/tests/Parser.spec.d.ts +0 -19
  114. package/dist/parser/tests/Parser.spec.js +0 -38
  115. package/dist/parser/tests/Parser.spec.js.map +0 -1
  116. package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
  117. package/dist/parser/tests/controlFlow/For.spec.js +0 -208
  118. package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
  119. package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
  120. package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -143
  121. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
  122. package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
  123. package/dist/parser/tests/controlFlow/If.spec.js +0 -570
  124. package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
  125. package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
  126. package/dist/parser/tests/controlFlow/While.spec.js +0 -156
  127. package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
  128. package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
  129. package/dist/parser/tests/expression/Additive.spec.js +0 -99
  130. package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
  131. package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
  132. package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -291
  133. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
  134. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
  135. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -401
  136. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
  137. package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
  138. package/dist/parser/tests/expression/Boolean.spec.js +0 -83
  139. package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
  140. package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
  141. package/dist/parser/tests/expression/Call.spec.js +0 -242
  142. package/dist/parser/tests/expression/Call.spec.js.map +0 -1
  143. package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
  144. package/dist/parser/tests/expression/Exponential.spec.js +0 -37
  145. package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
  146. package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
  147. package/dist/parser/tests/expression/Function.spec.js +0 -403
  148. package/dist/parser/tests/expression/Function.spec.js.map +0 -1
  149. package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
  150. package/dist/parser/tests/expression/Indexing.spec.js +0 -289
  151. package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
  152. package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
  153. package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
  154. package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
  155. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
  156. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
  157. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
  158. package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
  159. package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -105
  160. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
  161. package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
  162. package/dist/parser/tests/expression/Primary.spec.js +0 -149
  163. package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
  164. package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
  165. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
  166. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
  167. package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
  168. package/dist/parser/tests/expression/Relational.spec.js +0 -83
  169. package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
  170. package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
  171. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
  172. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
  173. package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
  174. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
  175. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
  176. package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
  177. package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -876
  178. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
  179. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
  180. package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
  181. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
  182. package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
  183. package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
  184. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
  185. package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
  186. package/dist/parser/tests/statement/ConstStatement.spec.js +0 -708
  187. package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
  188. package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
  189. package/dist/parser/tests/statement/Continue.spec.js +0 -119
  190. package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
  191. package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
  192. package/dist/parser/tests/statement/Declaration.spec.js +0 -108
  193. package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
  194. package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
  195. package/dist/parser/tests/statement/Dim.spec.js +0 -73
  196. package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
  197. package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
  198. package/dist/parser/tests/statement/Enum.spec.js +0 -1307
  199. package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
  200. package/dist/parser/tests/statement/For.spec.d.ts +0 -1
  201. package/dist/parser/tests/statement/For.spec.js +0 -45
  202. package/dist/parser/tests/statement/For.spec.js.map +0 -1
  203. package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
  204. package/dist/parser/tests/statement/ForEach.spec.js +0 -36
  205. package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
  206. package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
  207. package/dist/parser/tests/statement/Function.spec.js +0 -342
  208. package/dist/parser/tests/statement/Function.spec.js.map +0 -1
  209. package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
  210. package/dist/parser/tests/statement/Goto.spec.js +0 -51
  211. package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
  212. package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
  213. package/dist/parser/tests/statement/Increment.spec.js +0 -117
  214. package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
  215. package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
  216. package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -102
  217. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
  218. package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
  219. package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
  220. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
  221. package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
  222. package/dist/parser/tests/statement/Misc.spec.js +0 -335
  223. package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
  224. package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
  225. package/dist/parser/tests/statement/PrintStatement.spec.js +0 -195
  226. package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
  227. package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
  228. package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -94
  229. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
  230. package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
  231. package/dist/parser/tests/statement/Set.spec.js +0 -218
  232. package/dist/parser/tests/statement/Set.spec.js.map +0 -1
  233. package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
  234. package/dist/parser/tests/statement/Stop.spec.js +0 -38
  235. package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
  236. package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
  237. package/dist/parser/tests/statement/Throw.spec.js +0 -35
  238. package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
  239. package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
  240. package/dist/parser/tests/statement/TryCatch.spec.js +0 -142
  241. package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
  242. package/dist/preprocessor/Manifest.spec.d.ts +0 -1
  243. package/dist/preprocessor/Manifest.spec.js +0 -80
  244. package/dist/preprocessor/Manifest.spec.js.map +0 -1
  245. package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
  246. package/dist/preprocessor/Preprocessor.spec.js +0 -152
  247. package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
  248. package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
  249. package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
  250. package/dist/preprocessor/PreprocessorParser.spec.js.map +0 -1
  251. package/dist/types/ArrayType.spec.d.ts +0 -1
  252. package/dist/types/ArrayType.spec.js +0 -30
  253. package/dist/types/ArrayType.spec.js.map +0 -1
  254. package/dist/types/BooleanType.spec.d.ts +0 -1
  255. package/dist/types/BooleanType.spec.js +0 -12
  256. package/dist/types/BooleanType.spec.js.map +0 -1
  257. package/dist/types/DoubleType.spec.d.ts +0 -1
  258. package/dist/types/DoubleType.spec.js +0 -12
  259. package/dist/types/DoubleType.spec.js.map +0 -1
  260. package/dist/types/DynamicType.spec.d.ts +0 -1
  261. package/dist/types/DynamicType.spec.js +0 -12
  262. package/dist/types/DynamicType.spec.js.map +0 -1
  263. package/dist/types/FloatType.spec.d.ts +0 -1
  264. package/dist/types/FloatType.spec.js +0 -12
  265. package/dist/types/FloatType.spec.js.map +0 -1
  266. package/dist/types/FunctionType.spec.d.ts +0 -1
  267. package/dist/types/FunctionType.spec.js +0 -23
  268. package/dist/types/FunctionType.spec.js.map +0 -1
  269. package/dist/types/IntegerType.spec.d.ts +0 -1
  270. package/dist/types/IntegerType.spec.js +0 -12
  271. package/dist/types/IntegerType.spec.js.map +0 -1
  272. package/dist/types/InterfaceType.spec.d.ts +0 -1
  273. package/dist/types/InterfaceType.spec.js +0 -175
  274. package/dist/types/InterfaceType.spec.js.map +0 -1
  275. package/dist/types/InvalidType.spec.d.ts +0 -1
  276. package/dist/types/InvalidType.spec.js +0 -12
  277. package/dist/types/InvalidType.spec.js.map +0 -1
  278. package/dist/types/LongIntegerType.spec.d.ts +0 -1
  279. package/dist/types/LongIntegerType.spec.js +0 -12
  280. package/dist/types/LongIntegerType.spec.js.map +0 -1
  281. package/dist/types/ObjectType.spec.d.ts +0 -1
  282. package/dist/types/ObjectType.spec.js +0 -12
  283. package/dist/types/ObjectType.spec.js.map +0 -1
  284. package/dist/types/StringType.spec.d.ts +0 -1
  285. package/dist/types/StringType.spec.js +0 -12
  286. package/dist/types/StringType.spec.js.map +0 -1
  287. package/dist/types/VoidType.spec.d.ts +0 -1
  288. package/dist/types/VoidType.spec.js +0 -12
  289. package/dist/types/VoidType.spec.js.map +0 -1
@@ -1,289 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../../chai-config.spec");
4
- const Parser_1 = require("../../Parser");
5
- const TokenKind_1 = require("../../../lexer/TokenKind");
6
- const Parser_spec_1 = require("../Parser.spec");
7
- const vscode_languageserver_1 = require("vscode-languageserver");
8
- const DiagnosticMessages_1 = require("../../../DiagnosticMessages");
9
- const Statement_1 = require("../../Statement");
10
- const testHelpers_spec_1 = require("../../../testHelpers.spec");
11
- const reflection_1 = require("../../../astUtils/reflection");
12
- const visitors_1 = require("../../../astUtils/visitors");
13
- describe('parser indexing', () => {
14
- describe('one level', () => {
15
- it('dotted', () => {
16
- let { statements, diagnostics } = Parser_1.Parser.parse([
17
- (0, Parser_spec_1.identifier)('_'),
18
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
19
- (0, Parser_spec_1.identifier)('foo'),
20
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
21
- (0, Parser_spec_1.identifier)('bar'),
22
- Parser_spec_1.EOF
23
- ]);
24
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
25
- (0, chai_config_spec_1.expect)(statements).to.exist;
26
- (0, chai_config_spec_1.expect)(statements).not.to.be.null;
27
- });
28
- it('bracketed', () => {
29
- let { statements, diagnostics } = Parser_1.Parser.parse([
30
- (0, Parser_spec_1.identifier)('_'),
31
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
32
- (0, Parser_spec_1.identifier)('foo'),
33
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
34
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
35
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
36
- Parser_spec_1.EOF
37
- ]);
38
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
39
- (0, chai_config_spec_1.expect)(statements).to.exist;
40
- (0, chai_config_spec_1.expect)(statements).not.to.be.null;
41
- });
42
- describe('dotted and bracketed', () => {
43
- it('single dot', () => {
44
- let { statements, diagnostics } = Parser_1.Parser.parse([
45
- (0, Parser_spec_1.identifier)('_'),
46
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
47
- (0, Parser_spec_1.identifier)('foo'),
48
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
49
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
50
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Integer, '2'),
51
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
52
- Parser_spec_1.EOF
53
- ]);
54
- (0, chai_config_spec_1.expect)(diagnostics).to.be.empty;
55
- (0, chai_config_spec_1.expect)(statements[0]).to.be.instanceof(Statement_1.AssignmentStatement);
56
- });
57
- it('multiple dots', () => {
58
- let { diagnostics, statements } = Parser_1.Parser.parse([
59
- (0, Parser_spec_1.identifier)('_'),
60
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
61
- (0, Parser_spec_1.identifier)('foo'),
62
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
63
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
64
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
65
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
66
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Integer, '2'),
67
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
68
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline),
69
- Parser_spec_1.EOF
70
- ]);
71
- (0, chai_config_spec_1.expect)(diagnostics.length).to.equal(3);
72
- (0, testHelpers_spec_1.expectDiagnostics)(diagnostics, [
73
- DiagnosticMessages_1.DiagnosticMessages.expectedPropertyNameAfterPeriod(),
74
- DiagnosticMessages_1.DiagnosticMessages.expectedNewlineOrColon(),
75
- DiagnosticMessages_1.DiagnosticMessages.unexpectedToken('.') // everything after the 2nd dot is ignored
76
- ]);
77
- // expect statement "_ = foo" to still be included
78
- (0, chai_config_spec_1.expect)(statements.length).to.equal(1);
79
- });
80
- });
81
- it('location tracking', () => {
82
- /**
83
- * 0 0 0 1
84
- * 0 4 8 2
85
- * +--------------
86
- * 0| a = foo.bar
87
- * 1| b = foo[2]
88
- */
89
- let { statements, diagnostics } = Parser_1.Parser.parse([
90
- {
91
- kind: TokenKind_1.TokenKind.Identifier,
92
- text: 'a',
93
- isReserved: false,
94
- range: vscode_languageserver_1.Range.create(0, 0, 0, 1)
95
- },
96
- {
97
- kind: TokenKind_1.TokenKind.Equal,
98
- text: '=',
99
- isReserved: false,
100
- range: vscode_languageserver_1.Range.create(0, 2, 0, 3)
101
- },
102
- {
103
- kind: TokenKind_1.TokenKind.Identifier,
104
- text: 'foo',
105
- isReserved: false,
106
- range: vscode_languageserver_1.Range.create(0, 4, 0, 7)
107
- },
108
- {
109
- kind: TokenKind_1.TokenKind.Dot,
110
- text: '.',
111
- isReserved: false,
112
- range: vscode_languageserver_1.Range.create(0, 7, 0, 8)
113
- },
114
- {
115
- kind: TokenKind_1.TokenKind.Identifier,
116
- text: 'bar',
117
- isReserved: false,
118
- range: vscode_languageserver_1.Range.create(0, 8, 0, 11)
119
- },
120
- {
121
- kind: TokenKind_1.TokenKind.Newline,
122
- text: '\n',
123
- isReserved: false,
124
- range: vscode_languageserver_1.Range.create(0, 11, 0, 12)
125
- },
126
- {
127
- kind: TokenKind_1.TokenKind.Identifier,
128
- text: 'b',
129
- isReserved: false,
130
- range: vscode_languageserver_1.Range.create(1, 0, 1, 1)
131
- },
132
- {
133
- kind: TokenKind_1.TokenKind.Equal,
134
- text: '=',
135
- isReserved: false,
136
- range: vscode_languageserver_1.Range.create(1, 2, 1, 3)
137
- },
138
- {
139
- kind: TokenKind_1.TokenKind.Identifier,
140
- text: 'bar',
141
- isReserved: false,
142
- range: vscode_languageserver_1.Range.create(1, 4, 1, 7)
143
- },
144
- {
145
- kind: TokenKind_1.TokenKind.LeftSquareBracket,
146
- text: '[',
147
- isReserved: false,
148
- range: vscode_languageserver_1.Range.create(1, 7, 1, 8)
149
- },
150
- {
151
- kind: TokenKind_1.TokenKind.IntegerLiteral,
152
- text: '2',
153
- isReserved: false,
154
- range: vscode_languageserver_1.Range.create(1, 8, 1, 9)
155
- },
156
- {
157
- kind: TokenKind_1.TokenKind.RightSquareBracket,
158
- text: ']',
159
- isReserved: false,
160
- range: vscode_languageserver_1.Range.create(1, 9, 1, 10)
161
- },
162
- {
163
- kind: TokenKind_1.TokenKind.Eof,
164
- text: '\0',
165
- isReserved: false,
166
- range: vscode_languageserver_1.Range.create(1, 10, 1, 11)
167
- }
168
- ]);
169
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
170
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(2);
171
- (0, chai_config_spec_1.expect)(statements.map(s => s.value.range)).to.deep.equal([
172
- vscode_languageserver_1.Range.create(0, 4, 0, 11),
173
- vscode_languageserver_1.Range.create(1, 4, 1, 10)
174
- ]);
175
- });
176
- });
177
- it('walks every index in the indexed get', () => {
178
- const parser = Parser_1.Parser.parse(`
179
- result = arr[0, 1, 2]
180
- `);
181
- const nodes = [];
182
- parser.ast.findChild(reflection_1.isAssignmentStatement).value.walk((x) => {
183
- if ((0, reflection_1.isLiteralExpression)(x)) {
184
- nodes.push(x.token.text);
185
- }
186
- }, { walkMode: visitors_1.WalkMode.visitAllRecursive });
187
- (0, chai_config_spec_1.expect)(nodes).to.eql(['0', '1', '2']);
188
- });
189
- it('walks every index in the indexed get', () => {
190
- const parser = Parser_1.Parser.parse(`
191
- arr[0, 1, 2] = "value"
192
- `);
193
- const nodes = [];
194
- parser.ast.findChild(reflection_1.isIndexedSetStatement).walk((x) => {
195
- if ((0, reflection_1.isLiteralExpression)(x)) {
196
- nodes.push(x.token.text);
197
- }
198
- }, { walkMode: visitors_1.WalkMode.visitAllRecursive });
199
- (0, chai_config_spec_1.expect)(nodes).to.eql(['0', '1', '2', '"value"']);
200
- });
201
- describe('multi-level', () => {
202
- it('dotted', () => {
203
- let { statements, diagnostics } = Parser_1.Parser.parse([
204
- (0, Parser_spec_1.identifier)('_'),
205
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
206
- (0, Parser_spec_1.identifier)('foo'),
207
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
208
- (0, Parser_spec_1.identifier)('bar'),
209
- Parser_spec_1.EOF
210
- ]);
211
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
212
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
213
- });
214
- it('bracketed', () => {
215
- let { statements, diagnostics } = Parser_1.Parser.parse([
216
- (0, Parser_spec_1.identifier)('_'),
217
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
218
- (0, Parser_spec_1.identifier)('foo'),
219
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
220
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
221
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
222
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
223
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '0'),
224
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
225
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
226
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '6'),
227
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
228
- Parser_spec_1.EOF
229
- ]);
230
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
231
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
232
- });
233
- it('mixed', () => {
234
- let { statements, diagnostics } = Parser_1.Parser.parse([
235
- (0, Parser_spec_1.identifier)('_'),
236
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
237
- (0, Parser_spec_1.identifier)('foo'),
238
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
239
- (0, Parser_spec_1.identifier)('bar'),
240
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftSquareBracket, '['),
241
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '0'),
242
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightSquareBracket, ']'),
243
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Dot, '.'),
244
- (0, Parser_spec_1.identifier)('baz'),
245
- Parser_spec_1.EOF
246
- ]);
247
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
248
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
249
- });
250
- });
251
- describe('unfinished brackets', () => {
252
- it('parses expression inside of brackets', () => {
253
- let { statements, diagnostics } = Parser_1.Parser.parse(`_ = foo[bar.baz.`);
254
- (0, chai_config_spec_1.expect)(diagnostics.length).to.be.greaterThan(0);
255
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(1);
256
- (0, chai_config_spec_1.expect)((0, reflection_1.isAssignmentStatement)(statements[0])).to.be.true;
257
- const assignStmt = statements[0];
258
- (0, chai_config_spec_1.expect)(assignStmt.name.text).to.equal('_');
259
- (0, chai_config_spec_1.expect)((0, reflection_1.isIndexedGetExpression)(assignStmt.value)).to.be.true;
260
- const indexedGetExpr = assignStmt.value;
261
- (0, chai_config_spec_1.expect)(indexedGetExpr.obj.name.text).to.equal('foo');
262
- (0, chai_config_spec_1.expect)((0, reflection_1.isDottedGetExpression)(indexedGetExpr.index)).to.be.true;
263
- const dottedGetExpr = indexedGetExpr.index;
264
- (0, chai_config_spec_1.expect)(dottedGetExpr.name.text).to.equal('baz');
265
- (0, chai_config_spec_1.expect)((0, reflection_1.isVariableExpression)(dottedGetExpr.obj)).to.be.true;
266
- });
267
- it('gets correct diagnostic for missing square brace without index', () => {
268
- let { diagnostics } = Parser_1.Parser.parse(`
269
- sub setData(obj)
270
- m.data = obj[
271
- end sub
272
- `);
273
- (0, testHelpers_spec_1.expectDiagnosticsIncludes)(diagnostics, [
274
- DiagnosticMessages_1.DiagnosticMessages.expectedRightSquareBraceAfterArrayOrObjectIndex()
275
- ]);
276
- });
277
- it('gets correct diagnostic for missing square brace with index', () => {
278
- let { diagnostics } = Parser_1.Parser.parse(`
279
- sub setData(obj)
280
- m.data = obj[1
281
- end sub
282
- `);
283
- (0, testHelpers_spec_1.expectDiagnosticsIncludes)(diagnostics, [
284
- DiagnosticMessages_1.DiagnosticMessages.expectedRightSquareBraceAfterArrayOrObjectIndex()
285
- ]);
286
- });
287
- });
288
- });
289
- //# sourceMappingURL=Indexing.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Indexing.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/Indexing.spec.ts"],"names":[],"mappings":";;AAAA,gEAAmD;AAEnD,yCAAsC;AACtC,wDAAqD;AACrD,gDAAwD;AACxD,iEAA8C;AAC9C,oEAAiE;AAEjE,+CAAsD;AACtD,gEAAyF;AACzF,6DAAsL;AAEtL,yDAAsD;AAGtD,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;gBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;gBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,iBAAG;aACN,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACjB,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;gBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;gBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACxC,iBAAG;aACN,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAClC,EAAE,CAAC,YAAY,EAAE,GAAG,EAAE;gBAClB,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;oBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;oBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;oBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzB,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;oBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,GAAG,CAAC;oBAC7B,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;oBACxC,iBAAG;iBACN,CAAC,CAAC;gBAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;gBAChC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,+BAAmB,CAAC,CAAC;YAChE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,eAAe,EAAE,GAAG,EAAE;gBACrB,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;oBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;oBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;oBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;oBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;oBACzB,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;oBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,GAAG,CAAC;oBAC7B,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;oBACxC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,CAAC;oBACxB,iBAAG;iBACN,CAAC,CAAC;gBAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvC,IAAA,oCAAiB,EAAC,WAAW,EAAE;oBAC3B,uCAAkB,CAAC,+BAA+B,EAAE;oBACpD,uCAAkB,CAAC,sBAAsB,EAAE;oBAC3C,uCAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,0CAA0C;iBACrF,CAAC,CAAC;gBACH,kDAAkD;gBAClD,IAAA,yBAAM,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YACzB;;;;;;eAMG;YACH,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAM;gBAChD;oBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,KAAK;oBACrB,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,GAAG;oBACnB,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;iBACnC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,OAAO;oBACvB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;iBACpC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,KAAK;oBACrB,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;oBAC1B,IAAI,EAAE,KAAK;oBACX,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,iBAAiB;oBACjC,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,cAAc;oBAC9B,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;iBAClC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,kBAAkB;oBAClC,IAAI,EAAE,GAAG;oBACT,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;iBACnC;gBACD;oBACI,IAAI,EAAE,qBAAS,CAAC,GAAG;oBACnB,IAAI,EAAE,IAAI;oBACV,UAAU,EAAE,KAAK;oBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;iBACpC;aACJ,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,yBAAM,EAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAE,CAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9D,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzB,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aAC5B,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;SAE3B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAsB,kCAAqB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC9E,IAAI,IAAA,gCAAmB,EAAC,CAAC,CAAC,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACL,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC7C,IAAA,yBAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,MAAM,MAAM,GAAG,eAAM,CAAC,KAAK,CAAC;;SAE3B,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAsB,kCAAqB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YACxE,IAAI,IAAA,gCAAmB,EAAC,CAAC,CAAC,EAAE;gBACxB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;aAC5B;QACL,CAAC,EAAE,EAAE,QAAQ,EAAE,mBAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAC7C,IAAA,yBAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACd,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;gBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;gBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,iBAAG;aACN,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE;YACjB,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;gBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;gBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACxC,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACxC,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACxC,iBAAG;aACN,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACb,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;gBAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;gBACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,iBAAiB,EAAE,GAAG,CAAC;gBACvC,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,kBAAkB,EAAE,GAAG,CAAC;gBACxC,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,GAAG,CAAC;gBACzB,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,iBAAG;aACN,CAAC,CAAC;YAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACjC,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;YAEnE,IAAA,yBAAM,EAAC,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAChD,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YACrC,IAAA,yBAAM,EAAC,IAAA,kCAAqB,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACxD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAwB,CAAC;YACxD,IAAA,yBAAM,EAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC3C,IAAA,yBAAM,EAAC,IAAA,mCAAsB,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC5D,MAAM,cAAc,GAAG,UAAU,CAAC,KAA6B,CAAC;YAChE,IAAA,yBAAM,EAAE,cAAc,CAAC,GAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAC7E,IAAA,yBAAM,EAAC,IAAA,kCAAqB,EAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,KAA4B,CAAC;YAClE,IAAA,yBAAM,EAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChD,IAAA,yBAAM,EAAC,IAAA,iCAAoB,EAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;YACtE,IAAI,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIlC,CAAC,CAAC;YACH,IAAA,4CAAyB,EAAC,WAAW,EAAE;gBACnC,uCAAkB,CAAC,+CAA+C,EAAE;aACvE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;YACnE,IAAI,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIlC,CAAC,CAAC;YACH,IAAA,4CAAyB,EAAC,WAAW,EAAE;gBACnC,uCAAkB,CAAC,+CAA+C,EAAE;aACvE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,67 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const chai_config_spec_1 = require("../../../chai-config.spec");
4
- const Parser_1 = require("../../Parser");
5
- const TokenKind_1 = require("../../../lexer/TokenKind");
6
- const Parser_spec_1 = require("../Parser.spec");
7
- describe('parser', () => {
8
- describe('multiplicative expressions', () => {
9
- it('parses left-associative multiplication chains', () => {
10
- let { statements, diagnostics } = Parser_1.Parser.parse([
11
- (0, Parser_spec_1.identifier)('_'),
12
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
13
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '3.0'),
14
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Star, '*'),
15
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '5.0'),
16
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Star, '*'),
17
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '7.0'),
18
- Parser_spec_1.EOF
19
- ]);
20
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
21
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
22
- });
23
- it('parses left-associative division chains', () => {
24
- let { statements, diagnostics } = Parser_1.Parser.parse([
25
- (0, Parser_spec_1.identifier)('_'),
26
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
27
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '7.0'),
28
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Forwardslash, '/'),
29
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '5.0'),
30
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Forwardslash, '/'),
31
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '3.0'),
32
- Parser_spec_1.EOF
33
- ]);
34
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
35
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
36
- });
37
- it('parses left-associative modulo chains', () => {
38
- let { statements, diagnostics } = Parser_1.Parser.parse([
39
- (0, Parser_spec_1.identifier)('_'),
40
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
41
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '7.0'),
42
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Mod, 'MOD'),
43
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '5.0'),
44
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Mod, 'MOD'),
45
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '3.0'),
46
- Parser_spec_1.EOF
47
- ]);
48
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
49
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
50
- });
51
- it('parses left-associative integer-division chains', () => {
52
- let { statements, diagnostics } = Parser_1.Parser.parse([
53
- (0, Parser_spec_1.identifier)('_'),
54
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
55
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '32.5'),
56
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Backslash, '\\'),
57
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '5.0'),
58
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Backslash, '\\'),
59
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.FloatLiteral, '3.0'),
60
- Parser_spec_1.EOF
61
- ]);
62
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
63
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
64
- });
65
- });
66
- });
67
- //# sourceMappingURL=Multiplicative.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Multiplicative.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/Multiplicative.spec.ts"],"names":[],"mappings":"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"}