@opra/common 0.10.0 → 0.10.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 (50) hide show
  1. package/cjs/filter/antlr/OpraFilterLexer.js +225 -302
  2. package/cjs/filter/antlr/OpraFilterListener.js +11 -0
  3. package/cjs/filter/antlr/OpraFilterParser.js +1120 -721
  4. package/cjs/filter/antlr/OpraFilterVisitor.js +12 -1
  5. package/cjs/filter/ast/terms/date-literal.js +4 -3
  6. package/cjs/filter/filter-tree-visitor.js +31 -28
  7. package/cjs/filter/index.js +1 -1
  8. package/cjs/filter/opra-error-listener.js +15 -0
  9. package/cjs/filter/parse.js +11 -10
  10. package/cjs/i18n/i18n.js +13 -14
  11. package/cjs/schema/decorators/opr-collection-resource.decorator.js +3 -2
  12. package/cjs/schema/decorators/opr-complex-type.decorator.js +3 -2
  13. package/cjs/schema/decorators/opr-field.decorator.js +3 -2
  14. package/cjs/schema/decorators/opr-simple-type.decorator.js +3 -2
  15. package/cjs/schema/decorators/opr-singleton-resource.decorator.js +3 -2
  16. package/cjs/schema/implementation/data-type/union-type.js +3 -2
  17. package/cjs/schema/implementation/document-builder.js +4 -3
  18. package/cjs/schema/implementation/opra-document.js +3 -2
  19. package/esm/filter/antlr/OpraFilterLexer.d.ts +11 -12
  20. package/esm/filter/antlr/OpraFilterLexer.js +224 -299
  21. package/esm/filter/antlr/OpraFilterListener.d.ts +430 -0
  22. package/esm/filter/antlr/OpraFilterListener.js +8 -0
  23. package/esm/filter/antlr/OpraFilterParser.d.ts +183 -111
  24. package/esm/filter/antlr/OpraFilterParser.js +1052 -652
  25. package/esm/filter/antlr/OpraFilterVisitor.d.ts +77 -107
  26. package/esm/filter/antlr/OpraFilterVisitor.js +11 -2
  27. package/esm/filter/ast/terms/date-literal.js +4 -3
  28. package/esm/filter/errors.d.ts +4 -6
  29. package/esm/filter/filter-tree-visitor.d.ts +5 -3
  30. package/esm/filter/filter-tree-visitor.js +23 -21
  31. package/esm/filter/index.d.ts +1 -1
  32. package/esm/filter/index.js +1 -1
  33. package/esm/filter/opra-error-listener.d.ts +8 -0
  34. package/esm/filter/opra-error-listener.js +11 -0
  35. package/esm/filter/parse.d.ts +2 -2
  36. package/esm/filter/parse.js +8 -8
  37. package/esm/i18n/i18n.d.ts +1 -1
  38. package/esm/i18n/i18n.js +9 -10
  39. package/esm/schema/decorators/opr-collection-resource.decorator.js +1 -1
  40. package/esm/schema/decorators/opr-complex-type.decorator.js +1 -1
  41. package/esm/schema/decorators/opr-field.decorator.js +1 -1
  42. package/esm/schema/decorators/opr-simple-type.decorator.js +1 -1
  43. package/esm/schema/decorators/opr-singleton-resource.decorator.js +1 -1
  44. package/esm/schema/implementation/data-type/union-type.js +1 -1
  45. package/esm/schema/implementation/document-builder.js +3 -3
  46. package/esm/schema/implementation/opra-document.js +1 -1
  47. package/package.json +9 -9
  48. package/cjs/filter/error-listener.js +0 -13
  49. package/esm/filter/error-listener.d.ts +0 -8
  50. package/esm/filter/error-listener.js +0 -9
@@ -1,43 +1,37 @@
1
1
  /* eslint-disable */
2
- // Generated from ../antlr/OpraFilter.g4 by ANTLR 4.9.0-SNAPSHOT
3
- // noinspection ES6UnusedImports,ExceptionCaughtLocallyJS
4
- import { ATN } from "antlr4ts/atn/ATN";
5
- import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer";
6
- import { FailedPredicateException } from "antlr4ts/FailedPredicateException";
7
- import { NoViableAltException } from "antlr4ts/NoViableAltException";
8
- import { Parser } from "antlr4ts/Parser";
9
- import { ParserRuleContext } from "antlr4ts/ParserRuleContext";
10
- import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator";
11
- import { RecognitionException } from "antlr4ts/RecognitionException";
12
- import { Token } from "antlr4ts/Token";
13
- import { VocabularyImpl } from "antlr4ts/VocabularyImpl";
14
- import * as Utils from "antlr4ts/misc/Utils";
15
- export class OpraFilterParser extends Parser {
2
+ // Generated from ./src/filter/antlr/OpraFilter.g4 by ANTLR 4.11.2-SNAPSHOT
3
+ // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols,SpellCheckingInspection
4
+ // @ts-nocheck
5
+ import { ATN, ATNDeserializer, DFA, FailedPredicateException, NoViableAltException, Parser, ParserATNSimulator, ParserRuleContext, PredictionContextCache, RecognitionException, Token } from 'antlr4';
6
+ export default class OpraFilterParser extends Parser {
16
7
  constructor(input) {
17
8
  super(input);
18
- this._interp = new ParserATNSimulator(OpraFilterParser._ATN, this);
9
+ this._interp = new ParserATNSimulator(this, OpraFilterParser._ATN, OpraFilterParser.DecisionsToDFA, new PredictionContextCache());
19
10
  }
20
- // @Override
21
- // @NotNull
22
- get vocabulary() {
23
- return OpraFilterParser.VOCABULARY;
11
+ get grammarFileName() {
12
+ return "OpraFilter.g4";
13
+ }
14
+ get literalNames() {
15
+ return OpraFilterParser.literalNames;
16
+ }
17
+ get symbolicNames() {
18
+ return OpraFilterParser.symbolicNames;
19
+ }
20
+ get ruleNames() {
21
+ return OpraFilterParser.ruleNames;
22
+ }
23
+ get serializedATN() {
24
+ return OpraFilterParser._serializedATN;
24
25
  }
25
- // tslint:enable:no-trailing-whitespace
26
- // @Override
27
- get grammarFileName() { return "OpraFilter.g4"; }
28
- // @Override
29
- get ruleNames() { return OpraFilterParser.ruleNames; }
30
- // @Override
31
- get serializedATN() { return OpraFilterParser._serializedATN; }
32
26
  createFailedPredicateException(predicate, message) {
33
27
  return new FailedPredicateException(this, predicate, message);
34
28
  }
35
29
  // @RuleVersion(0)
36
30
  root() {
37
- let _localctx = new RootContext(this._ctx, this.state);
38
- this.enterRule(_localctx, 0, OpraFilterParser.RULE_root);
31
+ let localctx = new RootContext(this, this._ctx, this.state);
32
+ this.enterRule(localctx, 0, OpraFilterParser.RULE_root);
39
33
  try {
40
- this.enterOuterAlt(_localctx, 1);
34
+ this.enterOuterAlt(localctx, 1);
41
35
  {
42
36
  this.state = 44;
43
37
  this.expression(0);
@@ -47,7 +41,7 @@ export class OpraFilterParser extends Parser {
47
41
  }
48
42
  catch (re) {
49
43
  if (re instanceof RecognitionException) {
50
- _localctx.exception = re;
44
+ localctx.exception = re;
51
45
  this._errHandler.reportError(this, re);
52
46
  this._errHandler.recover(this, re);
53
47
  }
@@ -58,7 +52,7 @@ export class OpraFilterParser extends Parser {
58
52
  finally {
59
53
  this.exitRule();
60
54
  }
61
- return _localctx;
55
+ return localctx;
62
56
  }
63
57
  // @RuleVersion(0)
64
58
  expression(_p) {
@@ -67,55 +61,55 @@ export class OpraFilterParser extends Parser {
67
61
  }
68
62
  let _parentctx = this._ctx;
69
63
  let _parentState = this.state;
70
- let _localctx = new ExpressionContext(this._ctx, _parentState);
71
- let _prevctx = _localctx;
64
+ let localctx = new ExpressionContext(this, this._ctx, _parentState);
65
+ let _prevctx = localctx;
72
66
  let _startState = 2;
73
- this.enterRecursionRule(_localctx, 2, OpraFilterParser.RULE_expression, _p);
67
+ this.enterRecursionRule(localctx, 2, OpraFilterParser.RULE_expression, _p);
74
68
  let _la;
75
69
  try {
76
70
  let _alt;
77
- this.enterOuterAlt(_localctx, 1);
71
+ this.enterOuterAlt(localctx, 1);
78
72
  {
79
73
  this.state = 67;
80
74
  this._errHandler.sync(this);
81
75
  switch (this._input.LA(1)) {
82
- case OpraFilterParser.T__22:
83
- case OpraFilterParser.T__41:
84
- case OpraFilterParser.T__42:
85
- case OpraFilterParser.T__43:
86
- case OpraFilterParser.T__44:
87
- case OpraFilterParser.T__45:
88
- case OpraFilterParser.DATE:
89
- case OpraFilterParser.DATETIME:
90
- case OpraFilterParser.TIME:
91
- case OpraFilterParser.IDENTIFIER:
92
- case OpraFilterParser.STRING:
93
- case OpraFilterParser.NUMBER:
76
+ case 23:
77
+ case 42:
78
+ case 43:
79
+ case 44:
80
+ case 45:
81
+ case 46:
82
+ case 47:
83
+ case 48:
84
+ case 49:
85
+ case 50:
86
+ case 51:
87
+ case 52:
94
88
  {
95
- _localctx = new TermExpressionContext(_localctx);
96
- this._ctx = _localctx;
97
- _prevctx = _localctx;
89
+ localctx = new TermExpressionContext(this, localctx);
90
+ this._ctx = localctx;
91
+ _prevctx = localctx;
98
92
  this.state = 48;
99
93
  this.term();
100
94
  }
101
95
  break;
102
- case OpraFilterParser.T__35:
103
- case OpraFilterParser.T__36:
96
+ case 36:
97
+ case 37:
104
98
  {
105
- _localctx = new PolarityExpressionContext(_localctx);
106
- this._ctx = _localctx;
107
- _prevctx = _localctx;
99
+ localctx = new PolarityExpressionContext(this, localctx);
100
+ this._ctx = localctx;
101
+ _prevctx = localctx;
108
102
  this.state = 49;
109
103
  this.polarOp();
110
104
  this.state = 50;
111
105
  this.expression(6);
112
106
  }
113
107
  break;
114
- case OpraFilterParser.T__0:
108
+ case 1:
115
109
  {
116
- _localctx = new ParenthesizedExpressionContext(_localctx);
117
- this._ctx = _localctx;
118
- _prevctx = _localctx;
110
+ localctx = new ParenthesizedExpressionContext(this, localctx);
111
+ this._ctx = localctx;
112
+ _prevctx = localctx;
119
113
  this.state = 52;
120
114
  this.match(OpraFilterParser.T__0);
121
115
  this.state = 53;
@@ -124,11 +118,11 @@ export class OpraFilterParser extends Parser {
124
118
  this.match(OpraFilterParser.T__1);
125
119
  }
126
120
  break;
127
- case OpraFilterParser.T__2:
121
+ case 3:
128
122
  {
129
- _localctx = new ArrayExpressionContext(_localctx);
130
- this._ctx = _localctx;
131
- _prevctx = _localctx;
123
+ localctx = new ArrayExpressionContext(this, localctx);
124
+ this._ctx = localctx;
125
+ _prevctx = localctx;
132
126
  this.state = 56;
133
127
  this.match(OpraFilterParser.T__2);
134
128
  this.state = 57;
@@ -136,7 +130,7 @@ export class OpraFilterParser extends Parser {
136
130
  this.state = 62;
137
131
  this._errHandler.sync(this);
138
132
  _la = this._input.LA(1);
139
- while (_la === OpraFilterParser.T__3) {
133
+ while (_la === 4) {
140
134
  {
141
135
  {
142
136
  this.state = 58;
@@ -156,24 +150,24 @@ export class OpraFilterParser extends Parser {
156
150
  default:
157
151
  throw new NoViableAltException(this);
158
152
  }
159
- this._ctx._stop = this._input.tryLT(-1);
153
+ this._ctx.stop = this._input.LT(-1);
160
154
  this.state = 83;
161
155
  this._errHandler.sync(this);
162
- _alt = this.interpreter.adaptivePredict(this._input, 3, this._ctx);
156
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
163
157
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
164
158
  if (_alt === 1) {
165
159
  if (this._parseListeners != null) {
166
160
  this.triggerExitRuleEvent();
167
161
  }
168
- _prevctx = _localctx;
162
+ _prevctx = localctx;
169
163
  {
170
164
  this.state = 81;
171
165
  this._errHandler.sync(this);
172
- switch (this.interpreter.adaptivePredict(this._input, 2, this._ctx)) {
166
+ switch (this._interp.adaptivePredict(this._input, 2, this._ctx)) {
173
167
  case 1:
174
168
  {
175
- _localctx = new ArithmeticExpressionContext(new ExpressionContext(_parentctx, _parentState));
176
- this.pushNewRecursionContext(_localctx, _startState, OpraFilterParser.RULE_expression);
169
+ localctx = new ArithmeticExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
170
+ this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
177
171
  this.state = 69;
178
172
  if (!(this.precpred(this._ctx, 5))) {
179
173
  throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
@@ -186,8 +180,8 @@ export class OpraFilterParser extends Parser {
186
180
  break;
187
181
  case 2:
188
182
  {
189
- _localctx = new ComparisonExpressionContext(new ExpressionContext(_parentctx, _parentState));
190
- this.pushNewRecursionContext(_localctx, _startState, OpraFilterParser.RULE_expression);
183
+ localctx = new ComparisonExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
184
+ this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
191
185
  this.state = 73;
192
186
  if (!(this.precpred(this._ctx, 4))) {
193
187
  throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
@@ -200,8 +194,8 @@ export class OpraFilterParser extends Parser {
200
194
  break;
201
195
  case 3:
202
196
  {
203
- _localctx = new LogicalExpressionContext(new ExpressionContext(_parentctx, _parentState));
204
- this.pushNewRecursionContext(_localctx, _startState, OpraFilterParser.RULE_expression);
197
+ localctx = new LogicalExpressionContext(this, new ExpressionContext(this, _parentctx, _parentState));
198
+ this.pushNewRecursionContext(localctx, _startState, OpraFilterParser.RULE_expression);
205
199
  this.state = 77;
206
200
  if (!(this.precpred(this._ctx, 3))) {
207
201
  throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
@@ -217,13 +211,13 @@ export class OpraFilterParser extends Parser {
217
211
  }
218
212
  this.state = 85;
219
213
  this._errHandler.sync(this);
220
- _alt = this.interpreter.adaptivePredict(this._input, 3, this._ctx);
214
+ _alt = this._interp.adaptivePredict(this._input, 3, this._ctx);
221
215
  }
222
216
  }
223
217
  }
224
218
  catch (re) {
225
219
  if (re instanceof RecognitionException) {
226
- _localctx.exception = re;
220
+ localctx.exception = re;
227
221
  this._errHandler.reportError(this, re);
228
222
  this._errHandler.recover(this, re);
229
223
  }
@@ -234,44 +228,44 @@ export class OpraFilterParser extends Parser {
234
228
  finally {
235
229
  this.unrollRecursionContexts(_parentctx);
236
230
  }
237
- return _localctx;
231
+ return localctx;
238
232
  }
239
233
  // @RuleVersion(0)
240
234
  term() {
241
- let _localctx = new TermContext(this._ctx, this.state);
242
- this.enterRule(_localctx, 4, OpraFilterParser.RULE_term);
235
+ let localctx = new TermContext(this, this._ctx, this.state);
236
+ this.enterRule(localctx, 4, OpraFilterParser.RULE_term);
243
237
  try {
244
238
  this.state = 89;
245
239
  this._errHandler.sync(this);
246
240
  switch (this._input.LA(1)) {
247
- case OpraFilterParser.T__41:
248
- case OpraFilterParser.T__42:
249
- case OpraFilterParser.T__43:
250
- case OpraFilterParser.T__44:
251
- case OpraFilterParser.T__45:
252
- case OpraFilterParser.DATE:
253
- case OpraFilterParser.DATETIME:
254
- case OpraFilterParser.TIME:
255
- case OpraFilterParser.STRING:
256
- case OpraFilterParser.NUMBER:
257
- _localctx = new LiteralTermContext(_localctx);
258
- this.enterOuterAlt(_localctx, 1);
241
+ case 42:
242
+ case 43:
243
+ case 44:
244
+ case 45:
245
+ case 46:
246
+ case 47:
247
+ case 48:
248
+ case 49:
249
+ case 51:
250
+ case 52:
251
+ localctx = new LiteralTermContext(this, localctx);
252
+ this.enterOuterAlt(localctx, 1);
259
253
  {
260
254
  this.state = 86;
261
255
  this.literal();
262
256
  }
263
257
  break;
264
- case OpraFilterParser.IDENTIFIER:
265
- _localctx = new QualifiedIdentifierTermContext(_localctx);
266
- this.enterOuterAlt(_localctx, 2);
258
+ case 50:
259
+ localctx = new QualifiedIdentifierTermContext(this, localctx);
260
+ this.enterOuterAlt(localctx, 2);
267
261
  {
268
262
  this.state = 87;
269
263
  this.qualifiedIdentifier();
270
264
  }
271
265
  break;
272
- case OpraFilterParser.T__22:
273
- _localctx = new ExternalConstantTermContext(_localctx);
274
- this.enterOuterAlt(_localctx, 3);
266
+ case 23:
267
+ localctx = new ExternalConstantTermContext(this, localctx);
268
+ this.enterOuterAlt(localctx, 3);
275
269
  {
276
270
  this.state = 88;
277
271
  this.externalConstant();
@@ -283,7 +277,7 @@ export class OpraFilterParser extends Parser {
283
277
  }
284
278
  catch (re) {
285
279
  if (re instanceof RecognitionException) {
286
- _localctx.exception = re;
280
+ localctx.exception = re;
287
281
  this._errHandler.reportError(this, re);
288
282
  this._errHandler.recover(this, re);
289
283
  }
@@ -294,22 +288,22 @@ export class OpraFilterParser extends Parser {
294
288
  finally {
295
289
  this.exitRule();
296
290
  }
297
- return _localctx;
291
+ return localctx;
298
292
  }
299
293
  // @RuleVersion(0)
300
294
  invocable() {
301
- let _localctx = new InvocableContext(this._ctx, this.state);
302
- this.enterRule(_localctx, 6, OpraFilterParser.RULE_invocable);
295
+ let localctx = new InvocableContext(this, this._ctx, this.state);
296
+ this.enterRule(localctx, 6, OpraFilterParser.RULE_invocable);
303
297
  try {
304
- this.enterOuterAlt(_localctx, 1);
298
+ this.enterOuterAlt(localctx, 1);
305
299
  {
306
300
  this.state = 91;
307
- this.function();
301
+ this.function_();
308
302
  }
309
303
  }
310
304
  catch (re) {
311
305
  if (re instanceof RecognitionException) {
312
- _localctx.exception = re;
306
+ localctx.exception = re;
313
307
  this._errHandler.reportError(this, re);
314
308
  this._errHandler.recover(this, re);
315
309
  }
@@ -320,15 +314,15 @@ export class OpraFilterParser extends Parser {
320
314
  finally {
321
315
  this.exitRule();
322
316
  }
323
- return _localctx;
317
+ return localctx;
324
318
  }
325
319
  // @RuleVersion(0)
326
320
  invocation() {
327
- let _localctx = new InvocationContext(this._ctx, this.state);
328
- this.enterRule(_localctx, 8, OpraFilterParser.RULE_invocation);
321
+ let localctx = new InvocationContext(this, this._ctx, this.state);
322
+ this.enterRule(localctx, 8, OpraFilterParser.RULE_invocation);
329
323
  try {
330
- _localctx = new MemberInvocationContext(_localctx);
331
- this.enterOuterAlt(_localctx, 1);
324
+ localctx = new MemberInvocationContext(this, localctx);
325
+ this.enterOuterAlt(localctx, 1);
332
326
  {
333
327
  this.state = 93;
334
328
  this.identifier();
@@ -336,7 +330,7 @@ export class OpraFilterParser extends Parser {
336
330
  }
337
331
  catch (re) {
338
332
  if (re instanceof RecognitionException) {
339
- _localctx.exception = re;
333
+ localctx.exception = re;
340
334
  this._errHandler.reportError(this, re);
341
335
  this._errHandler.recover(this, re);
342
336
  }
@@ -347,27 +341,27 @@ export class OpraFilterParser extends Parser {
347
341
  finally {
348
342
  this.exitRule();
349
343
  }
350
- return _localctx;
344
+ return localctx;
351
345
  }
352
346
  // @RuleVersion(0)
353
347
  indexer() {
354
- let _localctx = new IndexerContext(this._ctx, this.state);
355
- this.enterRule(_localctx, 10, OpraFilterParser.RULE_indexer);
348
+ let localctx = new IndexerContext(this, this._ctx, this.state);
349
+ this.enterRule(localctx, 10, OpraFilterParser.RULE_indexer);
356
350
  try {
357
351
  this.state = 97;
358
352
  this._errHandler.sync(this);
359
353
  switch (this._input.LA(1)) {
360
- case OpraFilterParser.IDENTIFIER:
361
- _localctx = new MemberIndexContext(_localctx);
362
- this.enterOuterAlt(_localctx, 1);
354
+ case 50:
355
+ localctx = new MemberIndexContext(this, localctx);
356
+ this.enterOuterAlt(localctx, 1);
363
357
  {
364
358
  this.state = 95;
365
359
  this.identifier();
366
360
  }
367
361
  break;
368
- case OpraFilterParser.INTEGER:
369
- _localctx = new NumberIndexContext(_localctx);
370
- this.enterOuterAlt(_localctx, 2);
362
+ case 53:
363
+ localctx = new NumberIndexContext(this, localctx);
364
+ this.enterOuterAlt(localctx, 2);
371
365
  {
372
366
  this.state = 96;
373
367
  this.match(OpraFilterParser.INTEGER);
@@ -379,7 +373,7 @@ export class OpraFilterParser extends Parser {
379
373
  }
380
374
  catch (re) {
381
375
  if (re instanceof RecognitionException) {
382
- _localctx.exception = re;
376
+ localctx.exception = re;
383
377
  this._errHandler.reportError(this, re);
384
378
  this._errHandler.recover(this, re);
385
379
  }
@@ -390,15 +384,15 @@ export class OpraFilterParser extends Parser {
390
384
  finally {
391
385
  this.exitRule();
392
386
  }
393
- return _localctx;
387
+ return localctx;
394
388
  }
395
389
  // @RuleVersion(0)
396
- function() {
397
- let _localctx = new FunctionContext(this._ctx, this.state);
398
- this.enterRule(_localctx, 12, OpraFilterParser.RULE_function);
390
+ function_() {
391
+ let localctx = new FunctionContext(this, this._ctx, this.state);
392
+ this.enterRule(localctx, 12, OpraFilterParser.RULE_function);
399
393
  let _la;
400
394
  try {
401
- this.enterOuterAlt(_localctx, 1);
395
+ this.enterOuterAlt(localctx, 1);
402
396
  {
403
397
  this.state = 99;
404
398
  this.identifier();
@@ -407,7 +401,7 @@ export class OpraFilterParser extends Parser {
407
401
  this.state = 102;
408
402
  this._errHandler.sync(this);
409
403
  _la = this._input.LA(1);
410
- if ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << OpraFilterParser.T__0) | (1 << OpraFilterParser.T__2) | (1 << OpraFilterParser.T__22))) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & ((1 << (OpraFilterParser.T__35 - 36)) | (1 << (OpraFilterParser.T__36 - 36)) | (1 << (OpraFilterParser.T__41 - 36)) | (1 << (OpraFilterParser.T__42 - 36)) | (1 << (OpraFilterParser.T__43 - 36)) | (1 << (OpraFilterParser.T__44 - 36)) | (1 << (OpraFilterParser.T__45 - 36)) | (1 << (OpraFilterParser.DATE - 36)) | (1 << (OpraFilterParser.DATETIME - 36)) | (1 << (OpraFilterParser.TIME - 36)) | (1 << (OpraFilterParser.IDENTIFIER - 36)) | (1 << (OpraFilterParser.STRING - 36)) | (1 << (OpraFilterParser.NUMBER - 36)))) !== 0)) {
404
+ if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 8388618) !== 0) || ((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 131011) !== 0)) {
411
405
  {
412
406
  this.state = 101;
413
407
  this.paramList();
@@ -419,7 +413,7 @@ export class OpraFilterParser extends Parser {
419
413
  }
420
414
  catch (re) {
421
415
  if (re instanceof RecognitionException) {
422
- _localctx.exception = re;
416
+ localctx.exception = re;
423
417
  this._errHandler.reportError(this, re);
424
418
  this._errHandler.recover(this, re);
425
419
  }
@@ -430,22 +424,22 @@ export class OpraFilterParser extends Parser {
430
424
  finally {
431
425
  this.exitRule();
432
426
  }
433
- return _localctx;
427
+ return localctx;
434
428
  }
435
429
  // @RuleVersion(0)
436
430
  paramList() {
437
- let _localctx = new ParamListContext(this._ctx, this.state);
438
- this.enterRule(_localctx, 14, OpraFilterParser.RULE_paramList);
431
+ let localctx = new ParamListContext(this, this._ctx, this.state);
432
+ this.enterRule(localctx, 14, OpraFilterParser.RULE_paramList);
439
433
  let _la;
440
434
  try {
441
- this.enterOuterAlt(_localctx, 1);
435
+ this.enterOuterAlt(localctx, 1);
442
436
  {
443
437
  this.state = 106;
444
438
  this.expression(0);
445
439
  this.state = 111;
446
440
  this._errHandler.sync(this);
447
441
  _la = this._input.LA(1);
448
- while (_la === OpraFilterParser.T__3) {
442
+ while (_la === 4) {
449
443
  {
450
444
  {
451
445
  this.state = 107;
@@ -462,7 +456,7 @@ export class OpraFilterParser extends Parser {
462
456
  }
463
457
  catch (re) {
464
458
  if (re instanceof RecognitionException) {
465
- _localctx.exception = re;
459
+ localctx.exception = re;
466
460
  this._errHandler.reportError(this, re);
467
461
  this._errHandler.recover(this, re);
468
462
  }
@@ -473,46 +467,46 @@ export class OpraFilterParser extends Parser {
473
467
  finally {
474
468
  this.exitRule();
475
469
  }
476
- return _localctx;
470
+ return localctx;
477
471
  }
478
472
  // @RuleVersion(0)
479
473
  unit() {
480
- let _localctx = new UnitContext(this._ctx, this.state);
481
- this.enterRule(_localctx, 16, OpraFilterParser.RULE_unit);
474
+ let localctx = new UnitContext(this, this._ctx, this.state);
475
+ this.enterRule(localctx, 16, OpraFilterParser.RULE_unit);
482
476
  try {
483
477
  this.state = 117;
484
478
  this._errHandler.sync(this);
485
479
  switch (this._input.LA(1)) {
486
- case OpraFilterParser.T__5:
487
- case OpraFilterParser.T__6:
488
- case OpraFilterParser.T__7:
489
- case OpraFilterParser.T__8:
490
- case OpraFilterParser.T__9:
491
- case OpraFilterParser.T__10:
492
- case OpraFilterParser.T__11:
493
- case OpraFilterParser.T__12:
494
- this.enterOuterAlt(_localctx, 1);
480
+ case 6:
481
+ case 7:
482
+ case 8:
483
+ case 9:
484
+ case 10:
485
+ case 11:
486
+ case 12:
487
+ case 13:
488
+ this.enterOuterAlt(localctx, 1);
495
489
  {
496
490
  this.state = 114;
497
491
  this.dateTimePrecision();
498
492
  }
499
493
  break;
500
- case OpraFilterParser.T__13:
501
- case OpraFilterParser.T__14:
502
- case OpraFilterParser.T__15:
503
- case OpraFilterParser.T__16:
504
- case OpraFilterParser.T__17:
505
- case OpraFilterParser.T__18:
506
- case OpraFilterParser.T__19:
507
- case OpraFilterParser.T__20:
508
- this.enterOuterAlt(_localctx, 2);
494
+ case 14:
495
+ case 15:
496
+ case 16:
497
+ case 17:
498
+ case 18:
499
+ case 19:
500
+ case 20:
501
+ case 21:
502
+ this.enterOuterAlt(localctx, 2);
509
503
  {
510
504
  this.state = 115;
511
505
  this.pluralDateTimePrecision();
512
506
  }
513
507
  break;
514
- case OpraFilterParser.STRING:
515
- this.enterOuterAlt(_localctx, 3);
508
+ case 51:
509
+ this.enterOuterAlt(localctx, 3);
516
510
  {
517
511
  this.state = 116;
518
512
  this.match(OpraFilterParser.STRING);
@@ -524,7 +518,7 @@ export class OpraFilterParser extends Parser {
524
518
  }
525
519
  catch (re) {
526
520
  if (re instanceof RecognitionException) {
527
- _localctx.exception = re;
521
+ localctx.exception = re;
528
522
  this._errHandler.reportError(this, re);
529
523
  this._errHandler.recover(this, re);
530
524
  }
@@ -535,25 +529,22 @@ export class OpraFilterParser extends Parser {
535
529
  finally {
536
530
  this.exitRule();
537
531
  }
538
- return _localctx;
532
+ return localctx;
539
533
  }
540
534
  // @RuleVersion(0)
541
535
  dateTimePrecision() {
542
- let _localctx = new DateTimePrecisionContext(this._ctx, this.state);
543
- this.enterRule(_localctx, 18, OpraFilterParser.RULE_dateTimePrecision);
536
+ let localctx = new DateTimePrecisionContext(this, this._ctx, this.state);
537
+ this.enterRule(localctx, 18, OpraFilterParser.RULE_dateTimePrecision);
544
538
  let _la;
545
539
  try {
546
- this.enterOuterAlt(_localctx, 1);
540
+ this.enterOuterAlt(localctx, 1);
547
541
  {
548
542
  this.state = 119;
549
543
  _la = this._input.LA(1);
550
- if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << OpraFilterParser.T__5) | (1 << OpraFilterParser.T__6) | (1 << OpraFilterParser.T__7) | (1 << OpraFilterParser.T__8) | (1 << OpraFilterParser.T__9) | (1 << OpraFilterParser.T__10) | (1 << OpraFilterParser.T__11) | (1 << OpraFilterParser.T__12))) !== 0))) {
544
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 16320) !== 0))) {
551
545
  this._errHandler.recoverInline(this);
552
546
  }
553
547
  else {
554
- if (this._input.LA(1) === Token.EOF) {
555
- this.matchedEOF = true;
556
- }
557
548
  this._errHandler.reportMatch(this);
558
549
  this.consume();
559
550
  }
@@ -561,7 +552,7 @@ export class OpraFilterParser extends Parser {
561
552
  }
562
553
  catch (re) {
563
554
  if (re instanceof RecognitionException) {
564
- _localctx.exception = re;
555
+ localctx.exception = re;
565
556
  this._errHandler.reportError(this, re);
566
557
  this._errHandler.recover(this, re);
567
558
  }
@@ -572,25 +563,22 @@ export class OpraFilterParser extends Parser {
572
563
  finally {
573
564
  this.exitRule();
574
565
  }
575
- return _localctx;
566
+ return localctx;
576
567
  }
577
568
  // @RuleVersion(0)
578
569
  pluralDateTimePrecision() {
579
- let _localctx = new PluralDateTimePrecisionContext(this._ctx, this.state);
580
- this.enterRule(_localctx, 20, OpraFilterParser.RULE_pluralDateTimePrecision);
570
+ let localctx = new PluralDateTimePrecisionContext(this, this._ctx, this.state);
571
+ this.enterRule(localctx, 20, OpraFilterParser.RULE_pluralDateTimePrecision);
581
572
  let _la;
582
573
  try {
583
- this.enterOuterAlt(_localctx, 1);
574
+ this.enterOuterAlt(localctx, 1);
584
575
  {
585
576
  this.state = 121;
586
577
  _la = this._input.LA(1);
587
- if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << OpraFilterParser.T__13) | (1 << OpraFilterParser.T__14) | (1 << OpraFilterParser.T__15) | (1 << OpraFilterParser.T__16) | (1 << OpraFilterParser.T__17) | (1 << OpraFilterParser.T__18) | (1 << OpraFilterParser.T__19) | (1 << OpraFilterParser.T__20))) !== 0))) {
578
+ if (!((((_la) & ~0x1F) === 0 && ((1 << _la) & 4177920) !== 0))) {
588
579
  this._errHandler.recoverInline(this);
589
580
  }
590
581
  else {
591
- if (this._input.LA(1) === Token.EOF) {
592
- this.matchedEOF = true;
593
- }
594
582
  this._errHandler.reportMatch(this);
595
583
  this.consume();
596
584
  }
@@ -598,7 +586,7 @@ export class OpraFilterParser extends Parser {
598
586
  }
599
587
  catch (re) {
600
588
  if (re instanceof RecognitionException) {
601
- _localctx.exception = re;
589
+ localctx.exception = re;
602
590
  this._errHandler.reportError(this, re);
603
591
  this._errHandler.recover(this, re);
604
592
  }
@@ -609,19 +597,19 @@ export class OpraFilterParser extends Parser {
609
597
  finally {
610
598
  this.exitRule();
611
599
  }
612
- return _localctx;
600
+ return localctx;
613
601
  }
614
602
  // @RuleVersion(0)
615
603
  qualifiedIdentifier() {
616
- let _localctx = new QualifiedIdentifierContext(this._ctx, this.state);
617
- this.enterRule(_localctx, 22, OpraFilterParser.RULE_qualifiedIdentifier);
604
+ let localctx = new QualifiedIdentifierContext(this, this._ctx, this.state);
605
+ this.enterRule(localctx, 22, OpraFilterParser.RULE_qualifiedIdentifier);
618
606
  try {
619
607
  let _alt;
620
- this.enterOuterAlt(_localctx, 1);
608
+ this.enterOuterAlt(localctx, 1);
621
609
  {
622
610
  this.state = 128;
623
611
  this._errHandler.sync(this);
624
- _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
612
+ _alt = this._interp.adaptivePredict(this._input, 9, this._ctx);
625
613
  while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) {
626
614
  if (_alt === 1) {
627
615
  {
@@ -635,7 +623,7 @@ export class OpraFilterParser extends Parser {
635
623
  }
636
624
  this.state = 130;
637
625
  this._errHandler.sync(this);
638
- _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx);
626
+ _alt = this._interp.adaptivePredict(this._input, 9, this._ctx);
639
627
  }
640
628
  this.state = 131;
641
629
  this.identifier();
@@ -643,7 +631,7 @@ export class OpraFilterParser extends Parser {
643
631
  }
644
632
  catch (re) {
645
633
  if (re instanceof RecognitionException) {
646
- _localctx.exception = re;
634
+ localctx.exception = re;
647
635
  this._errHandler.reportError(this, re);
648
636
  this._errHandler.recover(this, re);
649
637
  }
@@ -654,27 +642,24 @@ export class OpraFilterParser extends Parser {
654
642
  finally {
655
643
  this.exitRule();
656
644
  }
657
- return _localctx;
645
+ return localctx;
658
646
  }
659
647
  // @RuleVersion(0)
660
648
  externalConstant() {
661
- let _localctx = new ExternalConstantContext(this._ctx, this.state);
662
- this.enterRule(_localctx, 24, OpraFilterParser.RULE_externalConstant);
649
+ let localctx = new ExternalConstantContext(this, this._ctx, this.state);
650
+ this.enterRule(localctx, 24, OpraFilterParser.RULE_externalConstant);
663
651
  let _la;
664
652
  try {
665
- this.enterOuterAlt(_localctx, 1);
653
+ this.enterOuterAlt(localctx, 1);
666
654
  {
667
655
  this.state = 133;
668
656
  this.match(OpraFilterParser.T__22);
669
657
  this.state = 134;
670
658
  _la = this._input.LA(1);
671
- if (!(_la === OpraFilterParser.IDENTIFIER || _la === OpraFilterParser.STRING)) {
659
+ if (!(_la === 50 || _la === 51)) {
672
660
  this._errHandler.recoverInline(this);
673
661
  }
674
662
  else {
675
- if (this._input.LA(1) === Token.EOF) {
676
- this.matchedEOF = true;
677
- }
678
663
  this._errHandler.reportMatch(this);
679
664
  this.consume();
680
665
  }
@@ -682,7 +667,7 @@ export class OpraFilterParser extends Parser {
682
667
  }
683
668
  catch (re) {
684
669
  if (re instanceof RecognitionException) {
685
- _localctx.exception = re;
670
+ localctx.exception = re;
686
671
  this._errHandler.reportError(this, re);
687
672
  this._errHandler.recover(this, re);
688
673
  }
@@ -693,14 +678,14 @@ export class OpraFilterParser extends Parser {
693
678
  finally {
694
679
  this.exitRule();
695
680
  }
696
- return _localctx;
681
+ return localctx;
697
682
  }
698
683
  // @RuleVersion(0)
699
684
  identifier() {
700
- let _localctx = new IdentifierContext(this._ctx, this.state);
701
- this.enterRule(_localctx, 26, OpraFilterParser.RULE_identifier);
685
+ let localctx = new IdentifierContext(this, this._ctx, this.state);
686
+ this.enterRule(localctx, 26, OpraFilterParser.RULE_identifier);
702
687
  try {
703
- this.enterOuterAlt(_localctx, 1);
688
+ this.enterOuterAlt(localctx, 1);
704
689
  {
705
690
  this.state = 136;
706
691
  this.match(OpraFilterParser.IDENTIFIER);
@@ -708,7 +693,7 @@ export class OpraFilterParser extends Parser {
708
693
  }
709
694
  catch (re) {
710
695
  if (re instanceof RecognitionException) {
711
- _localctx.exception = re;
696
+ localctx.exception = re;
712
697
  this._errHandler.reportError(this, re);
713
698
  this._errHandler.recover(this, re);
714
699
  }
@@ -719,77 +704,77 @@ export class OpraFilterParser extends Parser {
719
704
  finally {
720
705
  this.exitRule();
721
706
  }
722
- return _localctx;
707
+ return localctx;
723
708
  }
724
709
  // @RuleVersion(0)
725
710
  literal() {
726
- let _localctx = new LiteralContext(this._ctx, this.state);
727
- this.enterRule(_localctx, 28, OpraFilterParser.RULE_literal);
711
+ let localctx = new LiteralContext(this, this._ctx, this.state);
712
+ this.enterRule(localctx, 28, OpraFilterParser.RULE_literal);
728
713
  try {
729
714
  this.state = 146;
730
715
  this._errHandler.sync(this);
731
716
  switch (this._input.LA(1)) {
732
- case OpraFilterParser.NUMBER:
733
- _localctx = new NumberLiteralContext(_localctx);
734
- this.enterOuterAlt(_localctx, 1);
717
+ case 52:
718
+ localctx = new NumberLiteralContext(this, localctx);
719
+ this.enterOuterAlt(localctx, 1);
735
720
  {
736
721
  this.state = 138;
737
722
  this.match(OpraFilterParser.NUMBER);
738
723
  }
739
724
  break;
740
- case OpraFilterParser.T__44:
741
- case OpraFilterParser.T__45:
742
- _localctx = new InfinityLiteralContext(_localctx);
743
- this.enterOuterAlt(_localctx, 2);
725
+ case 45:
726
+ case 46:
727
+ localctx = new InfinityLiteralContext(this, localctx);
728
+ this.enterOuterAlt(localctx, 2);
744
729
  {
745
730
  this.state = 139;
746
731
  this.infinity();
747
732
  }
748
733
  break;
749
- case OpraFilterParser.T__41:
750
- case OpraFilterParser.T__42:
751
- _localctx = new BooleanLiteralContext(_localctx);
752
- this.enterOuterAlt(_localctx, 3);
734
+ case 42:
735
+ case 43:
736
+ localctx = new BooleanLiteralContext(this, localctx);
737
+ this.enterOuterAlt(localctx, 3);
753
738
  {
754
739
  this.state = 140;
755
- this.boolean();
740
+ this.boolean_();
756
741
  }
757
742
  break;
758
- case OpraFilterParser.T__43:
759
- _localctx = new NullLiteralContext(_localctx);
760
- this.enterOuterAlt(_localctx, 4);
743
+ case 44:
744
+ localctx = new NullLiteralContext(this, localctx);
745
+ this.enterOuterAlt(localctx, 4);
761
746
  {
762
747
  this.state = 141;
763
- this.null();
748
+ this.null_();
764
749
  }
765
750
  break;
766
- case OpraFilterParser.DATE:
767
- _localctx = new DateLiteralContext(_localctx);
768
- this.enterOuterAlt(_localctx, 5);
751
+ case 47:
752
+ localctx = new DateLiteralContext(this, localctx);
753
+ this.enterOuterAlt(localctx, 5);
769
754
  {
770
755
  this.state = 142;
771
756
  this.match(OpraFilterParser.DATE);
772
757
  }
773
758
  break;
774
- case OpraFilterParser.DATETIME:
775
- _localctx = new DateTimeLiteralContext(_localctx);
776
- this.enterOuterAlt(_localctx, 6);
759
+ case 48:
760
+ localctx = new DateTimeLiteralContext(this, localctx);
761
+ this.enterOuterAlt(localctx, 6);
777
762
  {
778
763
  this.state = 143;
779
764
  this.match(OpraFilterParser.DATETIME);
780
765
  }
781
766
  break;
782
- case OpraFilterParser.TIME:
783
- _localctx = new TimeLiteralContext(_localctx);
784
- this.enterOuterAlt(_localctx, 7);
767
+ case 49:
768
+ localctx = new TimeLiteralContext(this, localctx);
769
+ this.enterOuterAlt(localctx, 7);
785
770
  {
786
771
  this.state = 144;
787
772
  this.match(OpraFilterParser.TIME);
788
773
  }
789
774
  break;
790
- case OpraFilterParser.STRING:
791
- _localctx = new StringLiteralContext(_localctx);
792
- this.enterOuterAlt(_localctx, 8);
775
+ case 51:
776
+ localctx = new StringLiteralContext(this, localctx);
777
+ this.enterOuterAlt(localctx, 8);
793
778
  {
794
779
  this.state = 145;
795
780
  this.match(OpraFilterParser.STRING);
@@ -801,7 +786,7 @@ export class OpraFilterParser extends Parser {
801
786
  }
802
787
  catch (re) {
803
788
  if (re instanceof RecognitionException) {
804
- _localctx.exception = re;
789
+ localctx.exception = re;
805
790
  this._errHandler.reportError(this, re);
806
791
  this._errHandler.recover(this, re);
807
792
  }
@@ -812,25 +797,22 @@ export class OpraFilterParser extends Parser {
812
797
  finally {
813
798
  this.exitRule();
814
799
  }
815
- return _localctx;
800
+ return localctx;
816
801
  }
817
802
  // @RuleVersion(0)
818
803
  compOp() {
819
- let _localctx = new CompOpContext(this._ctx, this.state);
820
- this.enterRule(_localctx, 30, OpraFilterParser.RULE_compOp);
804
+ let localctx = new CompOpContext(this, this._ctx, this.state);
805
+ this.enterRule(localctx, 30, OpraFilterParser.RULE_compOp);
821
806
  let _la;
822
807
  try {
823
- this.enterOuterAlt(_localctx, 1);
808
+ this.enterOuterAlt(localctx, 1);
824
809
  {
825
810
  this.state = 148;
826
811
  _la = this._input.LA(1);
827
- if (!(((((_la - 24)) & ~0x1F) === 0 && ((1 << (_la - 24)) & ((1 << (OpraFilterParser.T__23 - 24)) | (1 << (OpraFilterParser.T__24 - 24)) | (1 << (OpraFilterParser.T__25 - 24)) | (1 << (OpraFilterParser.T__26 - 24)) | (1 << (OpraFilterParser.T__27 - 24)) | (1 << (OpraFilterParser.T__28 - 24)) | (1 << (OpraFilterParser.T__29 - 24)) | (1 << (OpraFilterParser.T__30 - 24)) | (1 << (OpraFilterParser.T__31 - 24)) | (1 << (OpraFilterParser.T__32 - 24)) | (1 << (OpraFilterParser.T__33 - 24)) | (1 << (OpraFilterParser.T__34 - 24)))) !== 0))) {
812
+ if (!(((((_la - 24)) & ~0x1F) === 0 && ((1 << (_la - 24)) & 4095) !== 0))) {
828
813
  this._errHandler.recoverInline(this);
829
814
  }
830
815
  else {
831
- if (this._input.LA(1) === Token.EOF) {
832
- this.matchedEOF = true;
833
- }
834
816
  this._errHandler.reportMatch(this);
835
817
  this.consume();
836
818
  }
@@ -838,7 +820,7 @@ export class OpraFilterParser extends Parser {
838
820
  }
839
821
  catch (re) {
840
822
  if (re instanceof RecognitionException) {
841
- _localctx.exception = re;
823
+ localctx.exception = re;
842
824
  this._errHandler.reportError(this, re);
843
825
  this._errHandler.recover(this, re);
844
826
  }
@@ -849,25 +831,22 @@ export class OpraFilterParser extends Parser {
849
831
  finally {
850
832
  this.exitRule();
851
833
  }
852
- return _localctx;
834
+ return localctx;
853
835
  }
854
836
  // @RuleVersion(0)
855
837
  arthOp() {
856
- let _localctx = new ArthOpContext(this._ctx, this.state);
857
- this.enterRule(_localctx, 32, OpraFilterParser.RULE_arthOp);
838
+ let localctx = new ArthOpContext(this, this._ctx, this.state);
839
+ this.enterRule(localctx, 32, OpraFilterParser.RULE_arthOp);
858
840
  let _la;
859
841
  try {
860
- this.enterOuterAlt(_localctx, 1);
842
+ this.enterOuterAlt(localctx, 1);
861
843
  {
862
844
  this.state = 150;
863
845
  _la = this._input.LA(1);
864
- if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & ((1 << (OpraFilterParser.T__35 - 36)) | (1 << (OpraFilterParser.T__36 - 36)) | (1 << (OpraFilterParser.T__37 - 36)) | (1 << (OpraFilterParser.T__38 - 36)))) !== 0))) {
846
+ if (!(((((_la - 36)) & ~0x1F) === 0 && ((1 << (_la - 36)) & 15) !== 0))) {
865
847
  this._errHandler.recoverInline(this);
866
848
  }
867
849
  else {
868
- if (this._input.LA(1) === Token.EOF) {
869
- this.matchedEOF = true;
870
- }
871
850
  this._errHandler.reportMatch(this);
872
851
  this.consume();
873
852
  }
@@ -875,7 +854,7 @@ export class OpraFilterParser extends Parser {
875
854
  }
876
855
  catch (re) {
877
856
  if (re instanceof RecognitionException) {
878
- _localctx.exception = re;
857
+ localctx.exception = re;
879
858
  this._errHandler.reportError(this, re);
880
859
  this._errHandler.recover(this, re);
881
860
  }
@@ -886,25 +865,22 @@ export class OpraFilterParser extends Parser {
886
865
  finally {
887
866
  this.exitRule();
888
867
  }
889
- return _localctx;
868
+ return localctx;
890
869
  }
891
870
  // @RuleVersion(0)
892
871
  polarOp() {
893
- let _localctx = new PolarOpContext(this._ctx, this.state);
894
- this.enterRule(_localctx, 34, OpraFilterParser.RULE_polarOp);
872
+ let localctx = new PolarOpContext(this, this._ctx, this.state);
873
+ this.enterRule(localctx, 34, OpraFilterParser.RULE_polarOp);
895
874
  let _la;
896
875
  try {
897
- this.enterOuterAlt(_localctx, 1);
876
+ this.enterOuterAlt(localctx, 1);
898
877
  {
899
878
  this.state = 152;
900
879
  _la = this._input.LA(1);
901
- if (!(_la === OpraFilterParser.T__35 || _la === OpraFilterParser.T__36)) {
880
+ if (!(_la === 36 || _la === 37)) {
902
881
  this._errHandler.recoverInline(this);
903
882
  }
904
883
  else {
905
- if (this._input.LA(1) === Token.EOF) {
906
- this.matchedEOF = true;
907
- }
908
884
  this._errHandler.reportMatch(this);
909
885
  this.consume();
910
886
  }
@@ -912,7 +888,7 @@ export class OpraFilterParser extends Parser {
912
888
  }
913
889
  catch (re) {
914
890
  if (re instanceof RecognitionException) {
915
- _localctx.exception = re;
891
+ localctx.exception = re;
916
892
  this._errHandler.reportError(this, re);
917
893
  this._errHandler.recover(this, re);
918
894
  }
@@ -923,25 +899,22 @@ export class OpraFilterParser extends Parser {
923
899
  finally {
924
900
  this.exitRule();
925
901
  }
926
- return _localctx;
902
+ return localctx;
927
903
  }
928
904
  // @RuleVersion(0)
929
905
  logOp() {
930
- let _localctx = new LogOpContext(this._ctx, this.state);
931
- this.enterRule(_localctx, 36, OpraFilterParser.RULE_logOp);
906
+ let localctx = new LogOpContext(this, this._ctx, this.state);
907
+ this.enterRule(localctx, 36, OpraFilterParser.RULE_logOp);
932
908
  let _la;
933
909
  try {
934
- this.enterOuterAlt(_localctx, 1);
910
+ this.enterOuterAlt(localctx, 1);
935
911
  {
936
912
  this.state = 154;
937
913
  _la = this._input.LA(1);
938
- if (!(_la === OpraFilterParser.T__39 || _la === OpraFilterParser.T__40)) {
914
+ if (!(_la === 40 || _la === 41)) {
939
915
  this._errHandler.recoverInline(this);
940
916
  }
941
917
  else {
942
- if (this._input.LA(1) === Token.EOF) {
943
- this.matchedEOF = true;
944
- }
945
918
  this._errHandler.reportMatch(this);
946
919
  this.consume();
947
920
  }
@@ -949,7 +922,7 @@ export class OpraFilterParser extends Parser {
949
922
  }
950
923
  catch (re) {
951
924
  if (re instanceof RecognitionException) {
952
- _localctx.exception = re;
925
+ localctx.exception = re;
953
926
  this._errHandler.reportError(this, re);
954
927
  this._errHandler.recover(this, re);
955
928
  }
@@ -960,25 +933,22 @@ export class OpraFilterParser extends Parser {
960
933
  finally {
961
934
  this.exitRule();
962
935
  }
963
- return _localctx;
936
+ return localctx;
964
937
  }
965
938
  // @RuleVersion(0)
966
- boolean() {
967
- let _localctx = new BooleanContext(this._ctx, this.state);
968
- this.enterRule(_localctx, 38, OpraFilterParser.RULE_boolean);
939
+ boolean_() {
940
+ let localctx = new BooleanContext(this, this._ctx, this.state);
941
+ this.enterRule(localctx, 38, OpraFilterParser.RULE_boolean);
969
942
  let _la;
970
943
  try {
971
- this.enterOuterAlt(_localctx, 1);
944
+ this.enterOuterAlt(localctx, 1);
972
945
  {
973
946
  this.state = 156;
974
947
  _la = this._input.LA(1);
975
- if (!(_la === OpraFilterParser.T__41 || _la === OpraFilterParser.T__42)) {
948
+ if (!(_la === 42 || _la === 43)) {
976
949
  this._errHandler.recoverInline(this);
977
950
  }
978
951
  else {
979
- if (this._input.LA(1) === Token.EOF) {
980
- this.matchedEOF = true;
981
- }
982
952
  this._errHandler.reportMatch(this);
983
953
  this.consume();
984
954
  }
@@ -986,7 +956,7 @@ export class OpraFilterParser extends Parser {
986
956
  }
987
957
  catch (re) {
988
958
  if (re instanceof RecognitionException) {
989
- _localctx.exception = re;
959
+ localctx.exception = re;
990
960
  this._errHandler.reportError(this, re);
991
961
  this._errHandler.recover(this, re);
992
962
  }
@@ -997,14 +967,14 @@ export class OpraFilterParser extends Parser {
997
967
  finally {
998
968
  this.exitRule();
999
969
  }
1000
- return _localctx;
970
+ return localctx;
1001
971
  }
1002
972
  // @RuleVersion(0)
1003
- null() {
1004
- let _localctx = new NullContext(this._ctx, this.state);
1005
- this.enterRule(_localctx, 40, OpraFilterParser.RULE_null);
973
+ null_() {
974
+ let localctx = new NullContext(this, this._ctx, this.state);
975
+ this.enterRule(localctx, 40, OpraFilterParser.RULE_null);
1006
976
  try {
1007
- this.enterOuterAlt(_localctx, 1);
977
+ this.enterOuterAlt(localctx, 1);
1008
978
  {
1009
979
  this.state = 158;
1010
980
  this.match(OpraFilterParser.T__43);
@@ -1012,7 +982,7 @@ export class OpraFilterParser extends Parser {
1012
982
  }
1013
983
  catch (re) {
1014
984
  if (re instanceof RecognitionException) {
1015
- _localctx.exception = re;
985
+ localctx.exception = re;
1016
986
  this._errHandler.reportError(this, re);
1017
987
  this._errHandler.recover(this, re);
1018
988
  }
@@ -1023,25 +993,22 @@ export class OpraFilterParser extends Parser {
1023
993
  finally {
1024
994
  this.exitRule();
1025
995
  }
1026
- return _localctx;
996
+ return localctx;
1027
997
  }
1028
998
  // @RuleVersion(0)
1029
999
  infinity() {
1030
- let _localctx = new InfinityContext(this._ctx, this.state);
1031
- this.enterRule(_localctx, 42, OpraFilterParser.RULE_infinity);
1000
+ let localctx = new InfinityContext(this, this._ctx, this.state);
1001
+ this.enterRule(localctx, 42, OpraFilterParser.RULE_infinity);
1032
1002
  let _la;
1033
1003
  try {
1034
- this.enterOuterAlt(_localctx, 1);
1004
+ this.enterOuterAlt(localctx, 1);
1035
1005
  {
1036
1006
  this.state = 160;
1037
1007
  _la = this._input.LA(1);
1038
- if (!(_la === OpraFilterParser.T__44 || _la === OpraFilterParser.T__45)) {
1008
+ if (!(_la === 45 || _la === 46)) {
1039
1009
  this._errHandler.recoverInline(this);
1040
1010
  }
1041
1011
  else {
1042
- if (this._input.LA(1) === Token.EOF) {
1043
- this.matchedEOF = true;
1044
- }
1045
1012
  this._errHandler.reportMatch(this);
1046
1013
  this.consume();
1047
1014
  }
@@ -1049,7 +1016,7 @@ export class OpraFilterParser extends Parser {
1049
1016
  }
1050
1017
  catch (re) {
1051
1018
  if (re instanceof RecognitionException) {
1052
- _localctx.exception = re;
1019
+ localctx.exception = re;
1053
1020
  this._errHandler.reportError(this, re);
1054
1021
  this._errHandler.recover(this, re);
1055
1022
  }
@@ -1060,16 +1027,16 @@ export class OpraFilterParser extends Parser {
1060
1027
  finally {
1061
1028
  this.exitRule();
1062
1029
  }
1063
- return _localctx;
1030
+ return localctx;
1064
1031
  }
1065
- sempred(_localctx, ruleIndex, predIndex) {
1032
+ sempred(localctx, ruleIndex, predIndex) {
1066
1033
  switch (ruleIndex) {
1067
1034
  case 1:
1068
- return this.expression_sempred(_localctx, predIndex);
1035
+ return this.expression_sempred(localctx, predIndex);
1069
1036
  }
1070
1037
  return true;
1071
1038
  }
1072
- expression_sempred(_localctx, predIndex) {
1039
+ expression_sempred(localctx, predIndex) {
1073
1040
  switch (predIndex) {
1074
1041
  case 0:
1075
1042
  return this.precpred(this._ctx, 5);
@@ -1082,7 +1049,7 @@ export class OpraFilterParser extends Parser {
1082
1049
  }
1083
1050
  static get _ATN() {
1084
1051
  if (!OpraFilterParser.__ATN) {
1085
- OpraFilterParser.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(OpraFilterParser._serializedATN));
1052
+ OpraFilterParser.__ATN = new ATNDeserializer().deserialize(OpraFilterParser._serializedATN);
1086
1053
  }
1087
1054
  return OpraFilterParser.__ATN;
1088
1055
  }
@@ -1143,6 +1110,7 @@ OpraFilterParser.INTEGER = 53;
1143
1110
  OpraFilterParser.WHITESPACE = 54;
1144
1111
  OpraFilterParser.COMMENT = 55;
1145
1112
  OpraFilterParser.LINE_COMMENT = 56;
1113
+ OpraFilterParser.EOF = Token.EOF;
1146
1114
  OpraFilterParser.RULE_root = 0;
1147
1115
  OpraFilterParser.RULE_expression = 1;
1148
1116
  OpraFilterParser.RULE_term = 2;
@@ -1165,6 +1133,42 @@ OpraFilterParser.RULE_logOp = 18;
1165
1133
  OpraFilterParser.RULE_boolean = 19;
1166
1134
  OpraFilterParser.RULE_null = 20;
1167
1135
  OpraFilterParser.RULE_infinity = 21;
1136
+ OpraFilterParser.literalNames = [null, "'('", "')'", "'['",
1137
+ "','", "']'", "'year'",
1138
+ "'month'", "'week'",
1139
+ "'day'", "'hour'", "'minute'",
1140
+ "'second'", "'millisecond'",
1141
+ "'years'", "'months'",
1142
+ "'weeks'", "'days'",
1143
+ "'hours'", "'minutes'",
1144
+ "'seconds'", "'milliseconds'",
1145
+ "'.'", "'@'", "'<='",
1146
+ "'<'", "'>'", "'>='",
1147
+ "'='", "'!='", "'in'",
1148
+ "'!in'", "'like'", "'!like'",
1149
+ "'ilike'", "'!ilike'",
1150
+ "'+'", "'-'", "'*'",
1151
+ "'/'", "'and'", "'or'",
1152
+ "'true'", "'false'",
1153
+ "'null'", "'Infinity'",
1154
+ "'infinity'"];
1155
+ OpraFilterParser.symbolicNames = [null, null, null, null,
1156
+ null, null, null, null,
1157
+ null, null, null, null,
1158
+ null, null, null, null,
1159
+ null, null, null, null,
1160
+ null, null, null, null,
1161
+ null, null, null, null,
1162
+ null, null, null, null,
1163
+ null, null, null, null,
1164
+ null, null, null, null,
1165
+ null, null, null, null,
1166
+ null, null, null, "DATE",
1167
+ "DATETIME", "TIME",
1168
+ "IDENTIFIER", "STRING",
1169
+ "NUMBER", "INTEGER",
1170
+ "WHITESPACE", "COMMENT",
1171
+ "LINE_COMMENT"];
1168
1172
  // tslint:disable:no-trailing-whitespace
1169
1173
  OpraFilterParser.ruleNames = [
1170
1174
  "root", "expression", "term", "invocable", "invocation", "indexer", "function",
@@ -1172,104 +1176,80 @@ OpraFilterParser.ruleNames = [
1172
1176
  "externalConstant", "identifier", "literal", "compOp", "arthOp", "polarOp",
1173
1177
  "logOp", "boolean", "null", "infinity",
1174
1178
  ];
1175
- OpraFilterParser._LITERAL_NAMES = [
1176
- undefined, "'('", "')'", "'['", "','", "']'", "'year'", "'month'", "'week'",
1177
- "'day'", "'hour'", "'minute'", "'second'", "'millisecond'", "'years'",
1178
- "'months'", "'weeks'", "'days'", "'hours'", "'minutes'", "'seconds'",
1179
- "'milliseconds'", "'.'", "'@'", "'<='", "'<'", "'>'", "'>='", "'='", "'!='",
1180
- "'in'", "'!in'", "'like'", "'!like'", "'ilike'", "'!ilike'", "'+'", "'-'",
1181
- "'*'", "'/'", "'and'", "'or'", "'true'", "'false'", "'null'", "'Infinity'",
1182
- "'infinity'",
1183
- ];
1184
- OpraFilterParser._SYMBOLIC_NAMES = [
1185
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1186
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1187
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1188
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1189
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1190
- undefined, undefined, undefined, undefined, undefined, undefined, undefined,
1191
- undefined, undefined, undefined, undefined, undefined, "DATE", "DATETIME",
1192
- "TIME", "IDENTIFIER", "STRING", "NUMBER", "INTEGER", "WHITESPACE", "COMMENT",
1193
- "LINE_COMMENT",
1194
- ];
1195
- OpraFilterParser.VOCABULARY = new VocabularyImpl(OpraFilterParser._LITERAL_NAMES, OpraFilterParser._SYMBOLIC_NAMES, []);
1196
- OpraFilterParser._serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03:\xA5\x04\x02" +
1197
- "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
1198
- "\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04" +
1199
- "\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04" +
1200
- "\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x03" +
1201
- "\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1202
- "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x07\x03?\n\x03\f" +
1203
- "\x03\x0E\x03B\v\x03\x03\x03\x03\x03\x05\x03F\n\x03\x03\x03\x03\x03\x03" +
1204
- "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1205
- "\x03\x07\x03T\n\x03\f\x03\x0E\x03W\v\x03\x03\x04\x03\x04\x03\x04\x05\x04" +
1206
- "\\\n\x04\x03\x05\x03\x05\x03\x06\x03\x06\x03\x07\x03\x07\x05\x07d\n\x07" +
1207
- "\x03\b\x03\b\x03\b\x05\bi\n\b\x03\b\x03\b\x03\t\x03\t\x03\t\x07\tp\n\t" +
1208
- "\f\t\x0E\ts\v\t\x03\n\x03\n\x03\n\x05\nx\n\n\x03\v\x03\v\x03\f\x03\f\x03" +
1209
- "\r\x03\r\x03\r\x07\r\x81\n\r\f\r\x0E\r\x84\v\r\x03\r\x03\r\x03\x0E\x03" +
1210
- "\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x10\x03\x10\x03\x10\x03" +
1211
- "\x10\x03\x10\x03\x10\x05\x10\x95\n\x10\x03\x11\x03\x11\x03\x12\x03\x12" +
1212
- "\x03\x13\x03\x13\x03\x14\x03\x14\x03\x15\x03\x15\x03\x16\x03\x16\x03\x17" +
1213
- "\x03\x17\x03\x17\x02\x02\x03\x04\x18\x02\x02\x04\x02\x06\x02\b\x02\n\x02" +
1214
- "\f\x02\x0E\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02" +
1215
- "\x1E\x02 \x02\"\x02$\x02&\x02(\x02*\x02,\x02\x02\v\x03\x02\b\x0F\x03\x02" +
1216
- "\x10\x17\x03\x0245\x03\x02\x1A%\x03\x02&)\x03\x02&\'\x03\x02*+\x03\x02" +
1217
- ",-\x03\x02/0\x02\xA4\x02.\x03\x02\x02\x02\x04E\x03\x02\x02\x02\x06[\x03" +
1218
- "\x02\x02\x02\b]\x03\x02\x02\x02\n_\x03\x02\x02\x02\fc\x03\x02\x02\x02" +
1219
- "\x0Ee\x03\x02\x02\x02\x10l\x03\x02\x02\x02\x12w\x03\x02\x02\x02\x14y\x03" +
1220
- "\x02\x02\x02\x16{\x03\x02\x02\x02\x18\x82\x03\x02\x02\x02\x1A\x87\x03" +
1221
- "\x02\x02\x02\x1C\x8A\x03\x02\x02\x02\x1E\x94\x03\x02\x02\x02 \x96\x03" +
1222
- "\x02\x02\x02\"\x98\x03\x02\x02\x02$\x9A\x03\x02\x02\x02&\x9C\x03\x02\x02" +
1223
- "\x02(\x9E\x03\x02\x02\x02*\xA0\x03\x02\x02\x02,\xA2\x03\x02\x02\x02./" +
1224
- "\x05\x04\x03\x02/0\x07\x02\x02\x030\x03\x03\x02\x02\x0212\b\x03\x01\x02" +
1225
- "2F\x05\x06\x04\x0234\x05$\x13\x0245\x05\x04\x03\b5F\x03\x02\x02\x0267" +
1226
- "\x07\x03\x02\x0278\x05\x04\x03\x0289\x07\x04\x02\x029F\x03\x02\x02\x02" +
1227
- ":;\x07\x05\x02\x02;@\x05\x04\x03\x02<=\x07\x06\x02\x02=?\x05\x04\x03\x02" +
1228
- "><\x03\x02\x02\x02?B\x03\x02\x02\x02@>\x03\x02\x02\x02@A\x03\x02\x02\x02" +
1229
- "AC\x03\x02\x02\x02B@\x03\x02\x02\x02CD\x07\x07\x02\x02DF\x03\x02\x02\x02" +
1230
- "E1\x03\x02\x02\x02E3\x03\x02\x02\x02E6\x03\x02\x02\x02E:\x03\x02\x02\x02" +
1231
- "FU\x03\x02\x02\x02GH\f\x07\x02\x02HI\x05\"\x12\x02IJ\x05\x04\x03\bJT\x03" +
1232
- "\x02\x02\x02KL\f\x06\x02\x02LM\x05 \x11\x02MN\x05\x04\x03\x07NT\x03\x02" +
1233
- "\x02\x02OP\f\x05\x02\x02PQ\x05&\x14\x02QR\x05\x04\x03\x06RT\x03\x02\x02" +
1234
- "\x02SG\x03\x02\x02\x02SK\x03\x02\x02\x02SO\x03\x02\x02\x02TW\x03\x02\x02" +
1235
- "\x02US\x03\x02\x02\x02UV\x03\x02\x02\x02V\x05\x03\x02\x02\x02WU\x03\x02" +
1236
- "\x02\x02X\\\x05\x1E\x10\x02Y\\\x05\x18\r\x02Z\\\x05\x1A\x0E\x02[X\x03" +
1237
- "\x02\x02\x02[Y\x03\x02\x02\x02[Z\x03\x02\x02\x02\\\x07\x03\x02\x02\x02" +
1238
- "]^\x05\x0E\b\x02^\t\x03\x02\x02\x02_`\x05\x1C\x0F\x02`\v\x03\x02\x02\x02" +
1239
- "ad\x05\x1C\x0F\x02bd\x077\x02\x02ca\x03\x02\x02\x02cb\x03\x02\x02\x02" +
1240
- "d\r\x03\x02\x02\x02ef\x05\x1C\x0F\x02fh\x07\x03\x02\x02gi\x05\x10\t\x02" +
1241
- "hg\x03\x02\x02\x02hi\x03\x02\x02\x02ij\x03\x02\x02\x02jk\x07\x04\x02\x02" +
1242
- "k\x0F\x03\x02\x02\x02lq\x05\x04\x03\x02mn\x07\x06\x02\x02np\x05\x04\x03" +
1243
- "\x02om\x03\x02\x02\x02ps\x03\x02\x02\x02qo\x03\x02\x02\x02qr\x03\x02\x02" +
1244
- "\x02r\x11\x03\x02\x02\x02sq\x03\x02\x02\x02tx\x05\x14\v\x02ux\x05\x16" +
1245
- "\f\x02vx\x075\x02\x02wt\x03\x02\x02\x02wu\x03\x02\x02\x02wv\x03\x02\x02" +
1246
- "\x02x\x13\x03\x02\x02\x02yz\t\x02\x02\x02z\x15\x03\x02\x02\x02{|\t\x03" +
1247
- "\x02\x02|\x17\x03\x02\x02\x02}~\x05\x1C\x0F\x02~\x7F\x07\x18\x02\x02\x7F" +
1248
- "\x81\x03\x02\x02\x02\x80}\x03\x02\x02\x02\x81\x84\x03\x02\x02\x02\x82" +
1249
- "\x80\x03\x02\x02\x02\x82\x83\x03\x02\x02\x02\x83\x85\x03\x02\x02\x02\x84" +
1250
- "\x82\x03\x02\x02\x02\x85\x86\x05\x1C\x0F\x02\x86\x19\x03\x02\x02\x02\x87" +
1251
- "\x88\x07\x19\x02\x02\x88\x89\t\x04\x02\x02\x89\x1B\x03\x02\x02\x02\x8A" +
1252
- "\x8B\x074\x02\x02\x8B\x1D\x03\x02\x02\x02\x8C\x95\x076\x02\x02\x8D\x95" +
1253
- "\x05,\x17\x02\x8E\x95\x05(\x15\x02\x8F\x95\x05*\x16\x02\x90\x95\x071\x02" +
1254
- "\x02\x91\x95\x072\x02\x02\x92\x95\x073\x02\x02\x93\x95\x075\x02\x02\x94" +
1255
- "\x8C\x03\x02\x02\x02\x94\x8D\x03\x02\x02\x02\x94\x8E\x03\x02\x02\x02\x94" +
1256
- "\x8F\x03\x02\x02\x02\x94\x90\x03\x02\x02\x02\x94\x91\x03\x02\x02\x02\x94" +
1257
- "\x92\x03\x02\x02\x02\x94\x93\x03\x02\x02\x02\x95\x1F\x03\x02\x02\x02\x96" +
1258
- "\x97\t\x05\x02\x02\x97!\x03\x02\x02\x02\x98\x99\t\x06\x02\x02\x99#\x03" +
1259
- "\x02\x02\x02\x9A\x9B\t\x07\x02\x02\x9B%\x03\x02\x02\x02\x9C\x9D\t\b\x02" +
1260
- "\x02\x9D\'\x03\x02\x02\x02\x9E\x9F\t\t\x02\x02\x9F)\x03\x02\x02\x02\xA0" +
1261
- "\xA1\x07.\x02\x02\xA1+\x03\x02\x02\x02\xA2\xA3\t\n\x02\x02\xA3-\x03\x02" +
1262
- "\x02\x02\r@ESU[chqw\x82\x94";
1179
+ OpraFilterParser._serializedATN = [4, 1, 56, 163, 2, 0, 7, 0, 2,
1180
+ 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
1181
+ 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17,
1182
+ 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1,
1183
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 61, 8, 1, 10, 1, 12, 1, 64, 9, 1, 1, 1, 1,
1184
+ 1, 3, 1, 68, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 82, 8, 1,
1185
+ 10, 1, 12, 1, 85, 9, 1, 1, 2, 1, 2, 1, 2, 3, 2, 90, 8, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 3, 5, 98,
1186
+ 8, 5, 1, 6, 1, 6, 1, 6, 3, 6, 103, 8, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 5, 7, 110, 8, 7, 10, 7, 12, 7, 113,
1187
+ 9, 7, 1, 8, 1, 8, 1, 8, 3, 8, 118, 8, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 5, 11, 127, 8,
1188
+ 11, 10, 11, 12, 11, 130, 9, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1,
1189
+ 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 147, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 17, 1, 17,
1190
+ 1, 18, 1, 18, 1, 19, 1, 19, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 0, 1, 2, 22, 0, 2, 4, 6, 8, 10, 12, 14,
1191
+ 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 0, 9, 1, 0, 6, 13, 1, 0, 14, 21, 1, 0, 50,
1192
+ 51, 1, 0, 24, 35, 1, 0, 36, 39, 1, 0, 36, 37, 1, 0, 40, 41, 1, 0, 42, 43, 1, 0, 45, 46, 162, 0, 44,
1193
+ 1, 0, 0, 0, 2, 67, 1, 0, 0, 0, 4, 89, 1, 0, 0, 0, 6, 91, 1, 0, 0, 0, 8, 93, 1, 0, 0, 0, 10, 97, 1, 0, 0,
1194
+ 0, 12, 99, 1, 0, 0, 0, 14, 106, 1, 0, 0, 0, 16, 117, 1, 0, 0, 0, 18, 119, 1, 0, 0, 0, 20, 121, 1, 0,
1195
+ 0, 0, 22, 128, 1, 0, 0, 0, 24, 133, 1, 0, 0, 0, 26, 136, 1, 0, 0, 0, 28, 146, 1, 0, 0, 0, 30, 148,
1196
+ 1, 0, 0, 0, 32, 150, 1, 0, 0, 0, 34, 152, 1, 0, 0, 0, 36, 154, 1, 0, 0, 0, 38, 156, 1, 0, 0, 0, 40,
1197
+ 158, 1, 0, 0, 0, 42, 160, 1, 0, 0, 0, 44, 45, 3, 2, 1, 0, 45, 46, 5, 0, 0, 1, 46, 1, 1, 0, 0, 0, 47,
1198
+ 48, 6, 1, -1, 0, 48, 68, 3, 4, 2, 0, 49, 50, 3, 34, 17, 0, 50, 51, 3, 2, 1, 6, 51, 68, 1, 0, 0, 0, 52,
1199
+ 53, 5, 1, 0, 0, 53, 54, 3, 2, 1, 0, 54, 55, 5, 2, 0, 0, 55, 68, 1, 0, 0, 0, 56, 57, 5, 3, 0, 0, 57, 62,
1200
+ 3, 2, 1, 0, 58, 59, 5, 4, 0, 0, 59, 61, 3, 2, 1, 0, 60, 58, 1, 0, 0, 0, 61, 64, 1, 0, 0, 0, 62, 60, 1,
1201
+ 0, 0, 0, 62, 63, 1, 0, 0, 0, 63, 65, 1, 0, 0, 0, 64, 62, 1, 0, 0, 0, 65, 66, 5, 5, 0, 0, 66, 68, 1, 0,
1202
+ 0, 0, 67, 47, 1, 0, 0, 0, 67, 49, 1, 0, 0, 0, 67, 52, 1, 0, 0, 0, 67, 56, 1, 0, 0, 0, 68, 83, 1, 0, 0,
1203
+ 0, 69, 70, 10, 5, 0, 0, 70, 71, 3, 32, 16, 0, 71, 72, 3, 2, 1, 6, 72, 82, 1, 0, 0, 0, 73, 74, 10, 4,
1204
+ 0, 0, 74, 75, 3, 30, 15, 0, 75, 76, 3, 2, 1, 5, 76, 82, 1, 0, 0, 0, 77, 78, 10, 3, 0, 0, 78, 79, 3,
1205
+ 36, 18, 0, 79, 80, 3, 2, 1, 4, 80, 82, 1, 0, 0, 0, 81, 69, 1, 0, 0, 0, 81, 73, 1, 0, 0, 0, 81, 77, 1,
1206
+ 0, 0, 0, 82, 85, 1, 0, 0, 0, 83, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 3, 1, 0, 0, 0, 85, 83, 1, 0,
1207
+ 0, 0, 86, 90, 3, 28, 14, 0, 87, 90, 3, 22, 11, 0, 88, 90, 3, 24, 12, 0, 89, 86, 1, 0, 0, 0, 89, 87,
1208
+ 1, 0, 0, 0, 89, 88, 1, 0, 0, 0, 90, 5, 1, 0, 0, 0, 91, 92, 3, 12, 6, 0, 92, 7, 1, 0, 0, 0, 93, 94, 3,
1209
+ 26, 13, 0, 94, 9, 1, 0, 0, 0, 95, 98, 3, 26, 13, 0, 96, 98, 5, 53, 0, 0, 97, 95, 1, 0, 0, 0, 97, 96,
1210
+ 1, 0, 0, 0, 98, 11, 1, 0, 0, 0, 99, 100, 3, 26, 13, 0, 100, 102, 5, 1, 0, 0, 101, 103, 3, 14, 7, 0,
1211
+ 102, 101, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 104, 1, 0, 0, 0, 104, 105, 5, 2, 0, 0, 105, 13,
1212
+ 1, 0, 0, 0, 106, 111, 3, 2, 1, 0, 107, 108, 5, 4, 0, 0, 108, 110, 3, 2, 1, 0, 109, 107, 1, 0, 0, 0,
1213
+ 110, 113, 1, 0, 0, 0, 111, 109, 1, 0, 0, 0, 111, 112, 1, 0, 0, 0, 112, 15, 1, 0, 0, 0, 113, 111,
1214
+ 1, 0, 0, 0, 114, 118, 3, 18, 9, 0, 115, 118, 3, 20, 10, 0, 116, 118, 5, 51, 0, 0, 117, 114, 1, 0,
1215
+ 0, 0, 117, 115, 1, 0, 0, 0, 117, 116, 1, 0, 0, 0, 118, 17, 1, 0, 0, 0, 119, 120, 7, 0, 0, 0, 120,
1216
+ 19, 1, 0, 0, 0, 121, 122, 7, 1, 0, 0, 122, 21, 1, 0, 0, 0, 123, 124, 3, 26, 13, 0, 124, 125, 5, 22,
1217
+ 0, 0, 125, 127, 1, 0, 0, 0, 126, 123, 1, 0, 0, 0, 127, 130, 1, 0, 0, 0, 128, 126, 1, 0, 0, 0, 128,
1218
+ 129, 1, 0, 0, 0, 129, 131, 1, 0, 0, 0, 130, 128, 1, 0, 0, 0, 131, 132, 3, 26, 13, 0, 132, 23, 1,
1219
+ 0, 0, 0, 133, 134, 5, 23, 0, 0, 134, 135, 7, 2, 0, 0, 135, 25, 1, 0, 0, 0, 136, 137, 5, 50, 0, 0,
1220
+ 137, 27, 1, 0, 0, 0, 138, 147, 5, 52, 0, 0, 139, 147, 3, 42, 21, 0, 140, 147, 3, 38, 19, 0, 141,
1221
+ 147, 3, 40, 20, 0, 142, 147, 5, 47, 0, 0, 143, 147, 5, 48, 0, 0, 144, 147, 5, 49, 0, 0, 145, 147,
1222
+ 5, 51, 0, 0, 146, 138, 1, 0, 0, 0, 146, 139, 1, 0, 0, 0, 146, 140, 1, 0, 0, 0, 146, 141, 1, 0, 0,
1223
+ 0, 146, 142, 1, 0, 0, 0, 146, 143, 1, 0, 0, 0, 146, 144, 1, 0, 0, 0, 146, 145, 1, 0, 0, 0, 147, 29,
1224
+ 1, 0, 0, 0, 148, 149, 7, 3, 0, 0, 149, 31, 1, 0, 0, 0, 150, 151, 7, 4, 0, 0, 151, 33, 1, 0, 0, 0, 152,
1225
+ 153, 7, 5, 0, 0, 153, 35, 1, 0, 0, 0, 154, 155, 7, 6, 0, 0, 155, 37, 1, 0, 0, 0, 156, 157, 7, 7, 0,
1226
+ 0, 157, 39, 1, 0, 0, 0, 158, 159, 5, 44, 0, 0, 159, 41, 1, 0, 0, 0, 160, 161, 7, 8, 0, 0, 161, 43,
1227
+ 1, 0, 0, 0, 11, 62, 67, 81, 83, 89, 97, 102, 111, 117, 128, 146];
1228
+ OpraFilterParser.DecisionsToDFA = OpraFilterParser._ATN.decisionToState.map((ds, index) => new DFA(ds, index));
1263
1229
  export class RootContext extends ParserRuleContext {
1230
+ constructor(parser, parent, invokingState) {
1231
+ super(parent, invokingState);
1232
+ this.parser = parser;
1233
+ }
1264
1234
  expression() {
1265
- return this.getRuleContext(0, ExpressionContext);
1235
+ return this.getTypedRuleContext(ExpressionContext, 0);
1266
1236
  }
1267
- EOF() { return this.getToken(OpraFilterParser.EOF, 0); }
1268
- constructor(parent, invokingState) {
1269
- super(parent, invokingState);
1237
+ EOF() {
1238
+ return this.getToken(OpraFilterParser.EOF, 0);
1239
+ }
1240
+ get ruleIndex() {
1241
+ return OpraFilterParser.RULE_root;
1242
+ }
1243
+ enterRule(listener) {
1244
+ if (listener.enterRoot) {
1245
+ listener.enterRoot(this);
1246
+ }
1247
+ }
1248
+ exitRule(listener) {
1249
+ if (listener.exitRoot) {
1250
+ listener.exitRoot(this);
1251
+ }
1270
1252
  }
1271
- // @Override
1272
- get ruleIndex() { return OpraFilterParser.RULE_root; }
1273
1253
  // @Override
1274
1254
  accept(visitor) {
1275
1255
  if (visitor.visitRoot) {
@@ -1281,74 +1261,101 @@ export class RootContext extends ParserRuleContext {
1281
1261
  }
1282
1262
  }
1283
1263
  export class ExpressionContext extends ParserRuleContext {
1284
- constructor(parent, invokingState) {
1264
+ constructor(parser, parent, invokingState) {
1285
1265
  super(parent, invokingState);
1266
+ this.parser = parser;
1267
+ }
1268
+ get ruleIndex() {
1269
+ return OpraFilterParser.RULE_expression;
1286
1270
  }
1287
- // @Override
1288
- get ruleIndex() { return OpraFilterParser.RULE_expression; }
1289
1271
  copyFrom(ctx) {
1290
1272
  super.copyFrom(ctx);
1291
1273
  }
1292
1274
  }
1293
- export class TermExpressionContext extends ExpressionContext {
1294
- term() {
1295
- return this.getRuleContext(0, TermContext);
1275
+ export class ParenthesizedExpressionContext extends ExpressionContext {
1276
+ constructor(parser, ctx) {
1277
+ super(parser, ctx.parentCtx, ctx.invokingState);
1278
+ super.copyFrom(ctx);
1279
+ }
1280
+ expression() {
1281
+ return this.getTypedRuleContext(ExpressionContext, 0);
1296
1282
  }
1297
- constructor(ctx) {
1298
- super(ctx.parent, ctx.invokingState);
1299
- this.copyFrom(ctx);
1283
+ enterRule(listener) {
1284
+ if (listener.enterParenthesizedExpression) {
1285
+ listener.enterParenthesizedExpression(this);
1286
+ }
1287
+ }
1288
+ exitRule(listener) {
1289
+ if (listener.exitParenthesizedExpression) {
1290
+ listener.exitParenthesizedExpression(this);
1291
+ }
1300
1292
  }
1301
1293
  // @Override
1302
1294
  accept(visitor) {
1303
- if (visitor.visitTermExpression) {
1304
- return visitor.visitTermExpression(this);
1295
+ if (visitor.visitParenthesizedExpression) {
1296
+ return visitor.visitParenthesizedExpression(this);
1305
1297
  }
1306
1298
  else {
1307
1299
  return visitor.visitChildren(this);
1308
1300
  }
1309
1301
  }
1310
1302
  }
1311
- export class PolarityExpressionContext extends ExpressionContext {
1312
- polarOp() {
1313
- return this.getRuleContext(0, PolarOpContext);
1303
+ export class ArrayExpressionContext extends ExpressionContext {
1304
+ constructor(parser, ctx) {
1305
+ super(parser, ctx.parentCtx, ctx.invokingState);
1306
+ super.copyFrom(ctx);
1314
1307
  }
1315
- expression() {
1316
- return this.getRuleContext(0, ExpressionContext);
1308
+ expression_list() {
1309
+ return this.getTypedRuleContexts(ExpressionContext);
1310
+ }
1311
+ expression(i) {
1312
+ return this.getTypedRuleContext(ExpressionContext, i);
1317
1313
  }
1318
- constructor(ctx) {
1319
- super(ctx.parent, ctx.invokingState);
1320
- this.copyFrom(ctx);
1314
+ enterRule(listener) {
1315
+ if (listener.enterArrayExpression) {
1316
+ listener.enterArrayExpression(this);
1317
+ }
1318
+ }
1319
+ exitRule(listener) {
1320
+ if (listener.exitArrayExpression) {
1321
+ listener.exitArrayExpression(this);
1322
+ }
1321
1323
  }
1322
1324
  // @Override
1323
1325
  accept(visitor) {
1324
- if (visitor.visitPolarityExpression) {
1325
- return visitor.visitPolarityExpression(this);
1326
+ if (visitor.visitArrayExpression) {
1327
+ return visitor.visitArrayExpression(this);
1326
1328
  }
1327
1329
  else {
1328
1330
  return visitor.visitChildren(this);
1329
1331
  }
1330
1332
  }
1331
1333
  }
1332
- export class ArithmeticExpressionContext extends ExpressionContext {
1333
- expression(i) {
1334
- if (i === undefined) {
1335
- return this.getRuleContexts(ExpressionContext);
1336
- }
1337
- else {
1338
- return this.getRuleContext(i, ExpressionContext);
1339
- }
1334
+ export class PolarityExpressionContext extends ExpressionContext {
1335
+ constructor(parser, ctx) {
1336
+ super(parser, ctx.parentCtx, ctx.invokingState);
1337
+ super.copyFrom(ctx);
1340
1338
  }
1341
- arthOp() {
1342
- return this.getRuleContext(0, ArthOpContext);
1339
+ polarOp() {
1340
+ return this.getTypedRuleContext(PolarOpContext, 0);
1341
+ }
1342
+ expression() {
1343
+ return this.getTypedRuleContext(ExpressionContext, 0);
1343
1344
  }
1344
- constructor(ctx) {
1345
- super(ctx.parent, ctx.invokingState);
1346
- this.copyFrom(ctx);
1345
+ enterRule(listener) {
1346
+ if (listener.enterPolarityExpression) {
1347
+ listener.enterPolarityExpression(this);
1348
+ }
1349
+ }
1350
+ exitRule(listener) {
1351
+ if (listener.exitPolarityExpression) {
1352
+ listener.exitPolarityExpression(this);
1353
+ }
1347
1354
  }
1348
1355
  // @Override
1349
1356
  accept(visitor) {
1350
- if (visitor.visitArithmeticExpression) {
1351
- return visitor.visitArithmeticExpression(this);
1357
+ if (visitor.visitPolarityExpression) {
1358
+ return visitor.visitPolarityExpression(this);
1352
1359
  }
1353
1360
  else {
1354
1361
  return visitor.visitChildren(this);
@@ -1356,20 +1363,28 @@ export class ArithmeticExpressionContext extends ExpressionContext {
1356
1363
  }
1357
1364
  }
1358
1365
  export class ComparisonExpressionContext extends ExpressionContext {
1366
+ constructor(parser, ctx) {
1367
+ super(parser, ctx.parentCtx, ctx.invokingState);
1368
+ super.copyFrom(ctx);
1369
+ }
1370
+ expression_list() {
1371
+ return this.getTypedRuleContexts(ExpressionContext);
1372
+ }
1359
1373
  expression(i) {
1360
- if (i === undefined) {
1361
- return this.getRuleContexts(ExpressionContext);
1362
- }
1363
- else {
1364
- return this.getRuleContext(i, ExpressionContext);
1365
- }
1374
+ return this.getTypedRuleContext(ExpressionContext, i);
1366
1375
  }
1367
1376
  compOp() {
1368
- return this.getRuleContext(0, CompOpContext);
1377
+ return this.getTypedRuleContext(CompOpContext, 0);
1369
1378
  }
1370
- constructor(ctx) {
1371
- super(ctx.parent, ctx.invokingState);
1372
- this.copyFrom(ctx);
1379
+ enterRule(listener) {
1380
+ if (listener.enterComparisonExpression) {
1381
+ listener.enterComparisonExpression(this);
1382
+ }
1383
+ }
1384
+ exitRule(listener) {
1385
+ if (listener.exitComparisonExpression) {
1386
+ listener.exitComparisonExpression(this);
1387
+ }
1373
1388
  }
1374
1389
  // @Override
1375
1390
  accept(visitor) {
@@ -1381,67 +1396,96 @@ export class ComparisonExpressionContext extends ExpressionContext {
1381
1396
  }
1382
1397
  }
1383
1398
  }
1384
- export class LogicalExpressionContext extends ExpressionContext {
1399
+ export class ArithmeticExpressionContext extends ExpressionContext {
1400
+ constructor(parser, ctx) {
1401
+ super(parser, ctx.parentCtx, ctx.invokingState);
1402
+ super.copyFrom(ctx);
1403
+ }
1404
+ expression_list() {
1405
+ return this.getTypedRuleContexts(ExpressionContext);
1406
+ }
1385
1407
  expression(i) {
1386
- if (i === undefined) {
1387
- return this.getRuleContexts(ExpressionContext);
1388
- }
1389
- else {
1390
- return this.getRuleContext(i, ExpressionContext);
1391
- }
1408
+ return this.getTypedRuleContext(ExpressionContext, i);
1392
1409
  }
1393
- logOp() {
1394
- return this.getRuleContext(0, LogOpContext);
1410
+ arthOp() {
1411
+ return this.getTypedRuleContext(ArthOpContext, 0);
1395
1412
  }
1396
- constructor(ctx) {
1397
- super(ctx.parent, ctx.invokingState);
1398
- this.copyFrom(ctx);
1413
+ enterRule(listener) {
1414
+ if (listener.enterArithmeticExpression) {
1415
+ listener.enterArithmeticExpression(this);
1416
+ }
1417
+ }
1418
+ exitRule(listener) {
1419
+ if (listener.exitArithmeticExpression) {
1420
+ listener.exitArithmeticExpression(this);
1421
+ }
1399
1422
  }
1400
1423
  // @Override
1401
1424
  accept(visitor) {
1402
- if (visitor.visitLogicalExpression) {
1403
- return visitor.visitLogicalExpression(this);
1425
+ if (visitor.visitArithmeticExpression) {
1426
+ return visitor.visitArithmeticExpression(this);
1404
1427
  }
1405
1428
  else {
1406
1429
  return visitor.visitChildren(this);
1407
1430
  }
1408
1431
  }
1409
1432
  }
1410
- export class ParenthesizedExpressionContext extends ExpressionContext {
1411
- expression() {
1412
- return this.getRuleContext(0, ExpressionContext);
1433
+ export class LogicalExpressionContext extends ExpressionContext {
1434
+ constructor(parser, ctx) {
1435
+ super(parser, ctx.parentCtx, ctx.invokingState);
1436
+ super.copyFrom(ctx);
1413
1437
  }
1414
- constructor(ctx) {
1415
- super(ctx.parent, ctx.invokingState);
1416
- this.copyFrom(ctx);
1438
+ expression_list() {
1439
+ return this.getTypedRuleContexts(ExpressionContext);
1440
+ }
1441
+ expression(i) {
1442
+ return this.getTypedRuleContext(ExpressionContext, i);
1443
+ }
1444
+ logOp() {
1445
+ return this.getTypedRuleContext(LogOpContext, 0);
1446
+ }
1447
+ enterRule(listener) {
1448
+ if (listener.enterLogicalExpression) {
1449
+ listener.enterLogicalExpression(this);
1450
+ }
1451
+ }
1452
+ exitRule(listener) {
1453
+ if (listener.exitLogicalExpression) {
1454
+ listener.exitLogicalExpression(this);
1455
+ }
1417
1456
  }
1418
1457
  // @Override
1419
1458
  accept(visitor) {
1420
- if (visitor.visitParenthesizedExpression) {
1421
- return visitor.visitParenthesizedExpression(this);
1459
+ if (visitor.visitLogicalExpression) {
1460
+ return visitor.visitLogicalExpression(this);
1422
1461
  }
1423
1462
  else {
1424
1463
  return visitor.visitChildren(this);
1425
1464
  }
1426
1465
  }
1427
1466
  }
1428
- export class ArrayExpressionContext extends ExpressionContext {
1429
- expression(i) {
1430
- if (i === undefined) {
1431
- return this.getRuleContexts(ExpressionContext);
1432
- }
1433
- else {
1434
- return this.getRuleContext(i, ExpressionContext);
1467
+ export class TermExpressionContext extends ExpressionContext {
1468
+ constructor(parser, ctx) {
1469
+ super(parser, ctx.parentCtx, ctx.invokingState);
1470
+ super.copyFrom(ctx);
1471
+ }
1472
+ term() {
1473
+ return this.getTypedRuleContext(TermContext, 0);
1474
+ }
1475
+ enterRule(listener) {
1476
+ if (listener.enterTermExpression) {
1477
+ listener.enterTermExpression(this);
1435
1478
  }
1436
1479
  }
1437
- constructor(ctx) {
1438
- super(ctx.parent, ctx.invokingState);
1439
- this.copyFrom(ctx);
1480
+ exitRule(listener) {
1481
+ if (listener.exitTermExpression) {
1482
+ listener.exitTermExpression(this);
1483
+ }
1440
1484
  }
1441
1485
  // @Override
1442
1486
  accept(visitor) {
1443
- if (visitor.visitArrayExpression) {
1444
- return visitor.visitArrayExpression(this);
1487
+ if (visitor.visitTermExpression) {
1488
+ return visitor.visitTermExpression(this);
1445
1489
  }
1446
1490
  else {
1447
1491
  return visitor.visitChildren(this);
@@ -1449,63 +1493,95 @@ export class ArrayExpressionContext extends ExpressionContext {
1449
1493
  }
1450
1494
  }
1451
1495
  export class TermContext extends ParserRuleContext {
1452
- constructor(parent, invokingState) {
1496
+ constructor(parser, parent, invokingState) {
1453
1497
  super(parent, invokingState);
1498
+ this.parser = parser;
1499
+ }
1500
+ get ruleIndex() {
1501
+ return OpraFilterParser.RULE_term;
1454
1502
  }
1455
- // @Override
1456
- get ruleIndex() { return OpraFilterParser.RULE_term; }
1457
1503
  copyFrom(ctx) {
1458
1504
  super.copyFrom(ctx);
1459
1505
  }
1460
1506
  }
1461
- export class LiteralTermContext extends TermContext {
1462
- literal() {
1463
- return this.getRuleContext(0, LiteralContext);
1507
+ export class ExternalConstantTermContext extends TermContext {
1508
+ constructor(parser, ctx) {
1509
+ super(parser, ctx.parentCtx, ctx.invokingState);
1510
+ super.copyFrom(ctx);
1511
+ }
1512
+ externalConstant() {
1513
+ return this.getTypedRuleContext(ExternalConstantContext, 0);
1464
1514
  }
1465
- constructor(ctx) {
1466
- super(ctx.parent, ctx.invokingState);
1467
- this.copyFrom(ctx);
1515
+ enterRule(listener) {
1516
+ if (listener.enterExternalConstantTerm) {
1517
+ listener.enterExternalConstantTerm(this);
1518
+ }
1519
+ }
1520
+ exitRule(listener) {
1521
+ if (listener.exitExternalConstantTerm) {
1522
+ listener.exitExternalConstantTerm(this);
1523
+ }
1468
1524
  }
1469
1525
  // @Override
1470
1526
  accept(visitor) {
1471
- if (visitor.visitLiteralTerm) {
1472
- return visitor.visitLiteralTerm(this);
1527
+ if (visitor.visitExternalConstantTerm) {
1528
+ return visitor.visitExternalConstantTerm(this);
1473
1529
  }
1474
1530
  else {
1475
1531
  return visitor.visitChildren(this);
1476
1532
  }
1477
1533
  }
1478
1534
  }
1479
- export class QualifiedIdentifierTermContext extends TermContext {
1480
- qualifiedIdentifier() {
1481
- return this.getRuleContext(0, QualifiedIdentifierContext);
1535
+ export class LiteralTermContext extends TermContext {
1536
+ constructor(parser, ctx) {
1537
+ super(parser, ctx.parentCtx, ctx.invokingState);
1538
+ super.copyFrom(ctx);
1539
+ }
1540
+ literal() {
1541
+ return this.getTypedRuleContext(LiteralContext, 0);
1482
1542
  }
1483
- constructor(ctx) {
1484
- super(ctx.parent, ctx.invokingState);
1485
- this.copyFrom(ctx);
1543
+ enterRule(listener) {
1544
+ if (listener.enterLiteralTerm) {
1545
+ listener.enterLiteralTerm(this);
1546
+ }
1547
+ }
1548
+ exitRule(listener) {
1549
+ if (listener.exitLiteralTerm) {
1550
+ listener.exitLiteralTerm(this);
1551
+ }
1486
1552
  }
1487
1553
  // @Override
1488
1554
  accept(visitor) {
1489
- if (visitor.visitQualifiedIdentifierTerm) {
1490
- return visitor.visitQualifiedIdentifierTerm(this);
1555
+ if (visitor.visitLiteralTerm) {
1556
+ return visitor.visitLiteralTerm(this);
1491
1557
  }
1492
1558
  else {
1493
1559
  return visitor.visitChildren(this);
1494
1560
  }
1495
1561
  }
1496
1562
  }
1497
- export class ExternalConstantTermContext extends TermContext {
1498
- externalConstant() {
1499
- return this.getRuleContext(0, ExternalConstantContext);
1563
+ export class QualifiedIdentifierTermContext extends TermContext {
1564
+ constructor(parser, ctx) {
1565
+ super(parser, ctx.parentCtx, ctx.invokingState);
1566
+ super.copyFrom(ctx);
1567
+ }
1568
+ qualifiedIdentifier() {
1569
+ return this.getTypedRuleContext(QualifiedIdentifierContext, 0);
1500
1570
  }
1501
- constructor(ctx) {
1502
- super(ctx.parent, ctx.invokingState);
1503
- this.copyFrom(ctx);
1571
+ enterRule(listener) {
1572
+ if (listener.enterQualifiedIdentifierTerm) {
1573
+ listener.enterQualifiedIdentifierTerm(this);
1574
+ }
1575
+ }
1576
+ exitRule(listener) {
1577
+ if (listener.exitQualifiedIdentifierTerm) {
1578
+ listener.exitQualifiedIdentifierTerm(this);
1579
+ }
1504
1580
  }
1505
1581
  // @Override
1506
1582
  accept(visitor) {
1507
- if (visitor.visitExternalConstantTerm) {
1508
- return visitor.visitExternalConstantTerm(this);
1583
+ if (visitor.visitQualifiedIdentifierTerm) {
1584
+ return visitor.visitQualifiedIdentifierTerm(this);
1509
1585
  }
1510
1586
  else {
1511
1587
  return visitor.visitChildren(this);
@@ -1513,14 +1589,26 @@ export class ExternalConstantTermContext extends TermContext {
1513
1589
  }
1514
1590
  }
1515
1591
  export class InvocableContext extends ParserRuleContext {
1516
- function() {
1517
- return this.getRuleContext(0, FunctionContext);
1518
- }
1519
- constructor(parent, invokingState) {
1592
+ constructor(parser, parent, invokingState) {
1520
1593
  super(parent, invokingState);
1594
+ this.parser = parser;
1595
+ }
1596
+ function_() {
1597
+ return this.getTypedRuleContext(FunctionContext, 0);
1598
+ }
1599
+ get ruleIndex() {
1600
+ return OpraFilterParser.RULE_invocable;
1601
+ }
1602
+ enterRule(listener) {
1603
+ if (listener.enterInvocable) {
1604
+ listener.enterInvocable(this);
1605
+ }
1606
+ }
1607
+ exitRule(listener) {
1608
+ if (listener.exitInvocable) {
1609
+ listener.exitInvocable(this);
1610
+ }
1521
1611
  }
1522
- // @Override
1523
- get ruleIndex() { return OpraFilterParser.RULE_invocable; }
1524
1612
  // @Override
1525
1613
  accept(visitor) {
1526
1614
  if (visitor.visitInvocable) {
@@ -1532,22 +1620,34 @@ export class InvocableContext extends ParserRuleContext {
1532
1620
  }
1533
1621
  }
1534
1622
  export class InvocationContext extends ParserRuleContext {
1535
- constructor(parent, invokingState) {
1623
+ constructor(parser, parent, invokingState) {
1536
1624
  super(parent, invokingState);
1625
+ this.parser = parser;
1626
+ }
1627
+ get ruleIndex() {
1628
+ return OpraFilterParser.RULE_invocation;
1537
1629
  }
1538
- // @Override
1539
- get ruleIndex() { return OpraFilterParser.RULE_invocation; }
1540
1630
  copyFrom(ctx) {
1541
1631
  super.copyFrom(ctx);
1542
1632
  }
1543
1633
  }
1544
1634
  export class MemberInvocationContext extends InvocationContext {
1635
+ constructor(parser, ctx) {
1636
+ super(parser, ctx.parentCtx, ctx.invokingState);
1637
+ super.copyFrom(ctx);
1638
+ }
1545
1639
  identifier() {
1546
- return this.getRuleContext(0, IdentifierContext);
1640
+ return this.getTypedRuleContext(IdentifierContext, 0);
1547
1641
  }
1548
- constructor(ctx) {
1549
- super(ctx.parent, ctx.invokingState);
1550
- this.copyFrom(ctx);
1642
+ enterRule(listener) {
1643
+ if (listener.enterMemberInvocation) {
1644
+ listener.enterMemberInvocation(this);
1645
+ }
1646
+ }
1647
+ exitRule(listener) {
1648
+ if (listener.exitMemberInvocation) {
1649
+ listener.exitMemberInvocation(this);
1650
+ }
1551
1651
  }
1552
1652
  // @Override
1553
1653
  accept(visitor) {
@@ -1560,43 +1660,67 @@ export class MemberInvocationContext extends InvocationContext {
1560
1660
  }
1561
1661
  }
1562
1662
  export class IndexerContext extends ParserRuleContext {
1563
- constructor(parent, invokingState) {
1663
+ constructor(parser, parent, invokingState) {
1564
1664
  super(parent, invokingState);
1665
+ this.parser = parser;
1666
+ }
1667
+ get ruleIndex() {
1668
+ return OpraFilterParser.RULE_indexer;
1565
1669
  }
1566
- // @Override
1567
- get ruleIndex() { return OpraFilterParser.RULE_indexer; }
1568
1670
  copyFrom(ctx) {
1569
1671
  super.copyFrom(ctx);
1570
1672
  }
1571
1673
  }
1572
- export class MemberIndexContext extends IndexerContext {
1573
- identifier() {
1574
- return this.getRuleContext(0, IdentifierContext);
1674
+ export class NumberIndexContext extends IndexerContext {
1675
+ constructor(parser, ctx) {
1676
+ super(parser, ctx.parentCtx, ctx.invokingState);
1677
+ super.copyFrom(ctx);
1575
1678
  }
1576
- constructor(ctx) {
1577
- super(ctx.parent, ctx.invokingState);
1578
- this.copyFrom(ctx);
1679
+ INTEGER() {
1680
+ return this.getToken(OpraFilterParser.INTEGER, 0);
1681
+ }
1682
+ enterRule(listener) {
1683
+ if (listener.enterNumberIndex) {
1684
+ listener.enterNumberIndex(this);
1685
+ }
1686
+ }
1687
+ exitRule(listener) {
1688
+ if (listener.exitNumberIndex) {
1689
+ listener.exitNumberIndex(this);
1690
+ }
1579
1691
  }
1580
1692
  // @Override
1581
1693
  accept(visitor) {
1582
- if (visitor.visitMemberIndex) {
1583
- return visitor.visitMemberIndex(this);
1694
+ if (visitor.visitNumberIndex) {
1695
+ return visitor.visitNumberIndex(this);
1584
1696
  }
1585
1697
  else {
1586
1698
  return visitor.visitChildren(this);
1587
1699
  }
1588
1700
  }
1589
1701
  }
1590
- export class NumberIndexContext extends IndexerContext {
1591
- INTEGER() { return this.getToken(OpraFilterParser.INTEGER, 0); }
1592
- constructor(ctx) {
1593
- super(ctx.parent, ctx.invokingState);
1594
- this.copyFrom(ctx);
1702
+ export class MemberIndexContext extends IndexerContext {
1703
+ constructor(parser, ctx) {
1704
+ super(parser, ctx.parentCtx, ctx.invokingState);
1705
+ super.copyFrom(ctx);
1706
+ }
1707
+ identifier() {
1708
+ return this.getTypedRuleContext(IdentifierContext, 0);
1709
+ }
1710
+ enterRule(listener) {
1711
+ if (listener.enterMemberIndex) {
1712
+ listener.enterMemberIndex(this);
1713
+ }
1714
+ }
1715
+ exitRule(listener) {
1716
+ if (listener.exitMemberIndex) {
1717
+ listener.exitMemberIndex(this);
1718
+ }
1595
1719
  }
1596
1720
  // @Override
1597
1721
  accept(visitor) {
1598
- if (visitor.visitNumberIndex) {
1599
- return visitor.visitNumberIndex(this);
1722
+ if (visitor.visitMemberIndex) {
1723
+ return visitor.visitMemberIndex(this);
1600
1724
  }
1601
1725
  else {
1602
1726
  return visitor.visitChildren(this);
@@ -1604,17 +1728,29 @@ export class NumberIndexContext extends IndexerContext {
1604
1728
  }
1605
1729
  }
1606
1730
  export class FunctionContext extends ParserRuleContext {
1731
+ constructor(parser, parent, invokingState) {
1732
+ super(parent, invokingState);
1733
+ this.parser = parser;
1734
+ }
1607
1735
  identifier() {
1608
- return this.getRuleContext(0, IdentifierContext);
1736
+ return this.getTypedRuleContext(IdentifierContext, 0);
1609
1737
  }
1610
1738
  paramList() {
1611
- return this.tryGetRuleContext(0, ParamListContext);
1739
+ return this.getTypedRuleContext(ParamListContext, 0);
1612
1740
  }
1613
- constructor(parent, invokingState) {
1614
- super(parent, invokingState);
1741
+ get ruleIndex() {
1742
+ return OpraFilterParser.RULE_function;
1743
+ }
1744
+ enterRule(listener) {
1745
+ if (listener.enterFunction) {
1746
+ listener.enterFunction(this);
1747
+ }
1748
+ }
1749
+ exitRule(listener) {
1750
+ if (listener.exitFunction) {
1751
+ listener.exitFunction(this);
1752
+ }
1615
1753
  }
1616
- // @Override
1617
- get ruleIndex() { return OpraFilterParser.RULE_function; }
1618
1754
  // @Override
1619
1755
  accept(visitor) {
1620
1756
  if (visitor.visitFunction) {
@@ -1626,20 +1762,30 @@ export class FunctionContext extends ParserRuleContext {
1626
1762
  }
1627
1763
  }
1628
1764
  export class ParamListContext extends ParserRuleContext {
1765
+ constructor(parser, parent, invokingState) {
1766
+ super(parent, invokingState);
1767
+ this.parser = parser;
1768
+ }
1769
+ expression_list() {
1770
+ return this.getTypedRuleContexts(ExpressionContext);
1771
+ }
1629
1772
  expression(i) {
1630
- if (i === undefined) {
1631
- return this.getRuleContexts(ExpressionContext);
1632
- }
1633
- else {
1634
- return this.getRuleContext(i, ExpressionContext);
1773
+ return this.getTypedRuleContext(ExpressionContext, i);
1774
+ }
1775
+ get ruleIndex() {
1776
+ return OpraFilterParser.RULE_paramList;
1777
+ }
1778
+ enterRule(listener) {
1779
+ if (listener.enterParamList) {
1780
+ listener.enterParamList(this);
1635
1781
  }
1636
1782
  }
1637
- constructor(parent, invokingState) {
1638
- super(parent, invokingState);
1783
+ exitRule(listener) {
1784
+ if (listener.exitParamList) {
1785
+ listener.exitParamList(this);
1786
+ }
1639
1787
  }
1640
1788
  // @Override
1641
- get ruleIndex() { return OpraFilterParser.RULE_paramList; }
1642
- // @Override
1643
1789
  accept(visitor) {
1644
1790
  if (visitor.visitParamList) {
1645
1791
  return visitor.visitParamList(this);
@@ -1650,18 +1796,32 @@ export class ParamListContext extends ParserRuleContext {
1650
1796
  }
1651
1797
  }
1652
1798
  export class UnitContext extends ParserRuleContext {
1799
+ constructor(parser, parent, invokingState) {
1800
+ super(parent, invokingState);
1801
+ this.parser = parser;
1802
+ }
1653
1803
  dateTimePrecision() {
1654
- return this.tryGetRuleContext(0, DateTimePrecisionContext);
1804
+ return this.getTypedRuleContext(DateTimePrecisionContext, 0);
1655
1805
  }
1656
1806
  pluralDateTimePrecision() {
1657
- return this.tryGetRuleContext(0, PluralDateTimePrecisionContext);
1807
+ return this.getTypedRuleContext(PluralDateTimePrecisionContext, 0);
1658
1808
  }
1659
- STRING() { return this.tryGetToken(OpraFilterParser.STRING, 0); }
1660
- constructor(parent, invokingState) {
1661
- super(parent, invokingState);
1809
+ STRING() {
1810
+ return this.getToken(OpraFilterParser.STRING, 0);
1811
+ }
1812
+ get ruleIndex() {
1813
+ return OpraFilterParser.RULE_unit;
1814
+ }
1815
+ enterRule(listener) {
1816
+ if (listener.enterUnit) {
1817
+ listener.enterUnit(this);
1818
+ }
1819
+ }
1820
+ exitRule(listener) {
1821
+ if (listener.exitUnit) {
1822
+ listener.exitUnit(this);
1823
+ }
1662
1824
  }
1663
- // @Override
1664
- get ruleIndex() { return OpraFilterParser.RULE_unit; }
1665
1825
  // @Override
1666
1826
  accept(visitor) {
1667
1827
  if (visitor.visitUnit) {
@@ -1673,11 +1833,23 @@ export class UnitContext extends ParserRuleContext {
1673
1833
  }
1674
1834
  }
1675
1835
  export class DateTimePrecisionContext extends ParserRuleContext {
1676
- constructor(parent, invokingState) {
1836
+ constructor(parser, parent, invokingState) {
1677
1837
  super(parent, invokingState);
1838
+ this.parser = parser;
1839
+ }
1840
+ get ruleIndex() {
1841
+ return OpraFilterParser.RULE_dateTimePrecision;
1842
+ }
1843
+ enterRule(listener) {
1844
+ if (listener.enterDateTimePrecision) {
1845
+ listener.enterDateTimePrecision(this);
1846
+ }
1847
+ }
1848
+ exitRule(listener) {
1849
+ if (listener.exitDateTimePrecision) {
1850
+ listener.exitDateTimePrecision(this);
1851
+ }
1678
1852
  }
1679
- // @Override
1680
- get ruleIndex() { return OpraFilterParser.RULE_dateTimePrecision; }
1681
1853
  // @Override
1682
1854
  accept(visitor) {
1683
1855
  if (visitor.visitDateTimePrecision) {
@@ -1689,11 +1861,23 @@ export class DateTimePrecisionContext extends ParserRuleContext {
1689
1861
  }
1690
1862
  }
1691
1863
  export class PluralDateTimePrecisionContext extends ParserRuleContext {
1692
- constructor(parent, invokingState) {
1864
+ constructor(parser, parent, invokingState) {
1693
1865
  super(parent, invokingState);
1866
+ this.parser = parser;
1867
+ }
1868
+ get ruleIndex() {
1869
+ return OpraFilterParser.RULE_pluralDateTimePrecision;
1870
+ }
1871
+ enterRule(listener) {
1872
+ if (listener.enterPluralDateTimePrecision) {
1873
+ listener.enterPluralDateTimePrecision(this);
1874
+ }
1875
+ }
1876
+ exitRule(listener) {
1877
+ if (listener.exitPluralDateTimePrecision) {
1878
+ listener.exitPluralDateTimePrecision(this);
1879
+ }
1694
1880
  }
1695
- // @Override
1696
- get ruleIndex() { return OpraFilterParser.RULE_pluralDateTimePrecision; }
1697
1881
  // @Override
1698
1882
  accept(visitor) {
1699
1883
  if (visitor.visitPluralDateTimePrecision) {
@@ -1705,20 +1889,30 @@ export class PluralDateTimePrecisionContext extends ParserRuleContext {
1705
1889
  }
1706
1890
  }
1707
1891
  export class QualifiedIdentifierContext extends ParserRuleContext {
1892
+ constructor(parser, parent, invokingState) {
1893
+ super(parent, invokingState);
1894
+ this.parser = parser;
1895
+ }
1896
+ identifier_list() {
1897
+ return this.getTypedRuleContexts(IdentifierContext);
1898
+ }
1708
1899
  identifier(i) {
1709
- if (i === undefined) {
1710
- return this.getRuleContexts(IdentifierContext);
1711
- }
1712
- else {
1713
- return this.getRuleContext(i, IdentifierContext);
1900
+ return this.getTypedRuleContext(IdentifierContext, i);
1901
+ }
1902
+ get ruleIndex() {
1903
+ return OpraFilterParser.RULE_qualifiedIdentifier;
1904
+ }
1905
+ enterRule(listener) {
1906
+ if (listener.enterQualifiedIdentifier) {
1907
+ listener.enterQualifiedIdentifier(this);
1714
1908
  }
1715
1909
  }
1716
- constructor(parent, invokingState) {
1717
- super(parent, invokingState);
1910
+ exitRule(listener) {
1911
+ if (listener.exitQualifiedIdentifier) {
1912
+ listener.exitQualifiedIdentifier(this);
1913
+ }
1718
1914
  }
1719
1915
  // @Override
1720
- get ruleIndex() { return OpraFilterParser.RULE_qualifiedIdentifier; }
1721
- // @Override
1722
1916
  accept(visitor) {
1723
1917
  if (visitor.visitQualifiedIdentifier) {
1724
1918
  return visitor.visitQualifiedIdentifier(this);
@@ -1729,13 +1923,29 @@ export class QualifiedIdentifierContext extends ParserRuleContext {
1729
1923
  }
1730
1924
  }
1731
1925
  export class ExternalConstantContext extends ParserRuleContext {
1732
- IDENTIFIER() { return this.tryGetToken(OpraFilterParser.IDENTIFIER, 0); }
1733
- STRING() { return this.tryGetToken(OpraFilterParser.STRING, 0); }
1734
- constructor(parent, invokingState) {
1926
+ constructor(parser, parent, invokingState) {
1735
1927
  super(parent, invokingState);
1928
+ this.parser = parser;
1929
+ }
1930
+ IDENTIFIER() {
1931
+ return this.getToken(OpraFilterParser.IDENTIFIER, 0);
1932
+ }
1933
+ STRING() {
1934
+ return this.getToken(OpraFilterParser.STRING, 0);
1935
+ }
1936
+ get ruleIndex() {
1937
+ return OpraFilterParser.RULE_externalConstant;
1938
+ }
1939
+ enterRule(listener) {
1940
+ if (listener.enterExternalConstant) {
1941
+ listener.enterExternalConstant(this);
1942
+ }
1943
+ }
1944
+ exitRule(listener) {
1945
+ if (listener.exitExternalConstant) {
1946
+ listener.exitExternalConstant(this);
1947
+ }
1736
1948
  }
1737
- // @Override
1738
- get ruleIndex() { return OpraFilterParser.RULE_externalConstant; }
1739
1949
  // @Override
1740
1950
  accept(visitor) {
1741
1951
  if (visitor.visitExternalConstant) {
@@ -1747,12 +1957,26 @@ export class ExternalConstantContext extends ParserRuleContext {
1747
1957
  }
1748
1958
  }
1749
1959
  export class IdentifierContext extends ParserRuleContext {
1750
- IDENTIFIER() { return this.getToken(OpraFilterParser.IDENTIFIER, 0); }
1751
- constructor(parent, invokingState) {
1960
+ constructor(parser, parent, invokingState) {
1752
1961
  super(parent, invokingState);
1962
+ this.parser = parser;
1963
+ }
1964
+ IDENTIFIER() {
1965
+ return this.getToken(OpraFilterParser.IDENTIFIER, 0);
1966
+ }
1967
+ get ruleIndex() {
1968
+ return OpraFilterParser.RULE_identifier;
1969
+ }
1970
+ enterRule(listener) {
1971
+ if (listener.enterIdentifier) {
1972
+ listener.enterIdentifier(this);
1973
+ }
1974
+ }
1975
+ exitRule(listener) {
1976
+ if (listener.exitIdentifier) {
1977
+ listener.exitIdentifier(this);
1978
+ }
1753
1979
  }
1754
- // @Override
1755
- get ruleIndex() { return OpraFilterParser.RULE_identifier; }
1756
1980
  // @Override
1757
1981
  accept(visitor) {
1758
1982
  if (visitor.visitIdentifier) {
@@ -1764,79 +1988,123 @@ export class IdentifierContext extends ParserRuleContext {
1764
1988
  }
1765
1989
  }
1766
1990
  export class LiteralContext extends ParserRuleContext {
1767
- constructor(parent, invokingState) {
1991
+ constructor(parser, parent, invokingState) {
1768
1992
  super(parent, invokingState);
1993
+ this.parser = parser;
1994
+ }
1995
+ get ruleIndex() {
1996
+ return OpraFilterParser.RULE_literal;
1769
1997
  }
1770
- // @Override
1771
- get ruleIndex() { return OpraFilterParser.RULE_literal; }
1772
1998
  copyFrom(ctx) {
1773
1999
  super.copyFrom(ctx);
1774
2000
  }
1775
2001
  }
1776
- export class NumberLiteralContext extends LiteralContext {
1777
- NUMBER() { return this.getToken(OpraFilterParser.NUMBER, 0); }
1778
- constructor(ctx) {
1779
- super(ctx.parent, ctx.invokingState);
1780
- this.copyFrom(ctx);
2002
+ export class TimeLiteralContext extends LiteralContext {
2003
+ constructor(parser, ctx) {
2004
+ super(parser, ctx.parentCtx, ctx.invokingState);
2005
+ super.copyFrom(ctx);
2006
+ }
2007
+ TIME() {
2008
+ return this.getToken(OpraFilterParser.TIME, 0);
2009
+ }
2010
+ enterRule(listener) {
2011
+ if (listener.enterTimeLiteral) {
2012
+ listener.enterTimeLiteral(this);
2013
+ }
2014
+ }
2015
+ exitRule(listener) {
2016
+ if (listener.exitTimeLiteral) {
2017
+ listener.exitTimeLiteral(this);
2018
+ }
1781
2019
  }
1782
2020
  // @Override
1783
2021
  accept(visitor) {
1784
- if (visitor.visitNumberLiteral) {
1785
- return visitor.visitNumberLiteral(this);
2022
+ if (visitor.visitTimeLiteral) {
2023
+ return visitor.visitTimeLiteral(this);
1786
2024
  }
1787
2025
  else {
1788
2026
  return visitor.visitChildren(this);
1789
2027
  }
1790
2028
  }
1791
2029
  }
1792
- export class InfinityLiteralContext extends LiteralContext {
1793
- infinity() {
1794
- return this.getRuleContext(0, InfinityContext);
2030
+ export class NullLiteralContext extends LiteralContext {
2031
+ constructor(parser, ctx) {
2032
+ super(parser, ctx.parentCtx, ctx.invokingState);
2033
+ super.copyFrom(ctx);
1795
2034
  }
1796
- constructor(ctx) {
1797
- super(ctx.parent, ctx.invokingState);
1798
- this.copyFrom(ctx);
2035
+ null_() {
2036
+ return this.getTypedRuleContext(NullContext, 0);
2037
+ }
2038
+ enterRule(listener) {
2039
+ if (listener.enterNullLiteral) {
2040
+ listener.enterNullLiteral(this);
2041
+ }
2042
+ }
2043
+ exitRule(listener) {
2044
+ if (listener.exitNullLiteral) {
2045
+ listener.exitNullLiteral(this);
2046
+ }
1799
2047
  }
1800
2048
  // @Override
1801
2049
  accept(visitor) {
1802
- if (visitor.visitInfinityLiteral) {
1803
- return visitor.visitInfinityLiteral(this);
2050
+ if (visitor.visitNullLiteral) {
2051
+ return visitor.visitNullLiteral(this);
1804
2052
  }
1805
2053
  else {
1806
2054
  return visitor.visitChildren(this);
1807
2055
  }
1808
2056
  }
1809
2057
  }
1810
- export class BooleanLiteralContext extends LiteralContext {
1811
- boolean() {
1812
- return this.getRuleContext(0, BooleanContext);
2058
+ export class DateTimeLiteralContext extends LiteralContext {
2059
+ constructor(parser, ctx) {
2060
+ super(parser, ctx.parentCtx, ctx.invokingState);
2061
+ super.copyFrom(ctx);
2062
+ }
2063
+ DATETIME() {
2064
+ return this.getToken(OpraFilterParser.DATETIME, 0);
1813
2065
  }
1814
- constructor(ctx) {
1815
- super(ctx.parent, ctx.invokingState);
1816
- this.copyFrom(ctx);
2066
+ enterRule(listener) {
2067
+ if (listener.enterDateTimeLiteral) {
2068
+ listener.enterDateTimeLiteral(this);
2069
+ }
2070
+ }
2071
+ exitRule(listener) {
2072
+ if (listener.exitDateTimeLiteral) {
2073
+ listener.exitDateTimeLiteral(this);
2074
+ }
1817
2075
  }
1818
2076
  // @Override
1819
2077
  accept(visitor) {
1820
- if (visitor.visitBooleanLiteral) {
1821
- return visitor.visitBooleanLiteral(this);
2078
+ if (visitor.visitDateTimeLiteral) {
2079
+ return visitor.visitDateTimeLiteral(this);
1822
2080
  }
1823
2081
  else {
1824
2082
  return visitor.visitChildren(this);
1825
2083
  }
1826
2084
  }
1827
2085
  }
1828
- export class NullLiteralContext extends LiteralContext {
1829
- null() {
1830
- return this.getRuleContext(0, NullContext);
2086
+ export class StringLiteralContext extends LiteralContext {
2087
+ constructor(parser, ctx) {
2088
+ super(parser, ctx.parentCtx, ctx.invokingState);
2089
+ super.copyFrom(ctx);
2090
+ }
2091
+ STRING() {
2092
+ return this.getToken(OpraFilterParser.STRING, 0);
1831
2093
  }
1832
- constructor(ctx) {
1833
- super(ctx.parent, ctx.invokingState);
1834
- this.copyFrom(ctx);
2094
+ enterRule(listener) {
2095
+ if (listener.enterStringLiteral) {
2096
+ listener.enterStringLiteral(this);
2097
+ }
2098
+ }
2099
+ exitRule(listener) {
2100
+ if (listener.exitStringLiteral) {
2101
+ listener.exitStringLiteral(this);
2102
+ }
1835
2103
  }
1836
2104
  // @Override
1837
2105
  accept(visitor) {
1838
- if (visitor.visitNullLiteral) {
1839
- return visitor.visitNullLiteral(this);
2106
+ if (visitor.visitStringLiteral) {
2107
+ return visitor.visitStringLiteral(this);
1840
2108
  }
1841
2109
  else {
1842
2110
  return visitor.visitChildren(this);
@@ -1844,10 +2112,22 @@ export class NullLiteralContext extends LiteralContext {
1844
2112
  }
1845
2113
  }
1846
2114
  export class DateLiteralContext extends LiteralContext {
1847
- DATE() { return this.getToken(OpraFilterParser.DATE, 0); }
1848
- constructor(ctx) {
1849
- super(ctx.parent, ctx.invokingState);
1850
- this.copyFrom(ctx);
2115
+ constructor(parser, ctx) {
2116
+ super(parser, ctx.parentCtx, ctx.invokingState);
2117
+ super.copyFrom(ctx);
2118
+ }
2119
+ DATE() {
2120
+ return this.getToken(OpraFilterParser.DATE, 0);
2121
+ }
2122
+ enterRule(listener) {
2123
+ if (listener.enterDateLiteral) {
2124
+ listener.enterDateLiteral(this);
2125
+ }
2126
+ }
2127
+ exitRule(listener) {
2128
+ if (listener.exitDateLiteral) {
2129
+ listener.exitDateLiteral(this);
2130
+ }
1851
2131
  }
1852
2132
  // @Override
1853
2133
  accept(visitor) {
@@ -1859,48 +2139,84 @@ export class DateLiteralContext extends LiteralContext {
1859
2139
  }
1860
2140
  }
1861
2141
  }
1862
- export class DateTimeLiteralContext extends LiteralContext {
1863
- DATETIME() { return this.getToken(OpraFilterParser.DATETIME, 0); }
1864
- constructor(ctx) {
1865
- super(ctx.parent, ctx.invokingState);
1866
- this.copyFrom(ctx);
2142
+ export class InfinityLiteralContext extends LiteralContext {
2143
+ constructor(parser, ctx) {
2144
+ super(parser, ctx.parentCtx, ctx.invokingState);
2145
+ super.copyFrom(ctx);
2146
+ }
2147
+ infinity() {
2148
+ return this.getTypedRuleContext(InfinityContext, 0);
2149
+ }
2150
+ enterRule(listener) {
2151
+ if (listener.enterInfinityLiteral) {
2152
+ listener.enterInfinityLiteral(this);
2153
+ }
2154
+ }
2155
+ exitRule(listener) {
2156
+ if (listener.exitInfinityLiteral) {
2157
+ listener.exitInfinityLiteral(this);
2158
+ }
1867
2159
  }
1868
2160
  // @Override
1869
2161
  accept(visitor) {
1870
- if (visitor.visitDateTimeLiteral) {
1871
- return visitor.visitDateTimeLiteral(this);
2162
+ if (visitor.visitInfinityLiteral) {
2163
+ return visitor.visitInfinityLiteral(this);
1872
2164
  }
1873
2165
  else {
1874
2166
  return visitor.visitChildren(this);
1875
2167
  }
1876
2168
  }
1877
2169
  }
1878
- export class TimeLiteralContext extends LiteralContext {
1879
- TIME() { return this.getToken(OpraFilterParser.TIME, 0); }
1880
- constructor(ctx) {
1881
- super(ctx.parent, ctx.invokingState);
1882
- this.copyFrom(ctx);
2170
+ export class BooleanLiteralContext extends LiteralContext {
2171
+ constructor(parser, ctx) {
2172
+ super(parser, ctx.parentCtx, ctx.invokingState);
2173
+ super.copyFrom(ctx);
2174
+ }
2175
+ boolean_() {
2176
+ return this.getTypedRuleContext(BooleanContext, 0);
2177
+ }
2178
+ enterRule(listener) {
2179
+ if (listener.enterBooleanLiteral) {
2180
+ listener.enterBooleanLiteral(this);
2181
+ }
2182
+ }
2183
+ exitRule(listener) {
2184
+ if (listener.exitBooleanLiteral) {
2185
+ listener.exitBooleanLiteral(this);
2186
+ }
1883
2187
  }
1884
2188
  // @Override
1885
2189
  accept(visitor) {
1886
- if (visitor.visitTimeLiteral) {
1887
- return visitor.visitTimeLiteral(this);
2190
+ if (visitor.visitBooleanLiteral) {
2191
+ return visitor.visitBooleanLiteral(this);
1888
2192
  }
1889
2193
  else {
1890
2194
  return visitor.visitChildren(this);
1891
2195
  }
1892
2196
  }
1893
2197
  }
1894
- export class StringLiteralContext extends LiteralContext {
1895
- STRING() { return this.getToken(OpraFilterParser.STRING, 0); }
1896
- constructor(ctx) {
1897
- super(ctx.parent, ctx.invokingState);
1898
- this.copyFrom(ctx);
2198
+ export class NumberLiteralContext extends LiteralContext {
2199
+ constructor(parser, ctx) {
2200
+ super(parser, ctx.parentCtx, ctx.invokingState);
2201
+ super.copyFrom(ctx);
2202
+ }
2203
+ NUMBER() {
2204
+ return this.getToken(OpraFilterParser.NUMBER, 0);
2205
+ }
2206
+ enterRule(listener) {
2207
+ if (listener.enterNumberLiteral) {
2208
+ listener.enterNumberLiteral(this);
2209
+ }
2210
+ }
2211
+ exitRule(listener) {
2212
+ if (listener.exitNumberLiteral) {
2213
+ listener.exitNumberLiteral(this);
2214
+ }
1899
2215
  }
1900
2216
  // @Override
1901
2217
  accept(visitor) {
1902
- if (visitor.visitStringLiteral) {
1903
- return visitor.visitStringLiteral(this);
2218
+ if (visitor.visitNumberLiteral) {
2219
+ return visitor.visitNumberLiteral(this);
1904
2220
  }
1905
2221
  else {
1906
2222
  return visitor.visitChildren(this);
@@ -1908,11 +2224,23 @@ export class StringLiteralContext extends LiteralContext {
1908
2224
  }
1909
2225
  }
1910
2226
  export class CompOpContext extends ParserRuleContext {
1911
- constructor(parent, invokingState) {
2227
+ constructor(parser, parent, invokingState) {
1912
2228
  super(parent, invokingState);
2229
+ this.parser = parser;
2230
+ }
2231
+ get ruleIndex() {
2232
+ return OpraFilterParser.RULE_compOp;
2233
+ }
2234
+ enterRule(listener) {
2235
+ if (listener.enterCompOp) {
2236
+ listener.enterCompOp(this);
2237
+ }
2238
+ }
2239
+ exitRule(listener) {
2240
+ if (listener.exitCompOp) {
2241
+ listener.exitCompOp(this);
2242
+ }
1913
2243
  }
1914
- // @Override
1915
- get ruleIndex() { return OpraFilterParser.RULE_compOp; }
1916
2244
  // @Override
1917
2245
  accept(visitor) {
1918
2246
  if (visitor.visitCompOp) {
@@ -1924,11 +2252,23 @@ export class CompOpContext extends ParserRuleContext {
1924
2252
  }
1925
2253
  }
1926
2254
  export class ArthOpContext extends ParserRuleContext {
1927
- constructor(parent, invokingState) {
2255
+ constructor(parser, parent, invokingState) {
1928
2256
  super(parent, invokingState);
2257
+ this.parser = parser;
2258
+ }
2259
+ get ruleIndex() {
2260
+ return OpraFilterParser.RULE_arthOp;
2261
+ }
2262
+ enterRule(listener) {
2263
+ if (listener.enterArthOp) {
2264
+ listener.enterArthOp(this);
2265
+ }
2266
+ }
2267
+ exitRule(listener) {
2268
+ if (listener.exitArthOp) {
2269
+ listener.exitArthOp(this);
2270
+ }
1929
2271
  }
1930
- // @Override
1931
- get ruleIndex() { return OpraFilterParser.RULE_arthOp; }
1932
2272
  // @Override
1933
2273
  accept(visitor) {
1934
2274
  if (visitor.visitArthOp) {
@@ -1940,11 +2280,23 @@ export class ArthOpContext extends ParserRuleContext {
1940
2280
  }
1941
2281
  }
1942
2282
  export class PolarOpContext extends ParserRuleContext {
1943
- constructor(parent, invokingState) {
2283
+ constructor(parser, parent, invokingState) {
1944
2284
  super(parent, invokingState);
2285
+ this.parser = parser;
2286
+ }
2287
+ get ruleIndex() {
2288
+ return OpraFilterParser.RULE_polarOp;
2289
+ }
2290
+ enterRule(listener) {
2291
+ if (listener.enterPolarOp) {
2292
+ listener.enterPolarOp(this);
2293
+ }
2294
+ }
2295
+ exitRule(listener) {
2296
+ if (listener.exitPolarOp) {
2297
+ listener.exitPolarOp(this);
2298
+ }
1945
2299
  }
1946
- // @Override
1947
- get ruleIndex() { return OpraFilterParser.RULE_polarOp; }
1948
2300
  // @Override
1949
2301
  accept(visitor) {
1950
2302
  if (visitor.visitPolarOp) {
@@ -1956,11 +2308,23 @@ export class PolarOpContext extends ParserRuleContext {
1956
2308
  }
1957
2309
  }
1958
2310
  export class LogOpContext extends ParserRuleContext {
1959
- constructor(parent, invokingState) {
2311
+ constructor(parser, parent, invokingState) {
1960
2312
  super(parent, invokingState);
2313
+ this.parser = parser;
2314
+ }
2315
+ get ruleIndex() {
2316
+ return OpraFilterParser.RULE_logOp;
2317
+ }
2318
+ enterRule(listener) {
2319
+ if (listener.enterLogOp) {
2320
+ listener.enterLogOp(this);
2321
+ }
2322
+ }
2323
+ exitRule(listener) {
2324
+ if (listener.exitLogOp) {
2325
+ listener.exitLogOp(this);
2326
+ }
1961
2327
  }
1962
- // @Override
1963
- get ruleIndex() { return OpraFilterParser.RULE_logOp; }
1964
2328
  // @Override
1965
2329
  accept(visitor) {
1966
2330
  if (visitor.visitLogOp) {
@@ -1972,11 +2336,23 @@ export class LogOpContext extends ParserRuleContext {
1972
2336
  }
1973
2337
  }
1974
2338
  export class BooleanContext extends ParserRuleContext {
1975
- constructor(parent, invokingState) {
2339
+ constructor(parser, parent, invokingState) {
1976
2340
  super(parent, invokingState);
2341
+ this.parser = parser;
2342
+ }
2343
+ get ruleIndex() {
2344
+ return OpraFilterParser.RULE_boolean;
2345
+ }
2346
+ enterRule(listener) {
2347
+ if (listener.enterBoolean) {
2348
+ listener.enterBoolean(this);
2349
+ }
2350
+ }
2351
+ exitRule(listener) {
2352
+ if (listener.exitBoolean) {
2353
+ listener.exitBoolean(this);
2354
+ }
1977
2355
  }
1978
- // @Override
1979
- get ruleIndex() { return OpraFilterParser.RULE_boolean; }
1980
2356
  // @Override
1981
2357
  accept(visitor) {
1982
2358
  if (visitor.visitBoolean) {
@@ -1988,11 +2364,23 @@ export class BooleanContext extends ParserRuleContext {
1988
2364
  }
1989
2365
  }
1990
2366
  export class NullContext extends ParserRuleContext {
1991
- constructor(parent, invokingState) {
2367
+ constructor(parser, parent, invokingState) {
1992
2368
  super(parent, invokingState);
2369
+ this.parser = parser;
2370
+ }
2371
+ get ruleIndex() {
2372
+ return OpraFilterParser.RULE_null;
2373
+ }
2374
+ enterRule(listener) {
2375
+ if (listener.enterNull) {
2376
+ listener.enterNull(this);
2377
+ }
2378
+ }
2379
+ exitRule(listener) {
2380
+ if (listener.exitNull) {
2381
+ listener.exitNull(this);
2382
+ }
1993
2383
  }
1994
- // @Override
1995
- get ruleIndex() { return OpraFilterParser.RULE_null; }
1996
2384
  // @Override
1997
2385
  accept(visitor) {
1998
2386
  if (visitor.visitNull) {
@@ -2004,11 +2392,23 @@ export class NullContext extends ParserRuleContext {
2004
2392
  }
2005
2393
  }
2006
2394
  export class InfinityContext extends ParserRuleContext {
2007
- constructor(parent, invokingState) {
2395
+ constructor(parser, parent, invokingState) {
2008
2396
  super(parent, invokingState);
2397
+ this.parser = parser;
2398
+ }
2399
+ get ruleIndex() {
2400
+ return OpraFilterParser.RULE_infinity;
2401
+ }
2402
+ enterRule(listener) {
2403
+ if (listener.enterInfinity) {
2404
+ listener.enterInfinity(this);
2405
+ }
2406
+ }
2407
+ exitRule(listener) {
2408
+ if (listener.exitInfinity) {
2409
+ listener.exitInfinity(this);
2410
+ }
2009
2411
  }
2010
- // @Override
2011
- get ruleIndex() { return OpraFilterParser.RULE_infinity; }
2012
2412
  // @Override
2013
2413
  accept(visitor) {
2014
2414
  if (visitor.visitInfinity) {