sof-mssql 1.0.0

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 (135) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +346 -0
  3. package/dist/cli.d.ts +7 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +85 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/fhirpath/transpiler.d.ts +18 -0
  8. package/dist/fhirpath/transpiler.d.ts.map +1 -0
  9. package/dist/fhirpath/transpiler.js +82 -0
  10. package/dist/fhirpath/transpiler.js.map +1 -0
  11. package/dist/fhirpath/visitor.d.ts +153 -0
  12. package/dist/fhirpath/visitor.d.ts.map +1 -0
  13. package/dist/fhirpath/visitor.js +1295 -0
  14. package/dist/fhirpath/visitor.js.map +1 -0
  15. package/dist/generated/grammar/fhirpathLexer.d.ts +88 -0
  16. package/dist/generated/grammar/fhirpathLexer.d.ts.map +1 -0
  17. package/dist/generated/grammar/fhirpathLexer.js +598 -0
  18. package/dist/generated/grammar/fhirpathLexer.js.map +1 -0
  19. package/dist/generated/grammar/fhirpathListener.d.ts +589 -0
  20. package/dist/generated/grammar/fhirpathListener.d.ts.map +1 -0
  21. package/dist/generated/grammar/fhirpathListener.js +4 -0
  22. package/dist/generated/grammar/fhirpathListener.js.map +1 -0
  23. package/dist/generated/grammar/fhirpathParser.d.ts +470 -0
  24. package/dist/generated/grammar/fhirpathParser.d.ts.map +1 -0
  25. package/dist/generated/grammar/fhirpathParser.js +3022 -0
  26. package/dist/generated/grammar/fhirpathParser.js.map +1 -0
  27. package/dist/generated/grammar/fhirpathVisitor.d.ts +372 -0
  28. package/dist/generated/grammar/fhirpathVisitor.d.ts.map +1 -0
  29. package/dist/generated/grammar/fhirpathVisitor.js +4 -0
  30. package/dist/generated/grammar/fhirpathVisitor.js.map +1 -0
  31. package/dist/index.d.ts +28 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +42 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/load.d.ts +14 -0
  36. package/dist/load.d.ts.map +1 -0
  37. package/dist/load.js +115 -0
  38. package/dist/load.js.map +1 -0
  39. package/dist/loader/connection.d.ts +36 -0
  40. package/dist/loader/connection.d.ts.map +1 -0
  41. package/dist/loader/connection.js +106 -0
  42. package/dist/loader/connection.js.map +1 -0
  43. package/dist/loader/discovery.d.ts +38 -0
  44. package/dist/loader/discovery.d.ts.map +1 -0
  45. package/dist/loader/discovery.js +107 -0
  46. package/dist/loader/discovery.js.map +1 -0
  47. package/dist/loader/index.d.ts +24 -0
  48. package/dist/loader/index.d.ts.map +1 -0
  49. package/dist/loader/index.js +193 -0
  50. package/dist/loader/index.js.map +1 -0
  51. package/dist/loader/progress.d.ts +70 -0
  52. package/dist/loader/progress.d.ts.map +1 -0
  53. package/dist/loader/progress.js +206 -0
  54. package/dist/loader/progress.js.map +1 -0
  55. package/dist/loader/stream.d.ts +21 -0
  56. package/dist/loader/stream.d.ts.map +1 -0
  57. package/dist/loader/stream.js +103 -0
  58. package/dist/loader/stream.js.map +1 -0
  59. package/dist/loader/tables.d.ts +43 -0
  60. package/dist/loader/tables.d.ts.map +1 -0
  61. package/dist/loader/tables.js +88 -0
  62. package/dist/loader/tables.js.map +1 -0
  63. package/dist/loader/types.d.ts +134 -0
  64. package/dist/loader/types.d.ts.map +1 -0
  65. package/dist/loader/types.js +8 -0
  66. package/dist/loader/types.js.map +1 -0
  67. package/dist/parser.d.ts +60 -0
  68. package/dist/parser.d.ts.map +1 -0
  69. package/dist/parser.js +226 -0
  70. package/dist/parser.js.map +1 -0
  71. package/dist/queryGenerator/ColumnExpressionGenerator.d.ts +52 -0
  72. package/dist/queryGenerator/ColumnExpressionGenerator.d.ts.map +1 -0
  73. package/dist/queryGenerator/ColumnExpressionGenerator.js +144 -0
  74. package/dist/queryGenerator/ColumnExpressionGenerator.js.map +1 -0
  75. package/dist/queryGenerator/ForEachProcessor.d.ts +127 -0
  76. package/dist/queryGenerator/ForEachProcessor.d.ts.map +1 -0
  77. package/dist/queryGenerator/ForEachProcessor.js +351 -0
  78. package/dist/queryGenerator/ForEachProcessor.js.map +1 -0
  79. package/dist/queryGenerator/PathParser.d.ts +64 -0
  80. package/dist/queryGenerator/PathParser.d.ts.map +1 -0
  81. package/dist/queryGenerator/PathParser.js +164 -0
  82. package/dist/queryGenerator/PathParser.js.map +1 -0
  83. package/dist/queryGenerator/SelectClauseBuilder.d.ts +63 -0
  84. package/dist/queryGenerator/SelectClauseBuilder.d.ts.map +1 -0
  85. package/dist/queryGenerator/SelectClauseBuilder.js +196 -0
  86. package/dist/queryGenerator/SelectClauseBuilder.js.map +1 -0
  87. package/dist/queryGenerator/SelectCombinationExpander.d.ts +42 -0
  88. package/dist/queryGenerator/SelectCombinationExpander.d.ts.map +1 -0
  89. package/dist/queryGenerator/SelectCombinationExpander.js +95 -0
  90. package/dist/queryGenerator/SelectCombinationExpander.js.map +1 -0
  91. package/dist/queryGenerator/WhereClauseBuilder.d.ts +20 -0
  92. package/dist/queryGenerator/WhereClauseBuilder.d.ts.map +1 -0
  93. package/dist/queryGenerator/WhereClauseBuilder.js +63 -0
  94. package/dist/queryGenerator/WhereClauseBuilder.js.map +1 -0
  95. package/dist/queryGenerator/index.d.ts +10 -0
  96. package/dist/queryGenerator/index.d.ts.map +1 -0
  97. package/dist/queryGenerator/index.js +19 -0
  98. package/dist/queryGenerator/index.js.map +1 -0
  99. package/dist/queryGenerator.d.ts +61 -0
  100. package/dist/queryGenerator.d.ts.map +1 -0
  101. package/dist/queryGenerator.js +187 -0
  102. package/dist/queryGenerator.js.map +1 -0
  103. package/dist/tests/sqlOnFhir.test.d.ts +11 -0
  104. package/dist/tests/sqlOnFhir.test.d.ts.map +1 -0
  105. package/dist/tests/sqlOnFhir.test.js +24 -0
  106. package/dist/tests/sqlOnFhir.test.js.map +1 -0
  107. package/dist/tests/utils/database.d.ts +38 -0
  108. package/dist/tests/utils/database.d.ts.map +1 -0
  109. package/dist/tests/utils/database.js +258 -0
  110. package/dist/tests/utils/database.js.map +1 -0
  111. package/dist/tests/utils/generator.d.ts +58 -0
  112. package/dist/tests/utils/generator.d.ts.map +1 -0
  113. package/dist/tests/utils/generator.js +195 -0
  114. package/dist/tests/utils/generator.js.map +1 -0
  115. package/dist/tests/utils/reporter.d.ts +83 -0
  116. package/dist/tests/utils/reporter.d.ts.map +1 -0
  117. package/dist/tests/utils/reporter.js +245 -0
  118. package/dist/tests/utils/reporter.js.map +1 -0
  119. package/dist/tests/utils/sqlOnFhir.d.ts +33 -0
  120. package/dist/tests/utils/sqlOnFhir.d.ts.map +1 -0
  121. package/dist/tests/utils/sqlOnFhir.js +281 -0
  122. package/dist/tests/utils/sqlOnFhir.js.map +1 -0
  123. package/dist/tests/utils/testContext.d.ts +18 -0
  124. package/dist/tests/utils/testContext.d.ts.map +1 -0
  125. package/dist/tests/utils/testContext.js +25 -0
  126. package/dist/tests/utils/testContext.js.map +1 -0
  127. package/dist/tests/utils/types.d.ts +31 -0
  128. package/dist/tests/utils/types.d.ts.map +1 -0
  129. package/dist/tests/utils/types.js +9 -0
  130. package/dist/tests/utils/types.js.map +1 -0
  131. package/dist/types.d.ts +288 -0
  132. package/dist/types.d.ts.map +1 -0
  133. package/dist/types.js +6 -0
  134. package/dist/types.js.map +1 -0
  135. package/package.json +76 -0
@@ -0,0 +1,3022 @@
1
+ "use strict";
2
+ // Generated from grammar/fhirpath.g4 by ANTLR 4.9.0-SNAPSHOT
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ Object.defineProperty(exports, "__esModule", { value: true });
37
+ exports.IdentifierContext = exports.QualifiedIdentifierContext = exports.TypeSpecifierContext = exports.PluralDateTimePrecisionContext = exports.DateTimePrecisionContext = exports.UnitContext = exports.QuantityContext = exports.ParamListContext = exports.FunctionContext = exports.TotalInvocationContext = exports.IndexInvocationContext = exports.ThisInvocationContext = exports.FunctionInvocationContext = exports.MemberInvocationContext = exports.InvocationContext = exports.ExternalConstantContext = exports.QuantityLiteralContext = exports.TimeLiteralContext = exports.DateTimeLiteralContext = exports.DateLiteralContext = exports.LongNumberLiteralContext = exports.NumberLiteralContext = exports.StringLiteralContext = exports.BooleanLiteralContext = exports.NullLiteralContext = exports.LiteralContext = exports.ParenthesizedTermContext = exports.ExternalConstantTermContext = exports.LiteralTermContext = exports.InvocationTermContext = exports.TermContext = exports.ImpliesExpressionContext = exports.OrExpressionContext = exports.AndExpressionContext = exports.MembershipExpressionContext = exports.EqualityExpressionContext = exports.InequalityExpressionContext = exports.UnionExpressionContext = exports.TypeExpressionContext = exports.AdditiveExpressionContext = exports.MultiplicativeExpressionContext = exports.PolarityExpressionContext = exports.IndexerExpressionContext = exports.InvocationExpressionContext = exports.TermExpressionContext = exports.ExpressionContext = exports.EntireExpressionContext = exports.fhirpathParser = void 0;
38
+ const ATN_1 = require("antlr4ts/atn/ATN");
39
+ const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
40
+ const FailedPredicateException_1 = require("antlr4ts/FailedPredicateException");
41
+ const NoViableAltException_1 = require("antlr4ts/NoViableAltException");
42
+ const Parser_1 = require("antlr4ts/Parser");
43
+ const ParserRuleContext_1 = require("antlr4ts/ParserRuleContext");
44
+ const ParserATNSimulator_1 = require("antlr4ts/atn/ParserATNSimulator");
45
+ const RecognitionException_1 = require("antlr4ts/RecognitionException");
46
+ const Token_1 = require("antlr4ts/Token");
47
+ const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
48
+ const Utils = __importStar(require("antlr4ts/misc/Utils"));
49
+ class fhirpathParser extends Parser_1.Parser {
50
+ static T__0 = 1;
51
+ static T__1 = 2;
52
+ static T__2 = 3;
53
+ static T__3 = 4;
54
+ static T__4 = 5;
55
+ static T__5 = 6;
56
+ static T__6 = 7;
57
+ static T__7 = 8;
58
+ static T__8 = 9;
59
+ static T__9 = 10;
60
+ static T__10 = 11;
61
+ static T__11 = 12;
62
+ static T__12 = 13;
63
+ static T__13 = 14;
64
+ static T__14 = 15;
65
+ static T__15 = 16;
66
+ static T__16 = 17;
67
+ static T__17 = 18;
68
+ static T__18 = 19;
69
+ static T__19 = 20;
70
+ static T__20 = 21;
71
+ static T__21 = 22;
72
+ static T__22 = 23;
73
+ static T__23 = 24;
74
+ static T__24 = 25;
75
+ static T__25 = 26;
76
+ static T__26 = 27;
77
+ static T__27 = 28;
78
+ static T__28 = 29;
79
+ static T__29 = 30;
80
+ static T__30 = 31;
81
+ static T__31 = 32;
82
+ static T__32 = 33;
83
+ static T__33 = 34;
84
+ static T__34 = 35;
85
+ static T__35 = 36;
86
+ static T__36 = 37;
87
+ static T__37 = 38;
88
+ static T__38 = 39;
89
+ static T__39 = 40;
90
+ static T__40 = 41;
91
+ static T__41 = 42;
92
+ static T__42 = 43;
93
+ static T__43 = 44;
94
+ static T__44 = 45;
95
+ static T__45 = 46;
96
+ static T__46 = 47;
97
+ static T__47 = 48;
98
+ static T__48 = 49;
99
+ static T__49 = 50;
100
+ static T__50 = 51;
101
+ static T__51 = 52;
102
+ static T__52 = 53;
103
+ static T__53 = 54;
104
+ static DATE = 55;
105
+ static DATETIME = 56;
106
+ static TIME = 57;
107
+ static IDENTIFIER = 58;
108
+ static DELIMITEDIDENTIFIER = 59;
109
+ static STRING = 60;
110
+ static NUMBER = 61;
111
+ static LONGNUMBER = 62;
112
+ static WS = 63;
113
+ static COMMENT = 64;
114
+ static LINE_COMMENT = 65;
115
+ static RULE_entireExpression = 0;
116
+ static RULE_expression = 1;
117
+ static RULE_term = 2;
118
+ static RULE_literal = 3;
119
+ static RULE_externalConstant = 4;
120
+ static RULE_invocation = 5;
121
+ static RULE_function = 6;
122
+ static RULE_paramList = 7;
123
+ static RULE_quantity = 8;
124
+ static RULE_unit = 9;
125
+ static RULE_dateTimePrecision = 10;
126
+ static RULE_pluralDateTimePrecision = 11;
127
+ static RULE_typeSpecifier = 12;
128
+ static RULE_qualifiedIdentifier = 13;
129
+ static RULE_identifier = 14;
130
+ // tslint:disable:no-trailing-whitespace
131
+ static ruleNames = [
132
+ "entireExpression",
133
+ "expression",
134
+ "term",
135
+ "literal",
136
+ "externalConstant",
137
+ "invocation",
138
+ "function",
139
+ "paramList",
140
+ "quantity",
141
+ "unit",
142
+ "dateTimePrecision",
143
+ "pluralDateTimePrecision",
144
+ "typeSpecifier",
145
+ "qualifiedIdentifier",
146
+ "identifier",
147
+ ];
148
+ static _LITERAL_NAMES = [
149
+ undefined,
150
+ "'.'",
151
+ "'['",
152
+ "']'",
153
+ "'+'",
154
+ "'-'",
155
+ "'*'",
156
+ "'/'",
157
+ "'div'",
158
+ "'mod'",
159
+ "'&'",
160
+ "'is'",
161
+ "'as'",
162
+ "'|'",
163
+ "'<='",
164
+ "'<'",
165
+ "'>'",
166
+ "'>='",
167
+ "'='",
168
+ "'~'",
169
+ "'!='",
170
+ "'!~'",
171
+ "'in'",
172
+ "'contains'",
173
+ "'and'",
174
+ "'or'",
175
+ "'xor'",
176
+ "'implies'",
177
+ "'('",
178
+ "')'",
179
+ "'{'",
180
+ "'}'",
181
+ "'true'",
182
+ "'false'",
183
+ "'%'",
184
+ "'$this'",
185
+ "'$index'",
186
+ "'$total'",
187
+ "','",
188
+ "'year'",
189
+ "'month'",
190
+ "'week'",
191
+ "'day'",
192
+ "'hour'",
193
+ "'minute'",
194
+ "'second'",
195
+ "'millisecond'",
196
+ "'years'",
197
+ "'months'",
198
+ "'weeks'",
199
+ "'days'",
200
+ "'hours'",
201
+ "'minutes'",
202
+ "'seconds'",
203
+ "'milliseconds'",
204
+ ];
205
+ static _SYMBOLIC_NAMES = [
206
+ undefined,
207
+ undefined,
208
+ undefined,
209
+ undefined,
210
+ undefined,
211
+ undefined,
212
+ undefined,
213
+ undefined,
214
+ undefined,
215
+ undefined,
216
+ undefined,
217
+ undefined,
218
+ undefined,
219
+ undefined,
220
+ undefined,
221
+ undefined,
222
+ undefined,
223
+ undefined,
224
+ undefined,
225
+ undefined,
226
+ undefined,
227
+ undefined,
228
+ undefined,
229
+ undefined,
230
+ undefined,
231
+ undefined,
232
+ undefined,
233
+ undefined,
234
+ undefined,
235
+ undefined,
236
+ undefined,
237
+ undefined,
238
+ undefined,
239
+ undefined,
240
+ undefined,
241
+ undefined,
242
+ undefined,
243
+ undefined,
244
+ undefined,
245
+ undefined,
246
+ undefined,
247
+ undefined,
248
+ undefined,
249
+ undefined,
250
+ undefined,
251
+ undefined,
252
+ undefined,
253
+ undefined,
254
+ undefined,
255
+ undefined,
256
+ undefined,
257
+ undefined,
258
+ undefined,
259
+ undefined,
260
+ undefined,
261
+ "DATE",
262
+ "DATETIME",
263
+ "TIME",
264
+ "IDENTIFIER",
265
+ "DELIMITEDIDENTIFIER",
266
+ "STRING",
267
+ "NUMBER",
268
+ "LONGNUMBER",
269
+ "WS",
270
+ "COMMENT",
271
+ "LINE_COMMENT",
272
+ ];
273
+ static VOCABULARY = new VocabularyImpl_1.VocabularyImpl(fhirpathParser._LITERAL_NAMES, fhirpathParser._SYMBOLIC_NAMES, []);
274
+ // @Override
275
+ // @NotNull
276
+ get vocabulary() {
277
+ return fhirpathParser.VOCABULARY;
278
+ }
279
+ // tslint:enable:no-trailing-whitespace
280
+ // @Override
281
+ get grammarFileName() {
282
+ return "fhirpath.g4";
283
+ }
284
+ // @Override
285
+ get ruleNames() {
286
+ return fhirpathParser.ruleNames;
287
+ }
288
+ // @Override
289
+ get serializedATN() {
290
+ return fhirpathParser._serializedATN;
291
+ }
292
+ createFailedPredicateException(predicate, message) {
293
+ return new FailedPredicateException_1.FailedPredicateException(this, predicate, message);
294
+ }
295
+ constructor(input) {
296
+ super(input);
297
+ this._interp = new ParserATNSimulator_1.ParserATNSimulator(fhirpathParser._ATN, this);
298
+ }
299
+ // @RuleVersion(0)
300
+ entireExpression() {
301
+ let _localctx = new EntireExpressionContext(this._ctx, this.state);
302
+ this.enterRule(_localctx, 0, fhirpathParser.RULE_entireExpression);
303
+ try {
304
+ this.enterOuterAlt(_localctx, 1);
305
+ {
306
+ this.state = 30;
307
+ this.expression(0);
308
+ this.state = 31;
309
+ this.match(fhirpathParser.EOF);
310
+ }
311
+ }
312
+ catch (re) {
313
+ if (re instanceof RecognitionException_1.RecognitionException) {
314
+ _localctx.exception = re;
315
+ this._errHandler.reportError(this, re);
316
+ this._errHandler.recover(this, re);
317
+ }
318
+ else {
319
+ throw re;
320
+ }
321
+ }
322
+ finally {
323
+ this.exitRule();
324
+ }
325
+ return _localctx;
326
+ }
327
+ // @RuleVersion(0)
328
+ expression(_p) {
329
+ if (_p === undefined) {
330
+ _p = 0;
331
+ }
332
+ let _parentctx = this._ctx;
333
+ let _parentState = this.state;
334
+ let _localctx = new ExpressionContext(this._ctx, _parentState);
335
+ let _prevctx = _localctx;
336
+ let _startState = 2;
337
+ this.enterRecursionRule(_localctx, 2, fhirpathParser.RULE_expression, _p);
338
+ let _la;
339
+ try {
340
+ let _alt;
341
+ this.enterOuterAlt(_localctx, 1);
342
+ {
343
+ this.state = 37;
344
+ this._errHandler.sync(this);
345
+ switch (this._input.LA(1)) {
346
+ case fhirpathParser.T__10:
347
+ case fhirpathParser.T__11:
348
+ case fhirpathParser.T__21:
349
+ case fhirpathParser.T__22:
350
+ case fhirpathParser.T__27:
351
+ case fhirpathParser.T__29:
352
+ case fhirpathParser.T__31:
353
+ case fhirpathParser.T__32:
354
+ case fhirpathParser.T__33:
355
+ case fhirpathParser.T__34:
356
+ case fhirpathParser.T__35:
357
+ case fhirpathParser.T__36:
358
+ case fhirpathParser.DATE:
359
+ case fhirpathParser.DATETIME:
360
+ case fhirpathParser.TIME:
361
+ case fhirpathParser.IDENTIFIER:
362
+ case fhirpathParser.DELIMITEDIDENTIFIER:
363
+ case fhirpathParser.STRING:
364
+ case fhirpathParser.NUMBER:
365
+ case fhirpathParser.LONGNUMBER:
366
+ {
367
+ _localctx = new TermExpressionContext(_localctx);
368
+ this._ctx = _localctx;
369
+ _prevctx = _localctx;
370
+ this.state = 34;
371
+ this.term();
372
+ }
373
+ break;
374
+ case fhirpathParser.T__3:
375
+ case fhirpathParser.T__4:
376
+ {
377
+ _localctx = new PolarityExpressionContext(_localctx);
378
+ this._ctx = _localctx;
379
+ _prevctx = _localctx;
380
+ this.state = 35;
381
+ _la = this._input.LA(1);
382
+ if (!(_la === fhirpathParser.T__3 || _la === fhirpathParser.T__4)) {
383
+ this._errHandler.recoverInline(this);
384
+ }
385
+ else {
386
+ if (this._input.LA(1) === Token_1.Token.EOF) {
387
+ this.matchedEOF = true;
388
+ }
389
+ this._errHandler.reportMatch(this);
390
+ this.consume();
391
+ }
392
+ this.state = 36;
393
+ this.expression(11);
394
+ }
395
+ break;
396
+ default:
397
+ throw new NoViableAltException_1.NoViableAltException(this);
398
+ }
399
+ this._ctx._stop = this._input.tryLT(-1);
400
+ this.state = 79;
401
+ this._errHandler.sync(this);
402
+ _alt = this.interpreter.adaptivePredict(this._input, 2, this._ctx);
403
+ while (_alt !== 2 && _alt !== ATN_1.ATN.INVALID_ALT_NUMBER) {
404
+ if (_alt === 1) {
405
+ if (this._parseListeners != null) {
406
+ this.triggerExitRuleEvent();
407
+ }
408
+ _prevctx = _localctx;
409
+ {
410
+ this.state = 77;
411
+ this._errHandler.sync(this);
412
+ switch (this.interpreter.adaptivePredict(this._input, 1, this._ctx)) {
413
+ case 1:
414
+ {
415
+ _localctx = new MultiplicativeExpressionContext(new ExpressionContext(_parentctx, _parentState));
416
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
417
+ this.state = 39;
418
+ if (!this.precpred(this._ctx, 10)) {
419
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 10)");
420
+ }
421
+ this.state = 40;
422
+ _la = this._input.LA(1);
423
+ if (!((_la & ~0x1f) === 0 &&
424
+ ((1 << _la) &
425
+ ((1 << fhirpathParser.T__5) |
426
+ (1 << fhirpathParser.T__6) |
427
+ (1 << fhirpathParser.T__7) |
428
+ (1 << fhirpathParser.T__8))) !==
429
+ 0)) {
430
+ this._errHandler.recoverInline(this);
431
+ }
432
+ else {
433
+ if (this._input.LA(1) === Token_1.Token.EOF) {
434
+ this.matchedEOF = true;
435
+ }
436
+ this._errHandler.reportMatch(this);
437
+ this.consume();
438
+ }
439
+ this.state = 41;
440
+ this.expression(11);
441
+ }
442
+ break;
443
+ case 2:
444
+ {
445
+ _localctx = new AdditiveExpressionContext(new ExpressionContext(_parentctx, _parentState));
446
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
447
+ this.state = 42;
448
+ if (!this.precpred(this._ctx, 9)) {
449
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 9)");
450
+ }
451
+ this.state = 43;
452
+ _la = this._input.LA(1);
453
+ if (!((_la & ~0x1f) === 0 &&
454
+ ((1 << _la) &
455
+ ((1 << fhirpathParser.T__3) |
456
+ (1 << fhirpathParser.T__4) |
457
+ (1 << fhirpathParser.T__9))) !==
458
+ 0)) {
459
+ this._errHandler.recoverInline(this);
460
+ }
461
+ else {
462
+ if (this._input.LA(1) === Token_1.Token.EOF) {
463
+ this.matchedEOF = true;
464
+ }
465
+ this._errHandler.reportMatch(this);
466
+ this.consume();
467
+ }
468
+ this.state = 44;
469
+ this.expression(10);
470
+ }
471
+ break;
472
+ case 3:
473
+ {
474
+ _localctx = new UnionExpressionContext(new ExpressionContext(_parentctx, _parentState));
475
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
476
+ this.state = 45;
477
+ if (!this.precpred(this._ctx, 7)) {
478
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 7)");
479
+ }
480
+ this.state = 46;
481
+ this.match(fhirpathParser.T__12);
482
+ this.state = 47;
483
+ this.expression(8);
484
+ }
485
+ break;
486
+ case 4:
487
+ {
488
+ _localctx = new InequalityExpressionContext(new ExpressionContext(_parentctx, _parentState));
489
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
490
+ this.state = 48;
491
+ if (!this.precpred(this._ctx, 6)) {
492
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 6)");
493
+ }
494
+ this.state = 49;
495
+ _la = this._input.LA(1);
496
+ if (!((_la & ~0x1f) === 0 &&
497
+ ((1 << _la) &
498
+ ((1 << fhirpathParser.T__13) |
499
+ (1 << fhirpathParser.T__14) |
500
+ (1 << fhirpathParser.T__15) |
501
+ (1 << fhirpathParser.T__16))) !==
502
+ 0)) {
503
+ this._errHandler.recoverInline(this);
504
+ }
505
+ else {
506
+ if (this._input.LA(1) === Token_1.Token.EOF) {
507
+ this.matchedEOF = true;
508
+ }
509
+ this._errHandler.reportMatch(this);
510
+ this.consume();
511
+ }
512
+ this.state = 50;
513
+ this.expression(7);
514
+ }
515
+ break;
516
+ case 5:
517
+ {
518
+ _localctx = new EqualityExpressionContext(new ExpressionContext(_parentctx, _parentState));
519
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
520
+ this.state = 51;
521
+ if (!this.precpred(this._ctx, 5)) {
522
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
523
+ }
524
+ this.state = 52;
525
+ _la = this._input.LA(1);
526
+ if (!((_la & ~0x1f) === 0 &&
527
+ ((1 << _la) &
528
+ ((1 << fhirpathParser.T__17) |
529
+ (1 << fhirpathParser.T__18) |
530
+ (1 << fhirpathParser.T__19) |
531
+ (1 << fhirpathParser.T__20))) !==
532
+ 0)) {
533
+ this._errHandler.recoverInline(this);
534
+ }
535
+ else {
536
+ if (this._input.LA(1) === Token_1.Token.EOF) {
537
+ this.matchedEOF = true;
538
+ }
539
+ this._errHandler.reportMatch(this);
540
+ this.consume();
541
+ }
542
+ this.state = 53;
543
+ this.expression(6);
544
+ }
545
+ break;
546
+ case 6:
547
+ {
548
+ _localctx = new MembershipExpressionContext(new ExpressionContext(_parentctx, _parentState));
549
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
550
+ this.state = 54;
551
+ if (!this.precpred(this._ctx, 4)) {
552
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 4)");
553
+ }
554
+ this.state = 55;
555
+ _la = this._input.LA(1);
556
+ if (!(_la === fhirpathParser.T__21 ||
557
+ _la === fhirpathParser.T__22)) {
558
+ this._errHandler.recoverInline(this);
559
+ }
560
+ else {
561
+ if (this._input.LA(1) === Token_1.Token.EOF) {
562
+ this.matchedEOF = true;
563
+ }
564
+ this._errHandler.reportMatch(this);
565
+ this.consume();
566
+ }
567
+ this.state = 56;
568
+ this.expression(5);
569
+ }
570
+ break;
571
+ case 7:
572
+ {
573
+ _localctx = new AndExpressionContext(new ExpressionContext(_parentctx, _parentState));
574
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
575
+ this.state = 57;
576
+ if (!this.precpred(this._ctx, 3)) {
577
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 3)");
578
+ }
579
+ this.state = 58;
580
+ this.match(fhirpathParser.T__23);
581
+ this.state = 59;
582
+ this.expression(4);
583
+ }
584
+ break;
585
+ case 8:
586
+ {
587
+ _localctx = new OrExpressionContext(new ExpressionContext(_parentctx, _parentState));
588
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
589
+ this.state = 60;
590
+ if (!this.precpred(this._ctx, 2)) {
591
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 2)");
592
+ }
593
+ this.state = 61;
594
+ _la = this._input.LA(1);
595
+ if (!(_la === fhirpathParser.T__24 ||
596
+ _la === fhirpathParser.T__25)) {
597
+ this._errHandler.recoverInline(this);
598
+ }
599
+ else {
600
+ if (this._input.LA(1) === Token_1.Token.EOF) {
601
+ this.matchedEOF = true;
602
+ }
603
+ this._errHandler.reportMatch(this);
604
+ this.consume();
605
+ }
606
+ this.state = 62;
607
+ this.expression(3);
608
+ }
609
+ break;
610
+ case 9:
611
+ {
612
+ _localctx = new ImpliesExpressionContext(new ExpressionContext(_parentctx, _parentState));
613
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
614
+ this.state = 63;
615
+ if (!this.precpred(this._ctx, 1)) {
616
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 1)");
617
+ }
618
+ this.state = 64;
619
+ this.match(fhirpathParser.T__26);
620
+ this.state = 65;
621
+ this.expression(2);
622
+ }
623
+ break;
624
+ case 10:
625
+ {
626
+ _localctx = new InvocationExpressionContext(new ExpressionContext(_parentctx, _parentState));
627
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
628
+ this.state = 66;
629
+ if (!this.precpred(this._ctx, 13)) {
630
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 13)");
631
+ }
632
+ this.state = 67;
633
+ this.match(fhirpathParser.T__0);
634
+ this.state = 68;
635
+ this.invocation();
636
+ }
637
+ break;
638
+ case 11:
639
+ {
640
+ _localctx = new IndexerExpressionContext(new ExpressionContext(_parentctx, _parentState));
641
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
642
+ this.state = 69;
643
+ if (!this.precpred(this._ctx, 12)) {
644
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 12)");
645
+ }
646
+ this.state = 70;
647
+ this.match(fhirpathParser.T__1);
648
+ this.state = 71;
649
+ this.expression(0);
650
+ this.state = 72;
651
+ this.match(fhirpathParser.T__2);
652
+ }
653
+ break;
654
+ case 12:
655
+ {
656
+ _localctx = new TypeExpressionContext(new ExpressionContext(_parentctx, _parentState));
657
+ this.pushNewRecursionContext(_localctx, _startState, fhirpathParser.RULE_expression);
658
+ this.state = 74;
659
+ if (!this.precpred(this._ctx, 8)) {
660
+ throw this.createFailedPredicateException("this.precpred(this._ctx, 8)");
661
+ }
662
+ this.state = 75;
663
+ _la = this._input.LA(1);
664
+ if (!(_la === fhirpathParser.T__10 ||
665
+ _la === fhirpathParser.T__11)) {
666
+ this._errHandler.recoverInline(this);
667
+ }
668
+ else {
669
+ if (this._input.LA(1) === Token_1.Token.EOF) {
670
+ this.matchedEOF = true;
671
+ }
672
+ this._errHandler.reportMatch(this);
673
+ this.consume();
674
+ }
675
+ this.state = 76;
676
+ this.typeSpecifier();
677
+ }
678
+ break;
679
+ }
680
+ }
681
+ }
682
+ this.state = 81;
683
+ this._errHandler.sync(this);
684
+ _alt = this.interpreter.adaptivePredict(this._input, 2, this._ctx);
685
+ }
686
+ }
687
+ }
688
+ catch (re) {
689
+ if (re instanceof RecognitionException_1.RecognitionException) {
690
+ _localctx.exception = re;
691
+ this._errHandler.reportError(this, re);
692
+ this._errHandler.recover(this, re);
693
+ }
694
+ else {
695
+ throw re;
696
+ }
697
+ }
698
+ finally {
699
+ this.unrollRecursionContexts(_parentctx);
700
+ }
701
+ return _localctx;
702
+ }
703
+ // @RuleVersion(0)
704
+ term() {
705
+ let _localctx = new TermContext(this._ctx, this.state);
706
+ this.enterRule(_localctx, 4, fhirpathParser.RULE_term);
707
+ try {
708
+ this.state = 89;
709
+ this._errHandler.sync(this);
710
+ switch (this._input.LA(1)) {
711
+ case fhirpathParser.T__10:
712
+ case fhirpathParser.T__11:
713
+ case fhirpathParser.T__21:
714
+ case fhirpathParser.T__22:
715
+ case fhirpathParser.T__34:
716
+ case fhirpathParser.T__35:
717
+ case fhirpathParser.T__36:
718
+ case fhirpathParser.IDENTIFIER:
719
+ case fhirpathParser.DELIMITEDIDENTIFIER:
720
+ _localctx = new InvocationTermContext(_localctx);
721
+ this.enterOuterAlt(_localctx, 1);
722
+ {
723
+ this.state = 82;
724
+ this.invocation();
725
+ }
726
+ break;
727
+ case fhirpathParser.T__29:
728
+ case fhirpathParser.T__31:
729
+ case fhirpathParser.T__32:
730
+ case fhirpathParser.DATE:
731
+ case fhirpathParser.DATETIME:
732
+ case fhirpathParser.TIME:
733
+ case fhirpathParser.STRING:
734
+ case fhirpathParser.NUMBER:
735
+ case fhirpathParser.LONGNUMBER:
736
+ _localctx = new LiteralTermContext(_localctx);
737
+ this.enterOuterAlt(_localctx, 2);
738
+ {
739
+ this.state = 83;
740
+ this.literal();
741
+ }
742
+ break;
743
+ case fhirpathParser.T__33:
744
+ _localctx = new ExternalConstantTermContext(_localctx);
745
+ this.enterOuterAlt(_localctx, 3);
746
+ {
747
+ this.state = 84;
748
+ this.externalConstant();
749
+ }
750
+ break;
751
+ case fhirpathParser.T__27:
752
+ _localctx = new ParenthesizedTermContext(_localctx);
753
+ this.enterOuterAlt(_localctx, 4);
754
+ {
755
+ this.state = 85;
756
+ this.match(fhirpathParser.T__27);
757
+ this.state = 86;
758
+ this.expression(0);
759
+ this.state = 87;
760
+ this.match(fhirpathParser.T__28);
761
+ }
762
+ break;
763
+ default:
764
+ throw new NoViableAltException_1.NoViableAltException(this);
765
+ }
766
+ }
767
+ catch (re) {
768
+ if (re instanceof RecognitionException_1.RecognitionException) {
769
+ _localctx.exception = re;
770
+ this._errHandler.reportError(this, re);
771
+ this._errHandler.recover(this, re);
772
+ }
773
+ else {
774
+ throw re;
775
+ }
776
+ }
777
+ finally {
778
+ this.exitRule();
779
+ }
780
+ return _localctx;
781
+ }
782
+ // @RuleVersion(0)
783
+ literal() {
784
+ let _localctx = new LiteralContext(this._ctx, this.state);
785
+ this.enterRule(_localctx, 6, fhirpathParser.RULE_literal);
786
+ let _la;
787
+ try {
788
+ this.state = 101;
789
+ this._errHandler.sync(this);
790
+ switch (this.interpreter.adaptivePredict(this._input, 4, this._ctx)) {
791
+ case 1:
792
+ _localctx = new NullLiteralContext(_localctx);
793
+ this.enterOuterAlt(_localctx, 1);
794
+ {
795
+ this.state = 91;
796
+ this.match(fhirpathParser.T__29);
797
+ this.state = 92;
798
+ this.match(fhirpathParser.T__30);
799
+ }
800
+ break;
801
+ case 2:
802
+ _localctx = new BooleanLiteralContext(_localctx);
803
+ this.enterOuterAlt(_localctx, 2);
804
+ {
805
+ this.state = 93;
806
+ _la = this._input.LA(1);
807
+ if (!(_la === fhirpathParser.T__31 || _la === fhirpathParser.T__32)) {
808
+ this._errHandler.recoverInline(this);
809
+ }
810
+ else {
811
+ if (this._input.LA(1) === Token_1.Token.EOF) {
812
+ this.matchedEOF = true;
813
+ }
814
+ this._errHandler.reportMatch(this);
815
+ this.consume();
816
+ }
817
+ }
818
+ break;
819
+ case 3:
820
+ _localctx = new StringLiteralContext(_localctx);
821
+ this.enterOuterAlt(_localctx, 3);
822
+ {
823
+ this.state = 94;
824
+ this.match(fhirpathParser.STRING);
825
+ }
826
+ break;
827
+ case 4:
828
+ _localctx = new NumberLiteralContext(_localctx);
829
+ this.enterOuterAlt(_localctx, 4);
830
+ {
831
+ this.state = 95;
832
+ this.match(fhirpathParser.NUMBER);
833
+ }
834
+ break;
835
+ case 5:
836
+ _localctx = new LongNumberLiteralContext(_localctx);
837
+ this.enterOuterAlt(_localctx, 5);
838
+ {
839
+ this.state = 96;
840
+ this.match(fhirpathParser.LONGNUMBER);
841
+ }
842
+ break;
843
+ case 6:
844
+ _localctx = new DateLiteralContext(_localctx);
845
+ this.enterOuterAlt(_localctx, 6);
846
+ {
847
+ this.state = 97;
848
+ this.match(fhirpathParser.DATE);
849
+ }
850
+ break;
851
+ case 7:
852
+ _localctx = new DateTimeLiteralContext(_localctx);
853
+ this.enterOuterAlt(_localctx, 7);
854
+ {
855
+ this.state = 98;
856
+ this.match(fhirpathParser.DATETIME);
857
+ }
858
+ break;
859
+ case 8:
860
+ _localctx = new TimeLiteralContext(_localctx);
861
+ this.enterOuterAlt(_localctx, 8);
862
+ {
863
+ this.state = 99;
864
+ this.match(fhirpathParser.TIME);
865
+ }
866
+ break;
867
+ case 9:
868
+ _localctx = new QuantityLiteralContext(_localctx);
869
+ this.enterOuterAlt(_localctx, 9);
870
+ {
871
+ this.state = 100;
872
+ this.quantity();
873
+ }
874
+ break;
875
+ }
876
+ }
877
+ catch (re) {
878
+ if (re instanceof RecognitionException_1.RecognitionException) {
879
+ _localctx.exception = re;
880
+ this._errHandler.reportError(this, re);
881
+ this._errHandler.recover(this, re);
882
+ }
883
+ else {
884
+ throw re;
885
+ }
886
+ }
887
+ finally {
888
+ this.exitRule();
889
+ }
890
+ return _localctx;
891
+ }
892
+ // @RuleVersion(0)
893
+ externalConstant() {
894
+ let _localctx = new ExternalConstantContext(this._ctx, this.state);
895
+ this.enterRule(_localctx, 8, fhirpathParser.RULE_externalConstant);
896
+ try {
897
+ this.enterOuterAlt(_localctx, 1);
898
+ {
899
+ this.state = 103;
900
+ this.match(fhirpathParser.T__33);
901
+ this.state = 106;
902
+ this._errHandler.sync(this);
903
+ switch (this._input.LA(1)) {
904
+ case fhirpathParser.T__10:
905
+ case fhirpathParser.T__11:
906
+ case fhirpathParser.T__21:
907
+ case fhirpathParser.T__22:
908
+ case fhirpathParser.IDENTIFIER:
909
+ case fhirpathParser.DELIMITEDIDENTIFIER:
910
+ {
911
+ this.state = 104;
912
+ this.identifier();
913
+ }
914
+ break;
915
+ case fhirpathParser.STRING:
916
+ {
917
+ this.state = 105;
918
+ this.match(fhirpathParser.STRING);
919
+ }
920
+ break;
921
+ default:
922
+ throw new NoViableAltException_1.NoViableAltException(this);
923
+ }
924
+ }
925
+ }
926
+ catch (re) {
927
+ if (re instanceof RecognitionException_1.RecognitionException) {
928
+ _localctx.exception = re;
929
+ this._errHandler.reportError(this, re);
930
+ this._errHandler.recover(this, re);
931
+ }
932
+ else {
933
+ throw re;
934
+ }
935
+ }
936
+ finally {
937
+ this.exitRule();
938
+ }
939
+ return _localctx;
940
+ }
941
+ // @RuleVersion(0)
942
+ invocation() {
943
+ let _localctx = new InvocationContext(this._ctx, this.state);
944
+ this.enterRule(_localctx, 10, fhirpathParser.RULE_invocation);
945
+ try {
946
+ this.state = 113;
947
+ this._errHandler.sync(this);
948
+ switch (this.interpreter.adaptivePredict(this._input, 6, this._ctx)) {
949
+ case 1:
950
+ _localctx = new MemberInvocationContext(_localctx);
951
+ this.enterOuterAlt(_localctx, 1);
952
+ {
953
+ this.state = 108;
954
+ this.identifier();
955
+ }
956
+ break;
957
+ case 2:
958
+ _localctx = new FunctionInvocationContext(_localctx);
959
+ this.enterOuterAlt(_localctx, 2);
960
+ {
961
+ this.state = 109;
962
+ this.function();
963
+ }
964
+ break;
965
+ case 3:
966
+ _localctx = new ThisInvocationContext(_localctx);
967
+ this.enterOuterAlt(_localctx, 3);
968
+ {
969
+ this.state = 110;
970
+ this.match(fhirpathParser.T__34);
971
+ }
972
+ break;
973
+ case 4:
974
+ _localctx = new IndexInvocationContext(_localctx);
975
+ this.enterOuterAlt(_localctx, 4);
976
+ {
977
+ this.state = 111;
978
+ this.match(fhirpathParser.T__35);
979
+ }
980
+ break;
981
+ case 5:
982
+ _localctx = new TotalInvocationContext(_localctx);
983
+ this.enterOuterAlt(_localctx, 5);
984
+ {
985
+ this.state = 112;
986
+ this.match(fhirpathParser.T__36);
987
+ }
988
+ break;
989
+ }
990
+ }
991
+ catch (re) {
992
+ if (re instanceof RecognitionException_1.RecognitionException) {
993
+ _localctx.exception = re;
994
+ this._errHandler.reportError(this, re);
995
+ this._errHandler.recover(this, re);
996
+ }
997
+ else {
998
+ throw re;
999
+ }
1000
+ }
1001
+ finally {
1002
+ this.exitRule();
1003
+ }
1004
+ return _localctx;
1005
+ }
1006
+ // @RuleVersion(0)
1007
+ function() {
1008
+ let _localctx = new FunctionContext(this._ctx, this.state);
1009
+ this.enterRule(_localctx, 12, fhirpathParser.RULE_function);
1010
+ let _la;
1011
+ try {
1012
+ this.enterOuterAlt(_localctx, 1);
1013
+ {
1014
+ this.state = 115;
1015
+ this.identifier();
1016
+ this.state = 116;
1017
+ this.match(fhirpathParser.T__27);
1018
+ this.state = 118;
1019
+ this._errHandler.sync(this);
1020
+ _la = this._input.LA(1);
1021
+ if (((_la & ~0x1f) === 0 &&
1022
+ ((1 << _la) &
1023
+ ((1 << fhirpathParser.T__3) |
1024
+ (1 << fhirpathParser.T__4) |
1025
+ (1 << fhirpathParser.T__10) |
1026
+ (1 << fhirpathParser.T__11) |
1027
+ (1 << fhirpathParser.T__21) |
1028
+ (1 << fhirpathParser.T__22) |
1029
+ (1 << fhirpathParser.T__27) |
1030
+ (1 << fhirpathParser.T__29))) !==
1031
+ 0) ||
1032
+ (((_la - 32) & ~0x1f) === 0 &&
1033
+ ((1 << (_la - 32)) &
1034
+ ((1 << (fhirpathParser.T__31 - 32)) |
1035
+ (1 << (fhirpathParser.T__32 - 32)) |
1036
+ (1 << (fhirpathParser.T__33 - 32)) |
1037
+ (1 << (fhirpathParser.T__34 - 32)) |
1038
+ (1 << (fhirpathParser.T__35 - 32)) |
1039
+ (1 << (fhirpathParser.T__36 - 32)) |
1040
+ (1 << (fhirpathParser.DATE - 32)) |
1041
+ (1 << (fhirpathParser.DATETIME - 32)) |
1042
+ (1 << (fhirpathParser.TIME - 32)) |
1043
+ (1 << (fhirpathParser.IDENTIFIER - 32)) |
1044
+ (1 << (fhirpathParser.DELIMITEDIDENTIFIER - 32)) |
1045
+ (1 << (fhirpathParser.STRING - 32)) |
1046
+ (1 << (fhirpathParser.NUMBER - 32)) |
1047
+ (1 << (fhirpathParser.LONGNUMBER - 32)))) !==
1048
+ 0)) {
1049
+ {
1050
+ this.state = 117;
1051
+ this.paramList();
1052
+ }
1053
+ }
1054
+ this.state = 120;
1055
+ this.match(fhirpathParser.T__28);
1056
+ }
1057
+ }
1058
+ catch (re) {
1059
+ if (re instanceof RecognitionException_1.RecognitionException) {
1060
+ _localctx.exception = re;
1061
+ this._errHandler.reportError(this, re);
1062
+ this._errHandler.recover(this, re);
1063
+ }
1064
+ else {
1065
+ throw re;
1066
+ }
1067
+ }
1068
+ finally {
1069
+ this.exitRule();
1070
+ }
1071
+ return _localctx;
1072
+ }
1073
+ // @RuleVersion(0)
1074
+ paramList() {
1075
+ let _localctx = new ParamListContext(this._ctx, this.state);
1076
+ this.enterRule(_localctx, 14, fhirpathParser.RULE_paramList);
1077
+ let _la;
1078
+ try {
1079
+ this.enterOuterAlt(_localctx, 1);
1080
+ {
1081
+ this.state = 122;
1082
+ this.expression(0);
1083
+ this.state = 127;
1084
+ this._errHandler.sync(this);
1085
+ _la = this._input.LA(1);
1086
+ while (_la === fhirpathParser.T__37) {
1087
+ {
1088
+ {
1089
+ this.state = 123;
1090
+ this.match(fhirpathParser.T__37);
1091
+ this.state = 124;
1092
+ this.expression(0);
1093
+ }
1094
+ }
1095
+ this.state = 129;
1096
+ this._errHandler.sync(this);
1097
+ _la = this._input.LA(1);
1098
+ }
1099
+ }
1100
+ }
1101
+ catch (re) {
1102
+ if (re instanceof RecognitionException_1.RecognitionException) {
1103
+ _localctx.exception = re;
1104
+ this._errHandler.reportError(this, re);
1105
+ this._errHandler.recover(this, re);
1106
+ }
1107
+ else {
1108
+ throw re;
1109
+ }
1110
+ }
1111
+ finally {
1112
+ this.exitRule();
1113
+ }
1114
+ return _localctx;
1115
+ }
1116
+ // @RuleVersion(0)
1117
+ quantity() {
1118
+ let _localctx = new QuantityContext(this._ctx, this.state);
1119
+ this.enterRule(_localctx, 16, fhirpathParser.RULE_quantity);
1120
+ try {
1121
+ this.enterOuterAlt(_localctx, 1);
1122
+ {
1123
+ this.state = 130;
1124
+ this.match(fhirpathParser.NUMBER);
1125
+ this.state = 132;
1126
+ this._errHandler.sync(this);
1127
+ switch (this.interpreter.adaptivePredict(this._input, 9, this._ctx)) {
1128
+ case 1:
1129
+ {
1130
+ this.state = 131;
1131
+ this.unit();
1132
+ }
1133
+ break;
1134
+ }
1135
+ }
1136
+ }
1137
+ catch (re) {
1138
+ if (re instanceof RecognitionException_1.RecognitionException) {
1139
+ _localctx.exception = re;
1140
+ this._errHandler.reportError(this, re);
1141
+ this._errHandler.recover(this, re);
1142
+ }
1143
+ else {
1144
+ throw re;
1145
+ }
1146
+ }
1147
+ finally {
1148
+ this.exitRule();
1149
+ }
1150
+ return _localctx;
1151
+ }
1152
+ // @RuleVersion(0)
1153
+ unit() {
1154
+ let _localctx = new UnitContext(this._ctx, this.state);
1155
+ this.enterRule(_localctx, 18, fhirpathParser.RULE_unit);
1156
+ try {
1157
+ this.state = 137;
1158
+ this._errHandler.sync(this);
1159
+ switch (this._input.LA(1)) {
1160
+ case fhirpathParser.T__38:
1161
+ case fhirpathParser.T__39:
1162
+ case fhirpathParser.T__40:
1163
+ case fhirpathParser.T__41:
1164
+ case fhirpathParser.T__42:
1165
+ case fhirpathParser.T__43:
1166
+ case fhirpathParser.T__44:
1167
+ case fhirpathParser.T__45:
1168
+ this.enterOuterAlt(_localctx, 1);
1169
+ {
1170
+ this.state = 134;
1171
+ this.dateTimePrecision();
1172
+ }
1173
+ break;
1174
+ case fhirpathParser.T__46:
1175
+ case fhirpathParser.T__47:
1176
+ case fhirpathParser.T__48:
1177
+ case fhirpathParser.T__49:
1178
+ case fhirpathParser.T__50:
1179
+ case fhirpathParser.T__51:
1180
+ case fhirpathParser.T__52:
1181
+ case fhirpathParser.T__53:
1182
+ this.enterOuterAlt(_localctx, 2);
1183
+ {
1184
+ this.state = 135;
1185
+ this.pluralDateTimePrecision();
1186
+ }
1187
+ break;
1188
+ case fhirpathParser.STRING:
1189
+ this.enterOuterAlt(_localctx, 3);
1190
+ {
1191
+ this.state = 136;
1192
+ this.match(fhirpathParser.STRING);
1193
+ }
1194
+ break;
1195
+ default:
1196
+ throw new NoViableAltException_1.NoViableAltException(this);
1197
+ }
1198
+ }
1199
+ catch (re) {
1200
+ if (re instanceof RecognitionException_1.RecognitionException) {
1201
+ _localctx.exception = re;
1202
+ this._errHandler.reportError(this, re);
1203
+ this._errHandler.recover(this, re);
1204
+ }
1205
+ else {
1206
+ throw re;
1207
+ }
1208
+ }
1209
+ finally {
1210
+ this.exitRule();
1211
+ }
1212
+ return _localctx;
1213
+ }
1214
+ // @RuleVersion(0)
1215
+ dateTimePrecision() {
1216
+ let _localctx = new DateTimePrecisionContext(this._ctx, this.state);
1217
+ this.enterRule(_localctx, 20, fhirpathParser.RULE_dateTimePrecision);
1218
+ let _la;
1219
+ try {
1220
+ this.enterOuterAlt(_localctx, 1);
1221
+ {
1222
+ this.state = 139;
1223
+ _la = this._input.LA(1);
1224
+ if (!(((_la - 39) & ~0x1f) === 0 &&
1225
+ ((1 << (_la - 39)) &
1226
+ ((1 << (fhirpathParser.T__38 - 39)) |
1227
+ (1 << (fhirpathParser.T__39 - 39)) |
1228
+ (1 << (fhirpathParser.T__40 - 39)) |
1229
+ (1 << (fhirpathParser.T__41 - 39)) |
1230
+ (1 << (fhirpathParser.T__42 - 39)) |
1231
+ (1 << (fhirpathParser.T__43 - 39)) |
1232
+ (1 << (fhirpathParser.T__44 - 39)) |
1233
+ (1 << (fhirpathParser.T__45 - 39)))) !==
1234
+ 0)) {
1235
+ this._errHandler.recoverInline(this);
1236
+ }
1237
+ else {
1238
+ if (this._input.LA(1) === Token_1.Token.EOF) {
1239
+ this.matchedEOF = true;
1240
+ }
1241
+ this._errHandler.reportMatch(this);
1242
+ this.consume();
1243
+ }
1244
+ }
1245
+ }
1246
+ catch (re) {
1247
+ if (re instanceof RecognitionException_1.RecognitionException) {
1248
+ _localctx.exception = re;
1249
+ this._errHandler.reportError(this, re);
1250
+ this._errHandler.recover(this, re);
1251
+ }
1252
+ else {
1253
+ throw re;
1254
+ }
1255
+ }
1256
+ finally {
1257
+ this.exitRule();
1258
+ }
1259
+ return _localctx;
1260
+ }
1261
+ // @RuleVersion(0)
1262
+ pluralDateTimePrecision() {
1263
+ let _localctx = new PluralDateTimePrecisionContext(this._ctx, this.state);
1264
+ this.enterRule(_localctx, 22, fhirpathParser.RULE_pluralDateTimePrecision);
1265
+ let _la;
1266
+ try {
1267
+ this.enterOuterAlt(_localctx, 1);
1268
+ {
1269
+ this.state = 141;
1270
+ _la = this._input.LA(1);
1271
+ if (!(((_la - 47) & ~0x1f) === 0 &&
1272
+ ((1 << (_la - 47)) &
1273
+ ((1 << (fhirpathParser.T__46 - 47)) |
1274
+ (1 << (fhirpathParser.T__47 - 47)) |
1275
+ (1 << (fhirpathParser.T__48 - 47)) |
1276
+ (1 << (fhirpathParser.T__49 - 47)) |
1277
+ (1 << (fhirpathParser.T__50 - 47)) |
1278
+ (1 << (fhirpathParser.T__51 - 47)) |
1279
+ (1 << (fhirpathParser.T__52 - 47)) |
1280
+ (1 << (fhirpathParser.T__53 - 47)))) !==
1281
+ 0)) {
1282
+ this._errHandler.recoverInline(this);
1283
+ }
1284
+ else {
1285
+ if (this._input.LA(1) === Token_1.Token.EOF) {
1286
+ this.matchedEOF = true;
1287
+ }
1288
+ this._errHandler.reportMatch(this);
1289
+ this.consume();
1290
+ }
1291
+ }
1292
+ }
1293
+ catch (re) {
1294
+ if (re instanceof RecognitionException_1.RecognitionException) {
1295
+ _localctx.exception = re;
1296
+ this._errHandler.reportError(this, re);
1297
+ this._errHandler.recover(this, re);
1298
+ }
1299
+ else {
1300
+ throw re;
1301
+ }
1302
+ }
1303
+ finally {
1304
+ this.exitRule();
1305
+ }
1306
+ return _localctx;
1307
+ }
1308
+ // @RuleVersion(0)
1309
+ typeSpecifier() {
1310
+ let _localctx = new TypeSpecifierContext(this._ctx, this.state);
1311
+ this.enterRule(_localctx, 24, fhirpathParser.RULE_typeSpecifier);
1312
+ try {
1313
+ this.enterOuterAlt(_localctx, 1);
1314
+ {
1315
+ this.state = 143;
1316
+ this.qualifiedIdentifier();
1317
+ }
1318
+ }
1319
+ catch (re) {
1320
+ if (re instanceof RecognitionException_1.RecognitionException) {
1321
+ _localctx.exception = re;
1322
+ this._errHandler.reportError(this, re);
1323
+ this._errHandler.recover(this, re);
1324
+ }
1325
+ else {
1326
+ throw re;
1327
+ }
1328
+ }
1329
+ finally {
1330
+ this.exitRule();
1331
+ }
1332
+ return _localctx;
1333
+ }
1334
+ // @RuleVersion(0)
1335
+ qualifiedIdentifier() {
1336
+ let _localctx = new QualifiedIdentifierContext(this._ctx, this.state);
1337
+ this.enterRule(_localctx, 26, fhirpathParser.RULE_qualifiedIdentifier);
1338
+ try {
1339
+ let _alt;
1340
+ this.enterOuterAlt(_localctx, 1);
1341
+ {
1342
+ this.state = 145;
1343
+ this.identifier();
1344
+ this.state = 150;
1345
+ this._errHandler.sync(this);
1346
+ _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx);
1347
+ while (_alt !== 2 && _alt !== ATN_1.ATN.INVALID_ALT_NUMBER) {
1348
+ if (_alt === 1) {
1349
+ {
1350
+ {
1351
+ this.state = 146;
1352
+ this.match(fhirpathParser.T__0);
1353
+ this.state = 147;
1354
+ this.identifier();
1355
+ }
1356
+ }
1357
+ }
1358
+ this.state = 152;
1359
+ this._errHandler.sync(this);
1360
+ _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx);
1361
+ }
1362
+ }
1363
+ }
1364
+ catch (re) {
1365
+ if (re instanceof RecognitionException_1.RecognitionException) {
1366
+ _localctx.exception = re;
1367
+ this._errHandler.reportError(this, re);
1368
+ this._errHandler.recover(this, re);
1369
+ }
1370
+ else {
1371
+ throw re;
1372
+ }
1373
+ }
1374
+ finally {
1375
+ this.exitRule();
1376
+ }
1377
+ return _localctx;
1378
+ }
1379
+ // @RuleVersion(0)
1380
+ identifier() {
1381
+ let _localctx = new IdentifierContext(this._ctx, this.state);
1382
+ this.enterRule(_localctx, 28, fhirpathParser.RULE_identifier);
1383
+ let _la;
1384
+ try {
1385
+ this.enterOuterAlt(_localctx, 1);
1386
+ {
1387
+ this.state = 153;
1388
+ _la = this._input.LA(1);
1389
+ if (!(((_la & ~0x1f) === 0 &&
1390
+ ((1 << _la) &
1391
+ ((1 << fhirpathParser.T__10) |
1392
+ (1 << fhirpathParser.T__11) |
1393
+ (1 << fhirpathParser.T__21) |
1394
+ (1 << fhirpathParser.T__22))) !==
1395
+ 0) ||
1396
+ _la === fhirpathParser.IDENTIFIER ||
1397
+ _la === fhirpathParser.DELIMITEDIDENTIFIER)) {
1398
+ this._errHandler.recoverInline(this);
1399
+ }
1400
+ else {
1401
+ if (this._input.LA(1) === Token_1.Token.EOF) {
1402
+ this.matchedEOF = true;
1403
+ }
1404
+ this._errHandler.reportMatch(this);
1405
+ this.consume();
1406
+ }
1407
+ }
1408
+ }
1409
+ catch (re) {
1410
+ if (re instanceof RecognitionException_1.RecognitionException) {
1411
+ _localctx.exception = re;
1412
+ this._errHandler.reportError(this, re);
1413
+ this._errHandler.recover(this, re);
1414
+ }
1415
+ else {
1416
+ throw re;
1417
+ }
1418
+ }
1419
+ finally {
1420
+ this.exitRule();
1421
+ }
1422
+ return _localctx;
1423
+ }
1424
+ sempred(_localctx, ruleIndex, predIndex) {
1425
+ switch (ruleIndex) {
1426
+ case 1:
1427
+ return this.expression_sempred(_localctx, predIndex);
1428
+ }
1429
+ return true;
1430
+ }
1431
+ expression_sempred(_localctx, predIndex) {
1432
+ switch (predIndex) {
1433
+ case 0:
1434
+ return this.precpred(this._ctx, 10);
1435
+ case 1:
1436
+ return this.precpred(this._ctx, 9);
1437
+ case 2:
1438
+ return this.precpred(this._ctx, 7);
1439
+ case 3:
1440
+ return this.precpred(this._ctx, 6);
1441
+ case 4:
1442
+ return this.precpred(this._ctx, 5);
1443
+ case 5:
1444
+ return this.precpred(this._ctx, 4);
1445
+ case 6:
1446
+ return this.precpred(this._ctx, 3);
1447
+ case 7:
1448
+ return this.precpred(this._ctx, 2);
1449
+ case 8:
1450
+ return this.precpred(this._ctx, 1);
1451
+ case 9:
1452
+ return this.precpred(this._ctx, 13);
1453
+ case 10:
1454
+ return this.precpred(this._ctx, 12);
1455
+ case 11:
1456
+ return this.precpred(this._ctx, 8);
1457
+ }
1458
+ return true;
1459
+ }
1460
+ static _serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03C\x9E\x04\x02" +
1461
+ "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" +
1462
+ "\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" +
1463
+ "\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x03\x02\x03\x02\x03\x02\x03\x03" +
1464
+ "\x03\x03\x03\x03\x03\x03\x05\x03(\n\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1465
+ "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1466
+ "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1467
+ "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03" +
1468
+ "\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x07\x03P\n\x03" +
1469
+ "\f\x03\x0E\x03S\v\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04" +
1470
+ "\x03\x04\x05\x04\\\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05" +
1471
+ "\x03\x05\x03\x05\x03\x05\x03\x05\x05\x05h\n\x05\x03\x06\x03\x06\x03\x06" +
1472
+ "\x05\x06m\n\x06\x03\x07\x03\x07\x03\x07\x03\x07\x03\x07\x05\x07t\n\x07" +
1473
+ "\x03\b\x03\b\x03\b\x05\by\n\b\x03\b\x03\b\x03\t\x03\t\x03\t\x07\t\x80" +
1474
+ "\n\t\f\t\x0E\t\x83\v\t\x03\n\x03\n\x05\n\x87\n\n\x03\v\x03\v\x03\v\x05" +
1475
+ "\v\x8C\n\v\x03\f\x03\f\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03" +
1476
+ "\x0F\x07\x0F\x97\n\x0F\f\x0F\x0E\x0F\x9A\v\x0F\x03\x10\x03\x10\x03\x10" +
1477
+ "\x02\x02\x03\x04\x11\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02" +
1478
+ "\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E\x02\x02\x0E" +
1479
+ "\x03\x02\x06\x07\x03\x02\b\v\x04\x02\x06\x07\f\f\x03\x02\x10\x13\x03\x02" +
1480
+ '\x14\x17\x03\x02\x18\x19\x03\x02\x1B\x1C\x03\x02\r\x0E\x03\x02"#\x03' +
1481
+ "\x02)0\x03\x0218\x05\x02\r\x0E\x18\x19<=\x02\xB1\x02 \x03\x02\x02\x02" +
1482
+ "\x04\'\x03\x02\x02\x02\x06[\x03\x02\x02\x02\bg\x03\x02\x02\x02\ni\x03" +
1483
+ "\x02\x02\x02\fs\x03\x02\x02\x02\x0Eu\x03\x02\x02\x02\x10|\x03\x02\x02" +
1484
+ "\x02\x12\x84\x03\x02\x02\x02\x14\x8B\x03\x02\x02\x02\x16\x8D\x03\x02\x02" +
1485
+ "\x02\x18\x8F\x03\x02\x02\x02\x1A\x91\x03\x02\x02\x02\x1C\x93\x03\x02\x02" +
1486
+ '\x02\x1E\x9B\x03\x02\x02\x02 !\x05\x04\x03\x02!"\x07\x02\x02\x03"\x03' +
1487
+ "\x03\x02\x02\x02#$\b\x03\x01\x02$(\x05\x06\x04\x02%&\t\x02\x02\x02&(\x05" +
1488
+ "\x04\x03\r\'#\x03\x02\x02\x02\'%\x03\x02\x02\x02(Q\x03\x02\x02\x02)*\f" +
1489
+ "\f\x02\x02*+\t\x03\x02\x02+P\x05\x04\x03\r,-\f\v\x02\x02-.\t\x04\x02\x02" +
1490
+ ".P\x05\x04\x03\f/0\f\t\x02\x0201\x07\x0F\x02\x021P\x05\x04\x03\n23\f\b" +
1491
+ "\x02\x0234\t\x05\x02\x024P\x05\x04\x03\t56\f\x07\x02\x0267\t\x06\x02\x02" +
1492
+ "7P\x05\x04\x03\b89\f\x06\x02\x029:\t\x07\x02\x02:P\x05\x04\x03\x07;<\f" +
1493
+ "\x05\x02\x02<=\x07\x1A\x02\x02=P\x05\x04\x03\x06>?\f\x04\x02\x02?@\t\b" +
1494
+ "\x02\x02@P\x05\x04\x03\x05AB\f\x03\x02\x02BC\x07\x1D\x02\x02CP\x05\x04" +
1495
+ "\x03\x04DE\f\x0F\x02\x02EF\x07\x03\x02\x02FP\x05\f\x07\x02GH\f\x0E\x02" +
1496
+ "\x02HI\x07\x04\x02\x02IJ\x05\x04\x03\x02JK\x07\x05\x02\x02KP\x03\x02\x02" +
1497
+ "\x02LM\f\n\x02\x02MN\t\t\x02\x02NP\x05\x1A\x0E\x02O)\x03\x02\x02\x02O" +
1498
+ ",\x03\x02\x02\x02O/\x03\x02\x02\x02O2\x03\x02\x02\x02O5\x03\x02\x02\x02" +
1499
+ "O8\x03\x02\x02\x02O;\x03\x02\x02\x02O>\x03\x02\x02\x02OA\x03\x02\x02\x02" +
1500
+ "OD\x03\x02\x02\x02OG\x03\x02\x02\x02OL\x03\x02\x02\x02PS\x03\x02\x02\x02" +
1501
+ "QO\x03\x02\x02\x02QR\x03\x02\x02\x02R\x05\x03\x02\x02\x02SQ\x03\x02\x02" +
1502
+ "\x02T\\\x05\f\x07\x02U\\\x05\b\x05\x02V\\\x05\n\x06\x02WX\x07\x1E\x02" +
1503
+ "\x02XY\x05\x04\x03\x02YZ\x07\x1F\x02\x02Z\\\x03\x02\x02\x02[T\x03\x02" +
1504
+ "\x02\x02[U\x03\x02\x02\x02[V\x03\x02\x02\x02[W\x03\x02\x02\x02\\\x07\x03" +
1505
+ "\x02\x02\x02]^\x07 \x02\x02^h\x07!\x02\x02_h\t\n\x02\x02`h\x07>\x02\x02" +
1506
+ "ah\x07?\x02\x02bh\x07@\x02\x02ch\x079\x02\x02dh\x07:\x02\x02eh\x07;\x02" +
1507
+ "\x02fh\x05\x12\n\x02g]\x03\x02\x02\x02g_\x03\x02\x02\x02g`\x03\x02\x02" +
1508
+ "\x02ga\x03\x02\x02\x02gb\x03\x02\x02\x02gc\x03\x02\x02\x02gd\x03\x02\x02" +
1509
+ "\x02ge\x03\x02\x02\x02gf\x03\x02\x02\x02h\t\x03\x02\x02\x02il\x07$\x02" +
1510
+ "\x02jm\x05\x1E\x10\x02km\x07>\x02\x02lj\x03\x02\x02\x02lk\x03\x02\x02" +
1511
+ "\x02m\v\x03\x02\x02\x02nt\x05\x1E\x10\x02ot\x05\x0E\b\x02pt\x07%\x02\x02" +
1512
+ "qt\x07&\x02\x02rt\x07\'\x02\x02sn\x03\x02\x02\x02so\x03\x02\x02\x02sp" +
1513
+ "\x03\x02\x02\x02sq\x03\x02\x02\x02sr\x03\x02\x02\x02t\r\x03\x02\x02\x02" +
1514
+ "uv\x05\x1E\x10\x02vx\x07\x1E\x02\x02wy\x05\x10\t\x02xw\x03\x02\x02\x02" +
1515
+ "xy\x03\x02\x02\x02yz\x03\x02\x02\x02z{\x07\x1F\x02\x02{\x0F\x03\x02\x02" +
1516
+ "\x02|\x81\x05\x04\x03\x02}~\x07(\x02\x02~\x80\x05\x04\x03\x02\x7F}\x03" +
1517
+ "\x02\x02\x02\x80\x83\x03\x02\x02\x02\x81\x7F\x03\x02\x02\x02\x81\x82\x03" +
1518
+ "\x02\x02\x02\x82\x11\x03\x02\x02\x02\x83\x81\x03\x02\x02\x02\x84\x86\x07" +
1519
+ "?\x02\x02\x85\x87\x05\x14\v\x02\x86\x85\x03\x02\x02\x02\x86\x87\x03\x02" +
1520
+ "\x02\x02\x87\x13\x03\x02\x02\x02\x88\x8C\x05\x16\f\x02\x89\x8C\x05\x18" +
1521
+ "\r\x02\x8A\x8C\x07>\x02\x02\x8B\x88\x03\x02\x02\x02\x8B\x89\x03\x02\x02" +
1522
+ "\x02\x8B\x8A\x03\x02\x02\x02\x8C\x15\x03\x02\x02\x02\x8D\x8E\t\v\x02\x02" +
1523
+ "\x8E\x17\x03\x02\x02\x02\x8F\x90\t\f\x02\x02\x90\x19\x03\x02\x02\x02\x91" +
1524
+ "\x92\x05\x1C\x0F\x02\x92\x1B\x03\x02\x02\x02\x93\x98\x05\x1E\x10\x02\x94" +
1525
+ "\x95\x07\x03\x02\x02\x95\x97\x05\x1E\x10\x02\x96\x94\x03\x02\x02\x02\x97" +
1526
+ "\x9A\x03\x02\x02\x02\x98\x96\x03\x02\x02\x02\x98\x99\x03\x02\x02\x02\x99" +
1527
+ "\x1D\x03\x02\x02\x02\x9A\x98\x03\x02\x02\x02\x9B\x9C\t\r\x02\x02\x9C\x1F" +
1528
+ "\x03\x02\x02\x02\x0E\'OQ[glsx\x81\x86\x8B\x98";
1529
+ static __ATN;
1530
+ static get _ATN() {
1531
+ if (!fhirpathParser.__ATN) {
1532
+ fhirpathParser.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(fhirpathParser._serializedATN));
1533
+ }
1534
+ return fhirpathParser.__ATN;
1535
+ }
1536
+ }
1537
+ exports.fhirpathParser = fhirpathParser;
1538
+ class EntireExpressionContext extends ParserRuleContext_1.ParserRuleContext {
1539
+ expression() {
1540
+ return this.getRuleContext(0, ExpressionContext);
1541
+ }
1542
+ EOF() {
1543
+ return this.getToken(fhirpathParser.EOF, 0);
1544
+ }
1545
+ constructor(parent, invokingState) {
1546
+ super(parent, invokingState);
1547
+ }
1548
+ // @Override
1549
+ get ruleIndex() {
1550
+ return fhirpathParser.RULE_entireExpression;
1551
+ }
1552
+ // @Override
1553
+ enterRule(listener) {
1554
+ if (listener.enterEntireExpression) {
1555
+ listener.enterEntireExpression(this);
1556
+ }
1557
+ }
1558
+ // @Override
1559
+ exitRule(listener) {
1560
+ if (listener.exitEntireExpression) {
1561
+ listener.exitEntireExpression(this);
1562
+ }
1563
+ }
1564
+ // @Override
1565
+ accept(visitor) {
1566
+ if (visitor.visitEntireExpression) {
1567
+ return visitor.visitEntireExpression(this);
1568
+ }
1569
+ else {
1570
+ return visitor.visitChildren(this);
1571
+ }
1572
+ }
1573
+ }
1574
+ exports.EntireExpressionContext = EntireExpressionContext;
1575
+ class ExpressionContext extends ParserRuleContext_1.ParserRuleContext {
1576
+ constructor(parent, invokingState) {
1577
+ super(parent, invokingState);
1578
+ }
1579
+ // @Override
1580
+ get ruleIndex() {
1581
+ return fhirpathParser.RULE_expression;
1582
+ }
1583
+ copyFrom(ctx) {
1584
+ super.copyFrom(ctx);
1585
+ }
1586
+ }
1587
+ exports.ExpressionContext = ExpressionContext;
1588
+ class TermExpressionContext extends ExpressionContext {
1589
+ term() {
1590
+ return this.getRuleContext(0, TermContext);
1591
+ }
1592
+ constructor(ctx) {
1593
+ super(ctx.parent, ctx.invokingState);
1594
+ this.copyFrom(ctx);
1595
+ }
1596
+ // @Override
1597
+ enterRule(listener) {
1598
+ if (listener.enterTermExpression) {
1599
+ listener.enterTermExpression(this);
1600
+ }
1601
+ }
1602
+ // @Override
1603
+ exitRule(listener) {
1604
+ if (listener.exitTermExpression) {
1605
+ listener.exitTermExpression(this);
1606
+ }
1607
+ }
1608
+ // @Override
1609
+ accept(visitor) {
1610
+ if (visitor.visitTermExpression) {
1611
+ return visitor.visitTermExpression(this);
1612
+ }
1613
+ else {
1614
+ return visitor.visitChildren(this);
1615
+ }
1616
+ }
1617
+ }
1618
+ exports.TermExpressionContext = TermExpressionContext;
1619
+ class InvocationExpressionContext extends ExpressionContext {
1620
+ expression() {
1621
+ return this.getRuleContext(0, ExpressionContext);
1622
+ }
1623
+ invocation() {
1624
+ return this.getRuleContext(0, InvocationContext);
1625
+ }
1626
+ constructor(ctx) {
1627
+ super(ctx.parent, ctx.invokingState);
1628
+ this.copyFrom(ctx);
1629
+ }
1630
+ // @Override
1631
+ enterRule(listener) {
1632
+ if (listener.enterInvocationExpression) {
1633
+ listener.enterInvocationExpression(this);
1634
+ }
1635
+ }
1636
+ // @Override
1637
+ exitRule(listener) {
1638
+ if (listener.exitInvocationExpression) {
1639
+ listener.exitInvocationExpression(this);
1640
+ }
1641
+ }
1642
+ // @Override
1643
+ accept(visitor) {
1644
+ if (visitor.visitInvocationExpression) {
1645
+ return visitor.visitInvocationExpression(this);
1646
+ }
1647
+ else {
1648
+ return visitor.visitChildren(this);
1649
+ }
1650
+ }
1651
+ }
1652
+ exports.InvocationExpressionContext = InvocationExpressionContext;
1653
+ class IndexerExpressionContext extends ExpressionContext {
1654
+ expression(i) {
1655
+ if (i === undefined) {
1656
+ return this.getRuleContexts(ExpressionContext);
1657
+ }
1658
+ else {
1659
+ return this.getRuleContext(i, ExpressionContext);
1660
+ }
1661
+ }
1662
+ constructor(ctx) {
1663
+ super(ctx.parent, ctx.invokingState);
1664
+ this.copyFrom(ctx);
1665
+ }
1666
+ // @Override
1667
+ enterRule(listener) {
1668
+ if (listener.enterIndexerExpression) {
1669
+ listener.enterIndexerExpression(this);
1670
+ }
1671
+ }
1672
+ // @Override
1673
+ exitRule(listener) {
1674
+ if (listener.exitIndexerExpression) {
1675
+ listener.exitIndexerExpression(this);
1676
+ }
1677
+ }
1678
+ // @Override
1679
+ accept(visitor) {
1680
+ if (visitor.visitIndexerExpression) {
1681
+ return visitor.visitIndexerExpression(this);
1682
+ }
1683
+ else {
1684
+ return visitor.visitChildren(this);
1685
+ }
1686
+ }
1687
+ }
1688
+ exports.IndexerExpressionContext = IndexerExpressionContext;
1689
+ class PolarityExpressionContext extends ExpressionContext {
1690
+ expression() {
1691
+ return this.getRuleContext(0, ExpressionContext);
1692
+ }
1693
+ constructor(ctx) {
1694
+ super(ctx.parent, ctx.invokingState);
1695
+ this.copyFrom(ctx);
1696
+ }
1697
+ // @Override
1698
+ enterRule(listener) {
1699
+ if (listener.enterPolarityExpression) {
1700
+ listener.enterPolarityExpression(this);
1701
+ }
1702
+ }
1703
+ // @Override
1704
+ exitRule(listener) {
1705
+ if (listener.exitPolarityExpression) {
1706
+ listener.exitPolarityExpression(this);
1707
+ }
1708
+ }
1709
+ // @Override
1710
+ accept(visitor) {
1711
+ if (visitor.visitPolarityExpression) {
1712
+ return visitor.visitPolarityExpression(this);
1713
+ }
1714
+ else {
1715
+ return visitor.visitChildren(this);
1716
+ }
1717
+ }
1718
+ }
1719
+ exports.PolarityExpressionContext = PolarityExpressionContext;
1720
+ class MultiplicativeExpressionContext extends ExpressionContext {
1721
+ expression(i) {
1722
+ if (i === undefined) {
1723
+ return this.getRuleContexts(ExpressionContext);
1724
+ }
1725
+ else {
1726
+ return this.getRuleContext(i, ExpressionContext);
1727
+ }
1728
+ }
1729
+ constructor(ctx) {
1730
+ super(ctx.parent, ctx.invokingState);
1731
+ this.copyFrom(ctx);
1732
+ }
1733
+ // @Override
1734
+ enterRule(listener) {
1735
+ if (listener.enterMultiplicativeExpression) {
1736
+ listener.enterMultiplicativeExpression(this);
1737
+ }
1738
+ }
1739
+ // @Override
1740
+ exitRule(listener) {
1741
+ if (listener.exitMultiplicativeExpression) {
1742
+ listener.exitMultiplicativeExpression(this);
1743
+ }
1744
+ }
1745
+ // @Override
1746
+ accept(visitor) {
1747
+ if (visitor.visitMultiplicativeExpression) {
1748
+ return visitor.visitMultiplicativeExpression(this);
1749
+ }
1750
+ else {
1751
+ return visitor.visitChildren(this);
1752
+ }
1753
+ }
1754
+ }
1755
+ exports.MultiplicativeExpressionContext = MultiplicativeExpressionContext;
1756
+ class AdditiveExpressionContext extends ExpressionContext {
1757
+ expression(i) {
1758
+ if (i === undefined) {
1759
+ return this.getRuleContexts(ExpressionContext);
1760
+ }
1761
+ else {
1762
+ return this.getRuleContext(i, ExpressionContext);
1763
+ }
1764
+ }
1765
+ constructor(ctx) {
1766
+ super(ctx.parent, ctx.invokingState);
1767
+ this.copyFrom(ctx);
1768
+ }
1769
+ // @Override
1770
+ enterRule(listener) {
1771
+ if (listener.enterAdditiveExpression) {
1772
+ listener.enterAdditiveExpression(this);
1773
+ }
1774
+ }
1775
+ // @Override
1776
+ exitRule(listener) {
1777
+ if (listener.exitAdditiveExpression) {
1778
+ listener.exitAdditiveExpression(this);
1779
+ }
1780
+ }
1781
+ // @Override
1782
+ accept(visitor) {
1783
+ if (visitor.visitAdditiveExpression) {
1784
+ return visitor.visitAdditiveExpression(this);
1785
+ }
1786
+ else {
1787
+ return visitor.visitChildren(this);
1788
+ }
1789
+ }
1790
+ }
1791
+ exports.AdditiveExpressionContext = AdditiveExpressionContext;
1792
+ class TypeExpressionContext extends ExpressionContext {
1793
+ expression() {
1794
+ return this.getRuleContext(0, ExpressionContext);
1795
+ }
1796
+ typeSpecifier() {
1797
+ return this.getRuleContext(0, TypeSpecifierContext);
1798
+ }
1799
+ constructor(ctx) {
1800
+ super(ctx.parent, ctx.invokingState);
1801
+ this.copyFrom(ctx);
1802
+ }
1803
+ // @Override
1804
+ enterRule(listener) {
1805
+ if (listener.enterTypeExpression) {
1806
+ listener.enterTypeExpression(this);
1807
+ }
1808
+ }
1809
+ // @Override
1810
+ exitRule(listener) {
1811
+ if (listener.exitTypeExpression) {
1812
+ listener.exitTypeExpression(this);
1813
+ }
1814
+ }
1815
+ // @Override
1816
+ accept(visitor) {
1817
+ if (visitor.visitTypeExpression) {
1818
+ return visitor.visitTypeExpression(this);
1819
+ }
1820
+ else {
1821
+ return visitor.visitChildren(this);
1822
+ }
1823
+ }
1824
+ }
1825
+ exports.TypeExpressionContext = TypeExpressionContext;
1826
+ class UnionExpressionContext extends ExpressionContext {
1827
+ expression(i) {
1828
+ if (i === undefined) {
1829
+ return this.getRuleContexts(ExpressionContext);
1830
+ }
1831
+ else {
1832
+ return this.getRuleContext(i, ExpressionContext);
1833
+ }
1834
+ }
1835
+ constructor(ctx) {
1836
+ super(ctx.parent, ctx.invokingState);
1837
+ this.copyFrom(ctx);
1838
+ }
1839
+ // @Override
1840
+ enterRule(listener) {
1841
+ if (listener.enterUnionExpression) {
1842
+ listener.enterUnionExpression(this);
1843
+ }
1844
+ }
1845
+ // @Override
1846
+ exitRule(listener) {
1847
+ if (listener.exitUnionExpression) {
1848
+ listener.exitUnionExpression(this);
1849
+ }
1850
+ }
1851
+ // @Override
1852
+ accept(visitor) {
1853
+ if (visitor.visitUnionExpression) {
1854
+ return visitor.visitUnionExpression(this);
1855
+ }
1856
+ else {
1857
+ return visitor.visitChildren(this);
1858
+ }
1859
+ }
1860
+ }
1861
+ exports.UnionExpressionContext = UnionExpressionContext;
1862
+ class InequalityExpressionContext extends ExpressionContext {
1863
+ expression(i) {
1864
+ if (i === undefined) {
1865
+ return this.getRuleContexts(ExpressionContext);
1866
+ }
1867
+ else {
1868
+ return this.getRuleContext(i, ExpressionContext);
1869
+ }
1870
+ }
1871
+ constructor(ctx) {
1872
+ super(ctx.parent, ctx.invokingState);
1873
+ this.copyFrom(ctx);
1874
+ }
1875
+ // @Override
1876
+ enterRule(listener) {
1877
+ if (listener.enterInequalityExpression) {
1878
+ listener.enterInequalityExpression(this);
1879
+ }
1880
+ }
1881
+ // @Override
1882
+ exitRule(listener) {
1883
+ if (listener.exitInequalityExpression) {
1884
+ listener.exitInequalityExpression(this);
1885
+ }
1886
+ }
1887
+ // @Override
1888
+ accept(visitor) {
1889
+ if (visitor.visitInequalityExpression) {
1890
+ return visitor.visitInequalityExpression(this);
1891
+ }
1892
+ else {
1893
+ return visitor.visitChildren(this);
1894
+ }
1895
+ }
1896
+ }
1897
+ exports.InequalityExpressionContext = InequalityExpressionContext;
1898
+ class EqualityExpressionContext extends ExpressionContext {
1899
+ expression(i) {
1900
+ if (i === undefined) {
1901
+ return this.getRuleContexts(ExpressionContext);
1902
+ }
1903
+ else {
1904
+ return this.getRuleContext(i, ExpressionContext);
1905
+ }
1906
+ }
1907
+ constructor(ctx) {
1908
+ super(ctx.parent, ctx.invokingState);
1909
+ this.copyFrom(ctx);
1910
+ }
1911
+ // @Override
1912
+ enterRule(listener) {
1913
+ if (listener.enterEqualityExpression) {
1914
+ listener.enterEqualityExpression(this);
1915
+ }
1916
+ }
1917
+ // @Override
1918
+ exitRule(listener) {
1919
+ if (listener.exitEqualityExpression) {
1920
+ listener.exitEqualityExpression(this);
1921
+ }
1922
+ }
1923
+ // @Override
1924
+ accept(visitor) {
1925
+ if (visitor.visitEqualityExpression) {
1926
+ return visitor.visitEqualityExpression(this);
1927
+ }
1928
+ else {
1929
+ return visitor.visitChildren(this);
1930
+ }
1931
+ }
1932
+ }
1933
+ exports.EqualityExpressionContext = EqualityExpressionContext;
1934
+ class MembershipExpressionContext extends ExpressionContext {
1935
+ expression(i) {
1936
+ if (i === undefined) {
1937
+ return this.getRuleContexts(ExpressionContext);
1938
+ }
1939
+ else {
1940
+ return this.getRuleContext(i, ExpressionContext);
1941
+ }
1942
+ }
1943
+ constructor(ctx) {
1944
+ super(ctx.parent, ctx.invokingState);
1945
+ this.copyFrom(ctx);
1946
+ }
1947
+ // @Override
1948
+ enterRule(listener) {
1949
+ if (listener.enterMembershipExpression) {
1950
+ listener.enterMembershipExpression(this);
1951
+ }
1952
+ }
1953
+ // @Override
1954
+ exitRule(listener) {
1955
+ if (listener.exitMembershipExpression) {
1956
+ listener.exitMembershipExpression(this);
1957
+ }
1958
+ }
1959
+ // @Override
1960
+ accept(visitor) {
1961
+ if (visitor.visitMembershipExpression) {
1962
+ return visitor.visitMembershipExpression(this);
1963
+ }
1964
+ else {
1965
+ return visitor.visitChildren(this);
1966
+ }
1967
+ }
1968
+ }
1969
+ exports.MembershipExpressionContext = MembershipExpressionContext;
1970
+ class AndExpressionContext extends ExpressionContext {
1971
+ expression(i) {
1972
+ if (i === undefined) {
1973
+ return this.getRuleContexts(ExpressionContext);
1974
+ }
1975
+ else {
1976
+ return this.getRuleContext(i, ExpressionContext);
1977
+ }
1978
+ }
1979
+ constructor(ctx) {
1980
+ super(ctx.parent, ctx.invokingState);
1981
+ this.copyFrom(ctx);
1982
+ }
1983
+ // @Override
1984
+ enterRule(listener) {
1985
+ if (listener.enterAndExpression) {
1986
+ listener.enterAndExpression(this);
1987
+ }
1988
+ }
1989
+ // @Override
1990
+ exitRule(listener) {
1991
+ if (listener.exitAndExpression) {
1992
+ listener.exitAndExpression(this);
1993
+ }
1994
+ }
1995
+ // @Override
1996
+ accept(visitor) {
1997
+ if (visitor.visitAndExpression) {
1998
+ return visitor.visitAndExpression(this);
1999
+ }
2000
+ else {
2001
+ return visitor.visitChildren(this);
2002
+ }
2003
+ }
2004
+ }
2005
+ exports.AndExpressionContext = AndExpressionContext;
2006
+ class OrExpressionContext extends ExpressionContext {
2007
+ expression(i) {
2008
+ if (i === undefined) {
2009
+ return this.getRuleContexts(ExpressionContext);
2010
+ }
2011
+ else {
2012
+ return this.getRuleContext(i, ExpressionContext);
2013
+ }
2014
+ }
2015
+ constructor(ctx) {
2016
+ super(ctx.parent, ctx.invokingState);
2017
+ this.copyFrom(ctx);
2018
+ }
2019
+ // @Override
2020
+ enterRule(listener) {
2021
+ if (listener.enterOrExpression) {
2022
+ listener.enterOrExpression(this);
2023
+ }
2024
+ }
2025
+ // @Override
2026
+ exitRule(listener) {
2027
+ if (listener.exitOrExpression) {
2028
+ listener.exitOrExpression(this);
2029
+ }
2030
+ }
2031
+ // @Override
2032
+ accept(visitor) {
2033
+ if (visitor.visitOrExpression) {
2034
+ return visitor.visitOrExpression(this);
2035
+ }
2036
+ else {
2037
+ return visitor.visitChildren(this);
2038
+ }
2039
+ }
2040
+ }
2041
+ exports.OrExpressionContext = OrExpressionContext;
2042
+ class ImpliesExpressionContext extends ExpressionContext {
2043
+ expression(i) {
2044
+ if (i === undefined) {
2045
+ return this.getRuleContexts(ExpressionContext);
2046
+ }
2047
+ else {
2048
+ return this.getRuleContext(i, ExpressionContext);
2049
+ }
2050
+ }
2051
+ constructor(ctx) {
2052
+ super(ctx.parent, ctx.invokingState);
2053
+ this.copyFrom(ctx);
2054
+ }
2055
+ // @Override
2056
+ enterRule(listener) {
2057
+ if (listener.enterImpliesExpression) {
2058
+ listener.enterImpliesExpression(this);
2059
+ }
2060
+ }
2061
+ // @Override
2062
+ exitRule(listener) {
2063
+ if (listener.exitImpliesExpression) {
2064
+ listener.exitImpliesExpression(this);
2065
+ }
2066
+ }
2067
+ // @Override
2068
+ accept(visitor) {
2069
+ if (visitor.visitImpliesExpression) {
2070
+ return visitor.visitImpliesExpression(this);
2071
+ }
2072
+ else {
2073
+ return visitor.visitChildren(this);
2074
+ }
2075
+ }
2076
+ }
2077
+ exports.ImpliesExpressionContext = ImpliesExpressionContext;
2078
+ class TermContext extends ParserRuleContext_1.ParserRuleContext {
2079
+ constructor(parent, invokingState) {
2080
+ super(parent, invokingState);
2081
+ }
2082
+ // @Override
2083
+ get ruleIndex() {
2084
+ return fhirpathParser.RULE_term;
2085
+ }
2086
+ copyFrom(ctx) {
2087
+ super.copyFrom(ctx);
2088
+ }
2089
+ }
2090
+ exports.TermContext = TermContext;
2091
+ class InvocationTermContext extends TermContext {
2092
+ invocation() {
2093
+ return this.getRuleContext(0, InvocationContext);
2094
+ }
2095
+ constructor(ctx) {
2096
+ super(ctx.parent, ctx.invokingState);
2097
+ this.copyFrom(ctx);
2098
+ }
2099
+ // @Override
2100
+ enterRule(listener) {
2101
+ if (listener.enterInvocationTerm) {
2102
+ listener.enterInvocationTerm(this);
2103
+ }
2104
+ }
2105
+ // @Override
2106
+ exitRule(listener) {
2107
+ if (listener.exitInvocationTerm) {
2108
+ listener.exitInvocationTerm(this);
2109
+ }
2110
+ }
2111
+ // @Override
2112
+ accept(visitor) {
2113
+ if (visitor.visitInvocationTerm) {
2114
+ return visitor.visitInvocationTerm(this);
2115
+ }
2116
+ else {
2117
+ return visitor.visitChildren(this);
2118
+ }
2119
+ }
2120
+ }
2121
+ exports.InvocationTermContext = InvocationTermContext;
2122
+ class LiteralTermContext extends TermContext {
2123
+ literal() {
2124
+ return this.getRuleContext(0, LiteralContext);
2125
+ }
2126
+ constructor(ctx) {
2127
+ super(ctx.parent, ctx.invokingState);
2128
+ this.copyFrom(ctx);
2129
+ }
2130
+ // @Override
2131
+ enterRule(listener) {
2132
+ if (listener.enterLiteralTerm) {
2133
+ listener.enterLiteralTerm(this);
2134
+ }
2135
+ }
2136
+ // @Override
2137
+ exitRule(listener) {
2138
+ if (listener.exitLiteralTerm) {
2139
+ listener.exitLiteralTerm(this);
2140
+ }
2141
+ }
2142
+ // @Override
2143
+ accept(visitor) {
2144
+ if (visitor.visitLiteralTerm) {
2145
+ return visitor.visitLiteralTerm(this);
2146
+ }
2147
+ else {
2148
+ return visitor.visitChildren(this);
2149
+ }
2150
+ }
2151
+ }
2152
+ exports.LiteralTermContext = LiteralTermContext;
2153
+ class ExternalConstantTermContext extends TermContext {
2154
+ externalConstant() {
2155
+ return this.getRuleContext(0, ExternalConstantContext);
2156
+ }
2157
+ constructor(ctx) {
2158
+ super(ctx.parent, ctx.invokingState);
2159
+ this.copyFrom(ctx);
2160
+ }
2161
+ // @Override
2162
+ enterRule(listener) {
2163
+ if (listener.enterExternalConstantTerm) {
2164
+ listener.enterExternalConstantTerm(this);
2165
+ }
2166
+ }
2167
+ // @Override
2168
+ exitRule(listener) {
2169
+ if (listener.exitExternalConstantTerm) {
2170
+ listener.exitExternalConstantTerm(this);
2171
+ }
2172
+ }
2173
+ // @Override
2174
+ accept(visitor) {
2175
+ if (visitor.visitExternalConstantTerm) {
2176
+ return visitor.visitExternalConstantTerm(this);
2177
+ }
2178
+ else {
2179
+ return visitor.visitChildren(this);
2180
+ }
2181
+ }
2182
+ }
2183
+ exports.ExternalConstantTermContext = ExternalConstantTermContext;
2184
+ class ParenthesizedTermContext extends TermContext {
2185
+ expression() {
2186
+ return this.getRuleContext(0, ExpressionContext);
2187
+ }
2188
+ constructor(ctx) {
2189
+ super(ctx.parent, ctx.invokingState);
2190
+ this.copyFrom(ctx);
2191
+ }
2192
+ // @Override
2193
+ enterRule(listener) {
2194
+ if (listener.enterParenthesizedTerm) {
2195
+ listener.enterParenthesizedTerm(this);
2196
+ }
2197
+ }
2198
+ // @Override
2199
+ exitRule(listener) {
2200
+ if (listener.exitParenthesizedTerm) {
2201
+ listener.exitParenthesizedTerm(this);
2202
+ }
2203
+ }
2204
+ // @Override
2205
+ accept(visitor) {
2206
+ if (visitor.visitParenthesizedTerm) {
2207
+ return visitor.visitParenthesizedTerm(this);
2208
+ }
2209
+ else {
2210
+ return visitor.visitChildren(this);
2211
+ }
2212
+ }
2213
+ }
2214
+ exports.ParenthesizedTermContext = ParenthesizedTermContext;
2215
+ class LiteralContext extends ParserRuleContext_1.ParserRuleContext {
2216
+ constructor(parent, invokingState) {
2217
+ super(parent, invokingState);
2218
+ }
2219
+ // @Override
2220
+ get ruleIndex() {
2221
+ return fhirpathParser.RULE_literal;
2222
+ }
2223
+ copyFrom(ctx) {
2224
+ super.copyFrom(ctx);
2225
+ }
2226
+ }
2227
+ exports.LiteralContext = LiteralContext;
2228
+ class NullLiteralContext extends LiteralContext {
2229
+ constructor(ctx) {
2230
+ super(ctx.parent, ctx.invokingState);
2231
+ this.copyFrom(ctx);
2232
+ }
2233
+ // @Override
2234
+ enterRule(listener) {
2235
+ if (listener.enterNullLiteral) {
2236
+ listener.enterNullLiteral(this);
2237
+ }
2238
+ }
2239
+ // @Override
2240
+ exitRule(listener) {
2241
+ if (listener.exitNullLiteral) {
2242
+ listener.exitNullLiteral(this);
2243
+ }
2244
+ }
2245
+ // @Override
2246
+ accept(visitor) {
2247
+ if (visitor.visitNullLiteral) {
2248
+ return visitor.visitNullLiteral(this);
2249
+ }
2250
+ else {
2251
+ return visitor.visitChildren(this);
2252
+ }
2253
+ }
2254
+ }
2255
+ exports.NullLiteralContext = NullLiteralContext;
2256
+ class BooleanLiteralContext extends LiteralContext {
2257
+ constructor(ctx) {
2258
+ super(ctx.parent, ctx.invokingState);
2259
+ this.copyFrom(ctx);
2260
+ }
2261
+ // @Override
2262
+ enterRule(listener) {
2263
+ if (listener.enterBooleanLiteral) {
2264
+ listener.enterBooleanLiteral(this);
2265
+ }
2266
+ }
2267
+ // @Override
2268
+ exitRule(listener) {
2269
+ if (listener.exitBooleanLiteral) {
2270
+ listener.exitBooleanLiteral(this);
2271
+ }
2272
+ }
2273
+ // @Override
2274
+ accept(visitor) {
2275
+ if (visitor.visitBooleanLiteral) {
2276
+ return visitor.visitBooleanLiteral(this);
2277
+ }
2278
+ else {
2279
+ return visitor.visitChildren(this);
2280
+ }
2281
+ }
2282
+ }
2283
+ exports.BooleanLiteralContext = BooleanLiteralContext;
2284
+ class StringLiteralContext extends LiteralContext {
2285
+ STRING() {
2286
+ return this.getToken(fhirpathParser.STRING, 0);
2287
+ }
2288
+ constructor(ctx) {
2289
+ super(ctx.parent, ctx.invokingState);
2290
+ this.copyFrom(ctx);
2291
+ }
2292
+ // @Override
2293
+ enterRule(listener) {
2294
+ if (listener.enterStringLiteral) {
2295
+ listener.enterStringLiteral(this);
2296
+ }
2297
+ }
2298
+ // @Override
2299
+ exitRule(listener) {
2300
+ if (listener.exitStringLiteral) {
2301
+ listener.exitStringLiteral(this);
2302
+ }
2303
+ }
2304
+ // @Override
2305
+ accept(visitor) {
2306
+ if (visitor.visitStringLiteral) {
2307
+ return visitor.visitStringLiteral(this);
2308
+ }
2309
+ else {
2310
+ return visitor.visitChildren(this);
2311
+ }
2312
+ }
2313
+ }
2314
+ exports.StringLiteralContext = StringLiteralContext;
2315
+ class NumberLiteralContext extends LiteralContext {
2316
+ NUMBER() {
2317
+ return this.getToken(fhirpathParser.NUMBER, 0);
2318
+ }
2319
+ constructor(ctx) {
2320
+ super(ctx.parent, ctx.invokingState);
2321
+ this.copyFrom(ctx);
2322
+ }
2323
+ // @Override
2324
+ enterRule(listener) {
2325
+ if (listener.enterNumberLiteral) {
2326
+ listener.enterNumberLiteral(this);
2327
+ }
2328
+ }
2329
+ // @Override
2330
+ exitRule(listener) {
2331
+ if (listener.exitNumberLiteral) {
2332
+ listener.exitNumberLiteral(this);
2333
+ }
2334
+ }
2335
+ // @Override
2336
+ accept(visitor) {
2337
+ if (visitor.visitNumberLiteral) {
2338
+ return visitor.visitNumberLiteral(this);
2339
+ }
2340
+ else {
2341
+ return visitor.visitChildren(this);
2342
+ }
2343
+ }
2344
+ }
2345
+ exports.NumberLiteralContext = NumberLiteralContext;
2346
+ class LongNumberLiteralContext extends LiteralContext {
2347
+ LONGNUMBER() {
2348
+ return this.getToken(fhirpathParser.LONGNUMBER, 0);
2349
+ }
2350
+ constructor(ctx) {
2351
+ super(ctx.parent, ctx.invokingState);
2352
+ this.copyFrom(ctx);
2353
+ }
2354
+ // @Override
2355
+ enterRule(listener) {
2356
+ if (listener.enterLongNumberLiteral) {
2357
+ listener.enterLongNumberLiteral(this);
2358
+ }
2359
+ }
2360
+ // @Override
2361
+ exitRule(listener) {
2362
+ if (listener.exitLongNumberLiteral) {
2363
+ listener.exitLongNumberLiteral(this);
2364
+ }
2365
+ }
2366
+ // @Override
2367
+ accept(visitor) {
2368
+ if (visitor.visitLongNumberLiteral) {
2369
+ return visitor.visitLongNumberLiteral(this);
2370
+ }
2371
+ else {
2372
+ return visitor.visitChildren(this);
2373
+ }
2374
+ }
2375
+ }
2376
+ exports.LongNumberLiteralContext = LongNumberLiteralContext;
2377
+ class DateLiteralContext extends LiteralContext {
2378
+ DATE() {
2379
+ return this.getToken(fhirpathParser.DATE, 0);
2380
+ }
2381
+ constructor(ctx) {
2382
+ super(ctx.parent, ctx.invokingState);
2383
+ this.copyFrom(ctx);
2384
+ }
2385
+ // @Override
2386
+ enterRule(listener) {
2387
+ if (listener.enterDateLiteral) {
2388
+ listener.enterDateLiteral(this);
2389
+ }
2390
+ }
2391
+ // @Override
2392
+ exitRule(listener) {
2393
+ if (listener.exitDateLiteral) {
2394
+ listener.exitDateLiteral(this);
2395
+ }
2396
+ }
2397
+ // @Override
2398
+ accept(visitor) {
2399
+ if (visitor.visitDateLiteral) {
2400
+ return visitor.visitDateLiteral(this);
2401
+ }
2402
+ else {
2403
+ return visitor.visitChildren(this);
2404
+ }
2405
+ }
2406
+ }
2407
+ exports.DateLiteralContext = DateLiteralContext;
2408
+ class DateTimeLiteralContext extends LiteralContext {
2409
+ DATETIME() {
2410
+ return this.getToken(fhirpathParser.DATETIME, 0);
2411
+ }
2412
+ constructor(ctx) {
2413
+ super(ctx.parent, ctx.invokingState);
2414
+ this.copyFrom(ctx);
2415
+ }
2416
+ // @Override
2417
+ enterRule(listener) {
2418
+ if (listener.enterDateTimeLiteral) {
2419
+ listener.enterDateTimeLiteral(this);
2420
+ }
2421
+ }
2422
+ // @Override
2423
+ exitRule(listener) {
2424
+ if (listener.exitDateTimeLiteral) {
2425
+ listener.exitDateTimeLiteral(this);
2426
+ }
2427
+ }
2428
+ // @Override
2429
+ accept(visitor) {
2430
+ if (visitor.visitDateTimeLiteral) {
2431
+ return visitor.visitDateTimeLiteral(this);
2432
+ }
2433
+ else {
2434
+ return visitor.visitChildren(this);
2435
+ }
2436
+ }
2437
+ }
2438
+ exports.DateTimeLiteralContext = DateTimeLiteralContext;
2439
+ class TimeLiteralContext extends LiteralContext {
2440
+ TIME() {
2441
+ return this.getToken(fhirpathParser.TIME, 0);
2442
+ }
2443
+ constructor(ctx) {
2444
+ super(ctx.parent, ctx.invokingState);
2445
+ this.copyFrom(ctx);
2446
+ }
2447
+ // @Override
2448
+ enterRule(listener) {
2449
+ if (listener.enterTimeLiteral) {
2450
+ listener.enterTimeLiteral(this);
2451
+ }
2452
+ }
2453
+ // @Override
2454
+ exitRule(listener) {
2455
+ if (listener.exitTimeLiteral) {
2456
+ listener.exitTimeLiteral(this);
2457
+ }
2458
+ }
2459
+ // @Override
2460
+ accept(visitor) {
2461
+ if (visitor.visitTimeLiteral) {
2462
+ return visitor.visitTimeLiteral(this);
2463
+ }
2464
+ else {
2465
+ return visitor.visitChildren(this);
2466
+ }
2467
+ }
2468
+ }
2469
+ exports.TimeLiteralContext = TimeLiteralContext;
2470
+ class QuantityLiteralContext extends LiteralContext {
2471
+ quantity() {
2472
+ return this.getRuleContext(0, QuantityContext);
2473
+ }
2474
+ constructor(ctx) {
2475
+ super(ctx.parent, ctx.invokingState);
2476
+ this.copyFrom(ctx);
2477
+ }
2478
+ // @Override
2479
+ enterRule(listener) {
2480
+ if (listener.enterQuantityLiteral) {
2481
+ listener.enterQuantityLiteral(this);
2482
+ }
2483
+ }
2484
+ // @Override
2485
+ exitRule(listener) {
2486
+ if (listener.exitQuantityLiteral) {
2487
+ listener.exitQuantityLiteral(this);
2488
+ }
2489
+ }
2490
+ // @Override
2491
+ accept(visitor) {
2492
+ if (visitor.visitQuantityLiteral) {
2493
+ return visitor.visitQuantityLiteral(this);
2494
+ }
2495
+ else {
2496
+ return visitor.visitChildren(this);
2497
+ }
2498
+ }
2499
+ }
2500
+ exports.QuantityLiteralContext = QuantityLiteralContext;
2501
+ class ExternalConstantContext extends ParserRuleContext_1.ParserRuleContext {
2502
+ identifier() {
2503
+ return this.tryGetRuleContext(0, IdentifierContext);
2504
+ }
2505
+ STRING() {
2506
+ return this.tryGetToken(fhirpathParser.STRING, 0);
2507
+ }
2508
+ constructor(parent, invokingState) {
2509
+ super(parent, invokingState);
2510
+ }
2511
+ // @Override
2512
+ get ruleIndex() {
2513
+ return fhirpathParser.RULE_externalConstant;
2514
+ }
2515
+ // @Override
2516
+ enterRule(listener) {
2517
+ if (listener.enterExternalConstant) {
2518
+ listener.enterExternalConstant(this);
2519
+ }
2520
+ }
2521
+ // @Override
2522
+ exitRule(listener) {
2523
+ if (listener.exitExternalConstant) {
2524
+ listener.exitExternalConstant(this);
2525
+ }
2526
+ }
2527
+ // @Override
2528
+ accept(visitor) {
2529
+ if (visitor.visitExternalConstant) {
2530
+ return visitor.visitExternalConstant(this);
2531
+ }
2532
+ else {
2533
+ return visitor.visitChildren(this);
2534
+ }
2535
+ }
2536
+ }
2537
+ exports.ExternalConstantContext = ExternalConstantContext;
2538
+ class InvocationContext extends ParserRuleContext_1.ParserRuleContext {
2539
+ constructor(parent, invokingState) {
2540
+ super(parent, invokingState);
2541
+ }
2542
+ // @Override
2543
+ get ruleIndex() {
2544
+ return fhirpathParser.RULE_invocation;
2545
+ }
2546
+ copyFrom(ctx) {
2547
+ super.copyFrom(ctx);
2548
+ }
2549
+ }
2550
+ exports.InvocationContext = InvocationContext;
2551
+ class MemberInvocationContext extends InvocationContext {
2552
+ identifier() {
2553
+ return this.getRuleContext(0, IdentifierContext);
2554
+ }
2555
+ constructor(ctx) {
2556
+ super(ctx.parent, ctx.invokingState);
2557
+ this.copyFrom(ctx);
2558
+ }
2559
+ // @Override
2560
+ enterRule(listener) {
2561
+ if (listener.enterMemberInvocation) {
2562
+ listener.enterMemberInvocation(this);
2563
+ }
2564
+ }
2565
+ // @Override
2566
+ exitRule(listener) {
2567
+ if (listener.exitMemberInvocation) {
2568
+ listener.exitMemberInvocation(this);
2569
+ }
2570
+ }
2571
+ // @Override
2572
+ accept(visitor) {
2573
+ if (visitor.visitMemberInvocation) {
2574
+ return visitor.visitMemberInvocation(this);
2575
+ }
2576
+ else {
2577
+ return visitor.visitChildren(this);
2578
+ }
2579
+ }
2580
+ }
2581
+ exports.MemberInvocationContext = MemberInvocationContext;
2582
+ class FunctionInvocationContext extends InvocationContext {
2583
+ function() {
2584
+ return this.getRuleContext(0, FunctionContext);
2585
+ }
2586
+ constructor(ctx) {
2587
+ super(ctx.parent, ctx.invokingState);
2588
+ this.copyFrom(ctx);
2589
+ }
2590
+ // @Override
2591
+ enterRule(listener) {
2592
+ if (listener.enterFunctionInvocation) {
2593
+ listener.enterFunctionInvocation(this);
2594
+ }
2595
+ }
2596
+ // @Override
2597
+ exitRule(listener) {
2598
+ if (listener.exitFunctionInvocation) {
2599
+ listener.exitFunctionInvocation(this);
2600
+ }
2601
+ }
2602
+ // @Override
2603
+ accept(visitor) {
2604
+ if (visitor.visitFunctionInvocation) {
2605
+ return visitor.visitFunctionInvocation(this);
2606
+ }
2607
+ else {
2608
+ return visitor.visitChildren(this);
2609
+ }
2610
+ }
2611
+ }
2612
+ exports.FunctionInvocationContext = FunctionInvocationContext;
2613
+ class ThisInvocationContext extends InvocationContext {
2614
+ constructor(ctx) {
2615
+ super(ctx.parent, ctx.invokingState);
2616
+ this.copyFrom(ctx);
2617
+ }
2618
+ // @Override
2619
+ enterRule(listener) {
2620
+ if (listener.enterThisInvocation) {
2621
+ listener.enterThisInvocation(this);
2622
+ }
2623
+ }
2624
+ // @Override
2625
+ exitRule(listener) {
2626
+ if (listener.exitThisInvocation) {
2627
+ listener.exitThisInvocation(this);
2628
+ }
2629
+ }
2630
+ // @Override
2631
+ accept(visitor) {
2632
+ if (visitor.visitThisInvocation) {
2633
+ return visitor.visitThisInvocation(this);
2634
+ }
2635
+ else {
2636
+ return visitor.visitChildren(this);
2637
+ }
2638
+ }
2639
+ }
2640
+ exports.ThisInvocationContext = ThisInvocationContext;
2641
+ class IndexInvocationContext extends InvocationContext {
2642
+ constructor(ctx) {
2643
+ super(ctx.parent, ctx.invokingState);
2644
+ this.copyFrom(ctx);
2645
+ }
2646
+ // @Override
2647
+ enterRule(listener) {
2648
+ if (listener.enterIndexInvocation) {
2649
+ listener.enterIndexInvocation(this);
2650
+ }
2651
+ }
2652
+ // @Override
2653
+ exitRule(listener) {
2654
+ if (listener.exitIndexInvocation) {
2655
+ listener.exitIndexInvocation(this);
2656
+ }
2657
+ }
2658
+ // @Override
2659
+ accept(visitor) {
2660
+ if (visitor.visitIndexInvocation) {
2661
+ return visitor.visitIndexInvocation(this);
2662
+ }
2663
+ else {
2664
+ return visitor.visitChildren(this);
2665
+ }
2666
+ }
2667
+ }
2668
+ exports.IndexInvocationContext = IndexInvocationContext;
2669
+ class TotalInvocationContext extends InvocationContext {
2670
+ constructor(ctx) {
2671
+ super(ctx.parent, ctx.invokingState);
2672
+ this.copyFrom(ctx);
2673
+ }
2674
+ // @Override
2675
+ enterRule(listener) {
2676
+ if (listener.enterTotalInvocation) {
2677
+ listener.enterTotalInvocation(this);
2678
+ }
2679
+ }
2680
+ // @Override
2681
+ exitRule(listener) {
2682
+ if (listener.exitTotalInvocation) {
2683
+ listener.exitTotalInvocation(this);
2684
+ }
2685
+ }
2686
+ // @Override
2687
+ accept(visitor) {
2688
+ if (visitor.visitTotalInvocation) {
2689
+ return visitor.visitTotalInvocation(this);
2690
+ }
2691
+ else {
2692
+ return visitor.visitChildren(this);
2693
+ }
2694
+ }
2695
+ }
2696
+ exports.TotalInvocationContext = TotalInvocationContext;
2697
+ class FunctionContext extends ParserRuleContext_1.ParserRuleContext {
2698
+ identifier() {
2699
+ return this.getRuleContext(0, IdentifierContext);
2700
+ }
2701
+ paramList() {
2702
+ return this.tryGetRuleContext(0, ParamListContext);
2703
+ }
2704
+ constructor(parent, invokingState) {
2705
+ super(parent, invokingState);
2706
+ }
2707
+ // @Override
2708
+ get ruleIndex() {
2709
+ return fhirpathParser.RULE_function;
2710
+ }
2711
+ // @Override
2712
+ enterRule(listener) {
2713
+ if (listener.enterFunction) {
2714
+ listener.enterFunction(this);
2715
+ }
2716
+ }
2717
+ // @Override
2718
+ exitRule(listener) {
2719
+ if (listener.exitFunction) {
2720
+ listener.exitFunction(this);
2721
+ }
2722
+ }
2723
+ // @Override
2724
+ accept(visitor) {
2725
+ if (visitor.visitFunction) {
2726
+ return visitor.visitFunction(this);
2727
+ }
2728
+ else {
2729
+ return visitor.visitChildren(this);
2730
+ }
2731
+ }
2732
+ }
2733
+ exports.FunctionContext = FunctionContext;
2734
+ class ParamListContext extends ParserRuleContext_1.ParserRuleContext {
2735
+ expression(i) {
2736
+ if (i === undefined) {
2737
+ return this.getRuleContexts(ExpressionContext);
2738
+ }
2739
+ else {
2740
+ return this.getRuleContext(i, ExpressionContext);
2741
+ }
2742
+ }
2743
+ constructor(parent, invokingState) {
2744
+ super(parent, invokingState);
2745
+ }
2746
+ // @Override
2747
+ get ruleIndex() {
2748
+ return fhirpathParser.RULE_paramList;
2749
+ }
2750
+ // @Override
2751
+ enterRule(listener) {
2752
+ if (listener.enterParamList) {
2753
+ listener.enterParamList(this);
2754
+ }
2755
+ }
2756
+ // @Override
2757
+ exitRule(listener) {
2758
+ if (listener.exitParamList) {
2759
+ listener.exitParamList(this);
2760
+ }
2761
+ }
2762
+ // @Override
2763
+ accept(visitor) {
2764
+ if (visitor.visitParamList) {
2765
+ return visitor.visitParamList(this);
2766
+ }
2767
+ else {
2768
+ return visitor.visitChildren(this);
2769
+ }
2770
+ }
2771
+ }
2772
+ exports.ParamListContext = ParamListContext;
2773
+ class QuantityContext extends ParserRuleContext_1.ParserRuleContext {
2774
+ NUMBER() {
2775
+ return this.getToken(fhirpathParser.NUMBER, 0);
2776
+ }
2777
+ unit() {
2778
+ return this.tryGetRuleContext(0, UnitContext);
2779
+ }
2780
+ constructor(parent, invokingState) {
2781
+ super(parent, invokingState);
2782
+ }
2783
+ // @Override
2784
+ get ruleIndex() {
2785
+ return fhirpathParser.RULE_quantity;
2786
+ }
2787
+ // @Override
2788
+ enterRule(listener) {
2789
+ if (listener.enterQuantity) {
2790
+ listener.enterQuantity(this);
2791
+ }
2792
+ }
2793
+ // @Override
2794
+ exitRule(listener) {
2795
+ if (listener.exitQuantity) {
2796
+ listener.exitQuantity(this);
2797
+ }
2798
+ }
2799
+ // @Override
2800
+ accept(visitor) {
2801
+ if (visitor.visitQuantity) {
2802
+ return visitor.visitQuantity(this);
2803
+ }
2804
+ else {
2805
+ return visitor.visitChildren(this);
2806
+ }
2807
+ }
2808
+ }
2809
+ exports.QuantityContext = QuantityContext;
2810
+ class UnitContext extends ParserRuleContext_1.ParserRuleContext {
2811
+ dateTimePrecision() {
2812
+ return this.tryGetRuleContext(0, DateTimePrecisionContext);
2813
+ }
2814
+ pluralDateTimePrecision() {
2815
+ return this.tryGetRuleContext(0, PluralDateTimePrecisionContext);
2816
+ }
2817
+ STRING() {
2818
+ return this.tryGetToken(fhirpathParser.STRING, 0);
2819
+ }
2820
+ constructor(parent, invokingState) {
2821
+ super(parent, invokingState);
2822
+ }
2823
+ // @Override
2824
+ get ruleIndex() {
2825
+ return fhirpathParser.RULE_unit;
2826
+ }
2827
+ // @Override
2828
+ enterRule(listener) {
2829
+ if (listener.enterUnit) {
2830
+ listener.enterUnit(this);
2831
+ }
2832
+ }
2833
+ // @Override
2834
+ exitRule(listener) {
2835
+ if (listener.exitUnit) {
2836
+ listener.exitUnit(this);
2837
+ }
2838
+ }
2839
+ // @Override
2840
+ accept(visitor) {
2841
+ if (visitor.visitUnit) {
2842
+ return visitor.visitUnit(this);
2843
+ }
2844
+ else {
2845
+ return visitor.visitChildren(this);
2846
+ }
2847
+ }
2848
+ }
2849
+ exports.UnitContext = UnitContext;
2850
+ class DateTimePrecisionContext extends ParserRuleContext_1.ParserRuleContext {
2851
+ constructor(parent, invokingState) {
2852
+ super(parent, invokingState);
2853
+ }
2854
+ // @Override
2855
+ get ruleIndex() {
2856
+ return fhirpathParser.RULE_dateTimePrecision;
2857
+ }
2858
+ // @Override
2859
+ enterRule(listener) {
2860
+ if (listener.enterDateTimePrecision) {
2861
+ listener.enterDateTimePrecision(this);
2862
+ }
2863
+ }
2864
+ // @Override
2865
+ exitRule(listener) {
2866
+ if (listener.exitDateTimePrecision) {
2867
+ listener.exitDateTimePrecision(this);
2868
+ }
2869
+ }
2870
+ // @Override
2871
+ accept(visitor) {
2872
+ if (visitor.visitDateTimePrecision) {
2873
+ return visitor.visitDateTimePrecision(this);
2874
+ }
2875
+ else {
2876
+ return visitor.visitChildren(this);
2877
+ }
2878
+ }
2879
+ }
2880
+ exports.DateTimePrecisionContext = DateTimePrecisionContext;
2881
+ class PluralDateTimePrecisionContext extends ParserRuleContext_1.ParserRuleContext {
2882
+ constructor(parent, invokingState) {
2883
+ super(parent, invokingState);
2884
+ }
2885
+ // @Override
2886
+ get ruleIndex() {
2887
+ return fhirpathParser.RULE_pluralDateTimePrecision;
2888
+ }
2889
+ // @Override
2890
+ enterRule(listener) {
2891
+ if (listener.enterPluralDateTimePrecision) {
2892
+ listener.enterPluralDateTimePrecision(this);
2893
+ }
2894
+ }
2895
+ // @Override
2896
+ exitRule(listener) {
2897
+ if (listener.exitPluralDateTimePrecision) {
2898
+ listener.exitPluralDateTimePrecision(this);
2899
+ }
2900
+ }
2901
+ // @Override
2902
+ accept(visitor) {
2903
+ if (visitor.visitPluralDateTimePrecision) {
2904
+ return visitor.visitPluralDateTimePrecision(this);
2905
+ }
2906
+ else {
2907
+ return visitor.visitChildren(this);
2908
+ }
2909
+ }
2910
+ }
2911
+ exports.PluralDateTimePrecisionContext = PluralDateTimePrecisionContext;
2912
+ class TypeSpecifierContext extends ParserRuleContext_1.ParserRuleContext {
2913
+ qualifiedIdentifier() {
2914
+ return this.getRuleContext(0, QualifiedIdentifierContext);
2915
+ }
2916
+ constructor(parent, invokingState) {
2917
+ super(parent, invokingState);
2918
+ }
2919
+ // @Override
2920
+ get ruleIndex() {
2921
+ return fhirpathParser.RULE_typeSpecifier;
2922
+ }
2923
+ // @Override
2924
+ enterRule(listener) {
2925
+ if (listener.enterTypeSpecifier) {
2926
+ listener.enterTypeSpecifier(this);
2927
+ }
2928
+ }
2929
+ // @Override
2930
+ exitRule(listener) {
2931
+ if (listener.exitTypeSpecifier) {
2932
+ listener.exitTypeSpecifier(this);
2933
+ }
2934
+ }
2935
+ // @Override
2936
+ accept(visitor) {
2937
+ if (visitor.visitTypeSpecifier) {
2938
+ return visitor.visitTypeSpecifier(this);
2939
+ }
2940
+ else {
2941
+ return visitor.visitChildren(this);
2942
+ }
2943
+ }
2944
+ }
2945
+ exports.TypeSpecifierContext = TypeSpecifierContext;
2946
+ class QualifiedIdentifierContext extends ParserRuleContext_1.ParserRuleContext {
2947
+ identifier(i) {
2948
+ if (i === undefined) {
2949
+ return this.getRuleContexts(IdentifierContext);
2950
+ }
2951
+ else {
2952
+ return this.getRuleContext(i, IdentifierContext);
2953
+ }
2954
+ }
2955
+ constructor(parent, invokingState) {
2956
+ super(parent, invokingState);
2957
+ }
2958
+ // @Override
2959
+ get ruleIndex() {
2960
+ return fhirpathParser.RULE_qualifiedIdentifier;
2961
+ }
2962
+ // @Override
2963
+ enterRule(listener) {
2964
+ if (listener.enterQualifiedIdentifier) {
2965
+ listener.enterQualifiedIdentifier(this);
2966
+ }
2967
+ }
2968
+ // @Override
2969
+ exitRule(listener) {
2970
+ if (listener.exitQualifiedIdentifier) {
2971
+ listener.exitQualifiedIdentifier(this);
2972
+ }
2973
+ }
2974
+ // @Override
2975
+ accept(visitor) {
2976
+ if (visitor.visitQualifiedIdentifier) {
2977
+ return visitor.visitQualifiedIdentifier(this);
2978
+ }
2979
+ else {
2980
+ return visitor.visitChildren(this);
2981
+ }
2982
+ }
2983
+ }
2984
+ exports.QualifiedIdentifierContext = QualifiedIdentifierContext;
2985
+ class IdentifierContext extends ParserRuleContext_1.ParserRuleContext {
2986
+ IDENTIFIER() {
2987
+ return this.tryGetToken(fhirpathParser.IDENTIFIER, 0);
2988
+ }
2989
+ DELIMITEDIDENTIFIER() {
2990
+ return this.tryGetToken(fhirpathParser.DELIMITEDIDENTIFIER, 0);
2991
+ }
2992
+ constructor(parent, invokingState) {
2993
+ super(parent, invokingState);
2994
+ }
2995
+ // @Override
2996
+ get ruleIndex() {
2997
+ return fhirpathParser.RULE_identifier;
2998
+ }
2999
+ // @Override
3000
+ enterRule(listener) {
3001
+ if (listener.enterIdentifier) {
3002
+ listener.enterIdentifier(this);
3003
+ }
3004
+ }
3005
+ // @Override
3006
+ exitRule(listener) {
3007
+ if (listener.exitIdentifier) {
3008
+ listener.exitIdentifier(this);
3009
+ }
3010
+ }
3011
+ // @Override
3012
+ accept(visitor) {
3013
+ if (visitor.visitIdentifier) {
3014
+ return visitor.visitIdentifier(this);
3015
+ }
3016
+ else {
3017
+ return visitor.visitChildren(this);
3018
+ }
3019
+ }
3020
+ }
3021
+ exports.IdentifierContext = IdentifierContext;
3022
+ //# sourceMappingURL=fhirpathParser.js.map