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,401 +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 reflection_1 = require("../../../astUtils/reflection");
9
- const testHelpers_spec_1 = require("../../../testHelpers.spec");
10
- const DiagnosticMessages_1 = require("../../../DiagnosticMessages");
11
- describe('parser associative array literals', () => {
12
- describe('empty associative arrays', () => {
13
- it('on one line', () => {
14
- let { statements, diagnostics } = Parser_1.Parser.parse([
15
- (0, Parser_spec_1.identifier)('_'),
16
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
17
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
18
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
19
- Parser_spec_1.EOF
20
- ]);
21
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
22
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
23
- });
24
- it('on multiple lines', () => {
25
- let { statements, diagnostics } = Parser_1.Parser.parse([
26
- (0, Parser_spec_1.identifier)('_'),
27
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
28
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
29
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
30
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
31
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
32
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
33
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
34
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
35
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
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.be.length.greaterThan(0);
40
- });
41
- });
42
- describe('filled arrays', () => {
43
- it('on one line', () => {
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.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
48
- (0, Parser_spec_1.identifier)('foo'),
49
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
50
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '1'),
51
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
52
- (0, Parser_spec_1.identifier)('bar'),
53
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
54
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
55
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
56
- (0, Parser_spec_1.identifier)('baz'),
57
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
58
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '3'),
59
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
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
- it('on multiple lines with commas', () => {
66
- let { statements, diagnostics } = Parser_1.Parser.parse([
67
- (0, Parser_spec_1.identifier)('_'),
68
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
69
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
70
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
71
- (0, Parser_spec_1.identifier)('foo'),
72
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
73
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '1'),
74
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
75
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
76
- (0, Parser_spec_1.identifier)('bar'),
77
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
78
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
79
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
80
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
81
- (0, Parser_spec_1.identifier)('baz'),
82
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
83
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '3'),
84
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
85
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
86
- Parser_spec_1.EOF
87
- ]);
88
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
89
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
90
- });
91
- it('on multiple lines without commas', () => {
92
- let { statements, diagnostics } = Parser_1.Parser.parse([
93
- (0, Parser_spec_1.identifier)('_'),
94
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
95
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
96
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
97
- (0, Parser_spec_1.identifier)('foo'),
98
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
99
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '1'),
100
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
101
- (0, Parser_spec_1.identifier)('bar'),
102
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
103
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
104
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
105
- (0, Parser_spec_1.identifier)('baz'),
106
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
107
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '3'),
108
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
109
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
110
- Parser_spec_1.EOF
111
- ]);
112
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
113
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
114
- });
115
- });
116
- it('allows separating properties with colons', () => {
117
- let { statements, diagnostics } = Parser_1.Parser.parse([
118
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Sub, 'sub'),
119
- (0, Parser_spec_1.identifier)('main'),
120
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftParen, '('),
121
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightParen, ')'),
122
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
123
- (0, Parser_spec_1.identifier)('person'),
124
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
125
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
126
- (0, Parser_spec_1.identifier)('name'),
127
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
128
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.StringLiteral, 'Bob'),
129
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
130
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
131
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
132
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
133
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
134
- (0, Parser_spec_1.identifier)('age'),
135
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
136
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '50'),
137
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
138
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
139
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.EndSub, 'end sub'),
140
- Parser_spec_1.EOF
141
- ]);
142
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
143
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
144
- });
145
- it('allows a mix of quoted and unquoted keys', () => {
146
- let { statements, diagnostics } = Parser_1.Parser.parse([
147
- (0, Parser_spec_1.identifier)('_'),
148
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
149
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.LeftCurlyBrace, '{'),
150
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
151
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.StringLiteral, 'foo'),
152
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
153
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '1'),
154
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
155
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
156
- (0, Parser_spec_1.identifier)('bar'),
157
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
158
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '2'),
159
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Comma, ','),
160
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
161
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.StringLiteral, 'requires-hyphens'),
162
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Colon, ':'),
163
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.IntegerLiteral, '3'),
164
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Newline, '\n'),
165
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.RightCurlyBrace, '}'),
166
- Parser_spec_1.EOF
167
- ]);
168
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
169
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
170
- });
171
- it('captures commas', () => {
172
- let { statements } = Parser_1.Parser.parse(`
173
- _ = {
174
- p1: 1,
175
- p2: 2, 'comment
176
- p3: 3
177
- p4: 4
178
- 'comment
179
- p5: 5,
180
- }
181
- `);
182
- const commas = statements[0].value.elements
183
- .map(s => !(0, reflection_1.isCommentStatement)(s) && !!s.commaToken);
184
- (0, chai_config_spec_1.expect)(commas).to.deep.equal([
185
- true,
186
- true,
187
- false,
188
- false,
189
- false,
190
- false,
191
- true // p5
192
- ]);
193
- });
194
- describe('unfinished', () => {
195
- it('will still be parsed', () => {
196
- // No closing brace:
197
- let { statements, diagnostics } = Parser_1.Parser.parse(`_ = {name: "john", age: 42, address: data.address`);
198
- (0, testHelpers_spec_1.expectDiagnostics)(diagnostics, [DiagnosticMessages_1.DiagnosticMessages.unmatchedLeftCurlyAfterAALiteral()]);
199
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(1);
200
- (0, chai_config_spec_1.expect)((0, reflection_1.isAssignmentStatement)(statements[0])).to.be.true;
201
- const assignStmt = statements[0];
202
- (0, chai_config_spec_1.expect)((0, reflection_1.isAALiteralExpression)(assignStmt.value));
203
- const aaLitExpr = assignStmt.value;
204
- (0, chai_config_spec_1.expect)(aaLitExpr.elements).to.be.lengthOf(3);
205
- const memberExprs = aaLitExpr.elements;
206
- (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralExpression)(memberExprs[0].value)).to.be.true;
207
- (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralExpression)(memberExprs[1].value)).to.be.true;
208
- (0, chai_config_spec_1.expect)((0, reflection_1.isDottedGetExpression)(memberExprs[2].value)).to.be.true;
209
- });
210
- it('gets correct diagnostic for missing curly brace without final value', () => {
211
- let { diagnostics } = Parser_1.Parser.parse(`
212
- sub setData()
213
- m.data = {hello:
214
- end sub
215
- `);
216
- (0, testHelpers_spec_1.expectDiagnostics)(diagnostics, [
217
- DiagnosticMessages_1.DiagnosticMessages.unexpectedToken('\n'),
218
- DiagnosticMessages_1.DiagnosticMessages.unmatchedLeftCurlyAfterAALiteral()
219
- ]);
220
- });
221
- it('gets correct diagnostic for missing curly brace with final value', () => {
222
- let { diagnostics } = Parser_1.Parser.parse(`
223
-
224
- sub setData()
225
- m.data = {hello: "world"
226
- end sub
227
- `);
228
- (0, testHelpers_spec_1.expectDiagnosticsIncludes)(diagnostics, [
229
- DiagnosticMessages_1.DiagnosticMessages.unmatchedLeftCurlyAfterAALiteral()
230
- ]);
231
- });
232
- });
233
- describe('computed keys', () => {
234
- it('parses [expr] computed key syntax', () => {
235
- const { statements, diagnostics } = Parser_1.Parser.parse(`
236
- _ = {
237
- [someEnum.key]: "value"
238
- }
239
- `);
240
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
241
- const aaLit = statements[0].value;
242
- (0, chai_config_spec_1.expect)((0, reflection_1.isAALiteralExpression)(aaLit)).to.be.true;
243
- const member = aaLit.elements[0];
244
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAIndexedMemberExpression)(member)).to.be.true;
245
- (0, chai_config_spec_1.expect)(member.key).to.exist;
246
- (0, chai_config_spec_1.expect)((0, reflection_1.isDottedGetExpression)(member.key)).to.be.true;
247
- (0, chai_config_spec_1.expect)(member.tokens.leftBracket).to.exist;
248
- (0, chai_config_spec_1.expect)(member.tokens.rightBracket).to.exist;
249
- });
250
- it('parses [literal] computed key syntax', () => {
251
- const { statements, diagnostics } = Parser_1.Parser.parse(`
252
- _ = {
253
- ["my-key"]: "value"
254
- }
255
- `);
256
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
257
- const aaLit = statements[0].value;
258
- const member = aaLit.elements[0];
259
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAIndexedMemberExpression)(member)).to.be.true;
260
- (0, chai_config_spec_1.expect)(member.key).to.exist;
261
- (0, chai_config_spec_1.expect)((0, reflection_1.isLiteralExpression)(member.key)).to.be.true;
262
- });
263
- it('errors on missing ] in computed key', () => {
264
- const { diagnostics } = Parser_1.Parser.parse(`
265
- _ = {
266
- [someEnum.key: "value"
267
- }
268
- `);
269
- (0, testHelpers_spec_1.expectDiagnosticsIncludes)(diagnostics, [
270
- DiagnosticMessages_1.DiagnosticMessages.expectedToken(TokenKind_1.TokenKind.RightSquareBracket)
271
- ]);
272
- });
273
- it('supports multiple computed keys in one AA', () => {
274
- const { statements, diagnostics } = Parser_1.Parser.parse(`
275
- _ = {
276
- [myEnum.a]: 1,
277
- [myEnum.b]: 2
278
- }
279
- `);
280
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
281
- const aaLit = statements[0].value;
282
- (0, chai_config_spec_1.expect)(aaLit.elements).to.have.lengthOf(2);
283
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAIndexedMemberExpression)(aaLit.elements[0])).to.be.true;
284
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAIndexedMemberExpression)(aaLit.elements[1])).to.be.true;
285
- });
286
- it('supports mixing computed and non-computed keys', () => {
287
- const { statements, diagnostics } = Parser_1.Parser.parse(`
288
- _ = {
289
- normalKey: 1,
290
- [myEnum.computed]: 2
291
- }
292
- `);
293
- (0, testHelpers_spec_1.expectZeroDiagnostics)(diagnostics);
294
- const aaLit = statements[0].value;
295
- const first = aaLit.elements[0];
296
- const second = aaLit.elements[1];
297
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAMemberExpression)(first)).to.be.true;
298
- (0, chai_config_spec_1.expect)(first.keyToken).to.exist;
299
- (0, chai_config_spec_1.expect)((0, reflection_1.isAAIndexedMemberExpression)(second)).to.be.true;
300
- (0, chai_config_spec_1.expect)(second.key).to.exist;
301
- });
302
- });
303
- it('location tracking', () => {
304
- /**
305
- * 0 0 0 1
306
- * 0 4 8 2
307
- * +--------------
308
- * 1| a = { }
309
- * 2|
310
- * 3| b = {
311
- * 4|
312
- * 5|
313
- * 6| }
314
- */
315
- let { statements, diagnostics } = Parser_1.Parser.parse([
316
- {
317
- kind: TokenKind_1.TokenKind.Identifier,
318
- text: 'a',
319
- isReserved: false,
320
- range: vscode_languageserver_1.Range.create(0, 0, 0, 1)
321
- },
322
- {
323
- kind: TokenKind_1.TokenKind.Equal,
324
- text: '=',
325
- isReserved: false,
326
- range: vscode_languageserver_1.Range.create(0, 2, 0, 3)
327
- },
328
- {
329
- kind: TokenKind_1.TokenKind.LeftCurlyBrace,
330
- text: '{',
331
- isReserved: false,
332
- range: vscode_languageserver_1.Range.create(0, 4, 0, 5)
333
- },
334
- {
335
- kind: TokenKind_1.TokenKind.RightCurlyBrace,
336
- text: '}',
337
- isReserved: false,
338
- range: vscode_languageserver_1.Range.create(0, 8, 0, 9)
339
- },
340
- {
341
- kind: TokenKind_1.TokenKind.Newline,
342
- text: '\n',
343
- isReserved: false,
344
- range: vscode_languageserver_1.Range.create(0, 9, 0, 10)
345
- },
346
- {
347
- kind: TokenKind_1.TokenKind.Newline,
348
- text: '\n',
349
- isReserved: false,
350
- range: vscode_languageserver_1.Range.create(1, 0, 1, 1)
351
- },
352
- {
353
- kind: TokenKind_1.TokenKind.Identifier,
354
- text: 'b',
355
- isReserved: false,
356
- range: vscode_languageserver_1.Range.create(2, 0, 2, 1)
357
- },
358
- {
359
- kind: TokenKind_1.TokenKind.Equal,
360
- text: '=',
361
- isReserved: false,
362
- range: vscode_languageserver_1.Range.create(2, 2, 2, 3)
363
- },
364
- {
365
- kind: TokenKind_1.TokenKind.LeftCurlyBrace,
366
- text: '{',
367
- isReserved: false,
368
- range: vscode_languageserver_1.Range.create(2, 4, 2, 5)
369
- },
370
- {
371
- kind: TokenKind_1.TokenKind.Newline,
372
- text: '\n',
373
- isReserved: false,
374
- range: vscode_languageserver_1.Range.create(3, 0, 3, 1)
375
- },
376
- {
377
- kind: TokenKind_1.TokenKind.Newline,
378
- text: '\n',
379
- isReserved: false,
380
- range: vscode_languageserver_1.Range.create(4, 0, 4, 1)
381
- },
382
- {
383
- kind: TokenKind_1.TokenKind.RightCurlyBrace,
384
- text: '}',
385
- isReserved: false,
386
- range: vscode_languageserver_1.Range.create(5, 0, 5, 1)
387
- },
388
- {
389
- kind: TokenKind_1.TokenKind.Eof,
390
- text: '\0',
391
- isReserved: false,
392
- range: vscode_languageserver_1.Range.create(5, 1, 5, 2)
393
- }
394
- ]);
395
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
396
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(2);
397
- (0, chai_config_spec_1.expect)(statements[0].value.range).to.deep.include(vscode_languageserver_1.Range.create(0, 4, 0, 9));
398
- (0, chai_config_spec_1.expect)(statements[1].value.range).to.deep.include(vscode_languageserver_1.Range.create(2, 4, 5, 1));
399
- });
400
- });
401
- //# sourceMappingURL=AssociativeArrayLiterals.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AssociativeArrayLiterals.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/AssociativeArrayLiterals.spec.ts"],"names":[],"mappings":";;AAAA,gEAAmD;AAEnD,yCAAsC;AACtC,wDAAqD;AACrD,gDAAwD;AACxD,iEAA8C;AAG9C,6DAA+M;AAC/M,gEAAgH;AAChH,oEAAiE;AAEjE,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IAC/C,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACtC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACnB,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,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;gBACrC,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,mBAAmB,EAAE,GAAG,EAAE;YACzB,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,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;gBACrC,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,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE;YACnB,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,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;gBACrC,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,+BAA+B,EAAE,GAAG,EAAE;YACrC,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,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;gBACrC,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,kCAAkC,EAAE,GAAG,EAAE;YACxC,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,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;gBACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;gBAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;gBACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;gBAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;gBACrC,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,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;YAC3C,IAAA,mBAAK,EAAC,qBAAS,CAAC,GAAG,EAAE,KAAK,CAAC;YAC3B,IAAA,wBAAU,EAAC,MAAM,CAAC;YAClB,IAAA,mBAAK,EAAC,qBAAS,CAAC,SAAS,EAAE,GAAG,CAAC;YAC/B,IAAA,mBAAK,EAAC,qBAAS,CAAC,UAAU,EAAE,GAAG,CAAC;YAChC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,wBAAU,EAAC,QAAQ,CAAC;YACpB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;YACpC,IAAA,wBAAU,EAAC,MAAM,CAAC;YAClB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,aAAa,EAAE,KAAK,CAAC;YACrC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,wBAAU,EAAC,KAAK,CAAC;YACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,IAAI,CAAC;YACrC,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;YACrC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,MAAM,EAAE,SAAS,CAAC;YAClC,iBAAG;SACN,CAAC,CAAC;QACH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAChD,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;YAC3C,IAAA,wBAAU,EAAC,GAAG,CAAC;YACf,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;YACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,aAAa,EAAE,KAAK,CAAC;YACrC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;YACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,wBAAU,EAAC,KAAK,CAAC;YACjB,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;YACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,aAAa,EAAE,kBAAkB,CAAC;YAClD,IAAA,mBAAK,EAAC,qBAAS,CAAC,KAAK,EAAE,GAAG,CAAC;YAC3B,IAAA,mBAAK,EAAC,qBAAS,CAAC,cAAc,EAAE,GAAG,CAAC;YACpC,IAAA,mBAAK,EAAC,qBAAS,CAAC,OAAO,EAAE,IAAI,CAAC;YAC9B,IAAA,mBAAK,EAAC,qBAAS,CAAC,eAAe,EAAE,GAAG,CAAC;YACrC,iBAAG;SACN,CAAC,CAAC;QAEH,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iBAAiB,EAAE,GAAG,EAAE;QACvB,IAAI,EAAE,UAAU,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;;;;;SASjC,CAAC,CAAC;QACH,MAAM,MAAM,GAAK,UAAU,CAAC,CAAC,CAAyB,CAAC,KAA6B,CAAC,QAAQ;aACxF,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAA,+BAAkB,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACxD,IAAA,yBAAM,EAAC,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC;YACzB,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,KAAK;YACL,KAAK;YACL,KAAK;YACL,IAAI,CAAC,KAAK;SACb,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;YAC5B,oBAAoB;YACpB,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACpG,IAAA,oCAAiB,EAAC,WAAW,EAAE,CAAC,uCAAkB,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACxF,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,IAAA,kCAAqB,EAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;YAChD,MAAM,SAAS,GAAG,UAAU,CAAC,KAA4B,CAAC;YAC1D,IAAA,yBAAM,EAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC7C,MAAM,WAAW,GAAG,SAAS,CAAC,QAAgC,CAAC;YAC/D,IAAA,yBAAM,EAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC7D,IAAA,yBAAM,EAAC,IAAA,gCAAmB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC7D,IAAA,yBAAM,EAAC,IAAA,kCAAqB,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,GAAG,EAAE;YAC3E,IAAI,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIlC,CAAC,CAAC;YACH,IAAA,oCAAiB,EAAC,WAAW,EAAE;gBAC3B,uCAAkB,CAAC,eAAe,CAAC,IAAI,CAAC;gBACxC,uCAAkB,CAAC,gCAAgC,EAAE;aACxD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kEAAkE,EAAE,GAAG,EAAE;YACxE,IAAI,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;aAKlC,CAAC,CAAC;YACH,IAAA,4CAAyB,EAAC,WAAW,EAAE;gBACnC,uCAAkB,CAAC,gCAAgC,EAAE;aACxD,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YACzC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIhD,CAAC,CAAC;YACH,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC;YACnC,MAAM,KAAK,GAAI,UAAU,CAAC,CAAC,CAAyB,CAAC,KAA4B,CAAC;YAClF,IAAA,yBAAM,EAAC,IAAA,kCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAChD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAA8B,CAAC;YAC9D,IAAA,yBAAM,EAAC,IAAA,wCAA2B,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACvD,IAAA,yBAAM,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAA,yBAAM,EAAC,IAAA,kCAAqB,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACrD,IAAA,yBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC3C,IAAA,yBAAM,EAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC5C,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIhD,CAAC,CAAC;YACH,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC;YACnC,MAAM,KAAK,GAAI,UAAU,CAAC,CAAC,CAAyB,CAAC,KAA4B,CAAC;YAClF,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAA8B,CAAC;YAC9D,IAAA,yBAAM,EAAC,IAAA,wCAA2B,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACvD,IAAA,yBAAM,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAC5B,IAAA,yBAAM,EAAC,IAAA,gCAAmB,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC3C,MAAM,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;aAIpC,CAAC,CAAC;YACH,IAAA,4CAAyB,EAAC,WAAW,EAAE;gBACnC,uCAAkB,CAAC,aAAa,CAAC,qBAAS,CAAC,kBAAkB,CAAC;aACjE,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;YACjD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;aAKhD,CAAC,CAAC;YACH,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC;YACnC,MAAM,KAAK,GAAI,UAAU,CAAC,CAAC,CAAyB,CAAC,KAA4B,CAAC;YAClF,IAAA,yBAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3C,IAAA,yBAAM,EAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAClE,IAAA,yBAAM,EAAC,IAAA,wCAA2B,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACtE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACtD,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAC;;;;;aAKhD,CAAC,CAAC;YACH,IAAA,wCAAqB,EAAC,WAAW,CAAC,CAAC;YACnC,MAAM,KAAK,GAAI,UAAU,CAAC,CAAC,CAAyB,CAAC,KAA4B,CAAC;YAClF,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAuB,CAAC;YACtD,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAA8B,CAAC;YAC9D,IAAA,yBAAM,EAAC,IAAA,iCAAoB,EAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YAC/C,IAAA,yBAAM,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;YAChC,IAAA,yBAAM,EAAC,IAAA,wCAA2B,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;YACvD,IAAA,yBAAM,EAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAChC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACzB;;;;;;;;;;WAUG;QACH,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,GAAG,eAAM,CAAC,KAAK,CAAM;YAChD;gBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;gBAC1B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,KAAK;gBACrB,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,cAAc;gBAC9B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,eAAe;gBAC/B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;aACnC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,UAAU;gBAC1B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,KAAK;gBACrB,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,cAAc;gBAC9B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,OAAO;gBACvB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,eAAe;gBAC/B,IAAI,EAAE,GAAG;gBACT,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;YACD;gBACI,IAAI,EAAE,qBAAS,CAAC,GAAG;gBACnB,IAAI,EAAE,IAAI;gBACV,UAAU,EAAE,KAAK;gBACjB,KAAK,EAAE,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;aAClC;SACJ,CAAQ,CAAC;QAEV,IAAA,yBAAM,EAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACrC,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAC7C,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3B,CAAC;QACF,IAAA,yBAAM,EAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAC7C,6BAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAC3B,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,83 +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
- describe('parser boolean expressions', () => {
9
- it('parses boolean ANDs', () => {
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.True, 'true'),
14
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.And, 'and'),
15
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'),
16
- Parser_spec_1.EOF
17
- ]);
18
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
19
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
20
- });
21
- it('parses boolean ORs', () => {
22
- let { statements, diagnostics } = Parser_1.Parser.parse([
23
- (0, Parser_spec_1.identifier)('_'),
24
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Equal, '='),
25
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.True, 'true'),
26
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.Or, 'or'),
27
- (0, Parser_spec_1.token)(TokenKind_1.TokenKind.False, 'false'),
28
- Parser_spec_1.EOF
29
- ]);
30
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
31
- (0, chai_config_spec_1.expect)(statements).to.be.length.greaterThan(0);
32
- });
33
- it('location tracking', () => {
34
- /**
35
- * 0 0 0 1 1 2
36
- * 0 4 8 2 6 0
37
- * +----------------------
38
- * 0| a = true and false
39
- */
40
- let { statements, diagnostics } = Parser_1.Parser.parse([
41
- {
42
- kind: TokenKind_1.TokenKind.Identifier,
43
- text: 'a',
44
- isReserved: false,
45
- range: vscode_languageserver_1.Range.create(0, 0, 0, 1)
46
- },
47
- {
48
- kind: TokenKind_1.TokenKind.Equal,
49
- text: '=',
50
- isReserved: false,
51
- range: vscode_languageserver_1.Range.create(0, 2, 0, 3)
52
- },
53
- {
54
- kind: TokenKind_1.TokenKind.True,
55
- text: 'true',
56
- isReserved: true,
57
- range: vscode_languageserver_1.Range.create(0, 4, 0, 8)
58
- },
59
- {
60
- kind: TokenKind_1.TokenKind.And,
61
- text: 'and',
62
- isReserved: true,
63
- range: vscode_languageserver_1.Range.create(0, 9, 0, 12)
64
- },
65
- {
66
- kind: TokenKind_1.TokenKind.False,
67
- text: 'false',
68
- isReserved: true,
69
- range: vscode_languageserver_1.Range.create(0, 13, 0, 18)
70
- },
71
- {
72
- kind: TokenKind_1.TokenKind.Eof,
73
- text: '\0',
74
- isReserved: false,
75
- range: vscode_languageserver_1.Range.create(0, 18, 0, 19)
76
- }
77
- ]);
78
- (0, chai_config_spec_1.expect)(diagnostics).to.be.lengthOf(0);
79
- (0, chai_config_spec_1.expect)(statements).to.be.lengthOf(1);
80
- (0, chai_config_spec_1.expect)(statements[0].value.range).deep.include(vscode_languageserver_1.Range.create(0, 4, 0, 18));
81
- });
82
- });
83
- //# sourceMappingURL=Boolean.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Boolean.spec.js","sourceRoot":"","sources":["../../../../src/parser/tests/expression/Boolean.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};