ifc-expressions 2.3.0 → 3.0.0-beta.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 (185) hide show
  1. package/README.md +242 -30
  2. package/dist/IfcExpression.d.ts +24 -26
  3. package/dist/IfcExpressionErrorListener.d.ts +3 -3
  4. package/dist/IfcExpressionOptions.d.ts +4 -0
  5. package/dist/autocomplete/CompletionItem.d.ts +24 -0
  6. package/dist/autocomplete/IfcExpressionAutocomplete.d.ts +10 -0
  7. package/dist/builtin/BuiltinRuntimeValueConverter.d.ts +7 -0
  8. package/dist/builtin/BuiltinVariableRegistry.d.ts +50 -0
  9. package/dist/cjs/IfcExpression.js +112 -37
  10. package/dist/cjs/IfcExpression.js.map +1 -1
  11. package/dist/cjs/IfcExpressionErrorListener.js +3 -8
  12. package/dist/cjs/IfcExpressionErrorListener.js.map +1 -1
  13. package/dist/cjs/IfcExpressionOptions.js +3 -0
  14. package/dist/cjs/IfcExpressionOptions.js.map +1 -0
  15. package/dist/cjs/autocomplete/CompletionItem.js +3 -0
  16. package/dist/cjs/autocomplete/CompletionItem.js.map +1 -0
  17. package/dist/cjs/autocomplete/IfcExpressionAutocomplete.js +532 -0
  18. package/dist/cjs/autocomplete/IfcExpressionAutocomplete.js.map +1 -0
  19. package/dist/cjs/builtin/BuiltinRuntimeValueConverter.js +124 -0
  20. package/dist/cjs/builtin/BuiltinRuntimeValueConverter.js.map +1 -0
  21. package/dist/cjs/builtin/BuiltinVariableRegistry.js +405 -0
  22. package/dist/cjs/builtin/BuiltinVariableRegistry.js.map +1 -0
  23. package/dist/cjs/compiler/ExprCompiler.js +44 -41
  24. package/dist/cjs/compiler/ExprCompiler.js.map +1 -1
  25. package/dist/cjs/compiler/ExprManager.js.map +1 -1
  26. package/dist/cjs/compiler/IfcExpressionValidationListener.js +85 -25
  27. package/dist/cjs/compiler/IfcExpressionValidationListener.js.map +1 -1
  28. package/dist/cjs/compiler/TypeManager.js.map +1 -1
  29. package/dist/cjs/context/IfcExpressionContext.js.map +1 -1
  30. package/dist/cjs/context/NopContext.js +3 -0
  31. package/dist/cjs/context/NopContext.js.map +1 -1
  32. package/dist/cjs/documentation/Documentation.js +11 -0
  33. package/dist/cjs/documentation/Documentation.js.map +1 -0
  34. package/dist/cjs/error/ExpressionTypeError.js.map +1 -1
  35. package/dist/cjs/error/IfcExpressionBuiltinConfigException.js +10 -0
  36. package/dist/cjs/error/IfcExpressionBuiltinConfigException.js.map +1 -0
  37. package/dist/cjs/error/InvalidSyntaxException.js.map +1 -1
  38. package/dist/cjs/error/NoSuchFunctionException.js.map +1 -1
  39. package/dist/cjs/error/NoSuchMemberException.js +13 -0
  40. package/dist/cjs/error/NoSuchMemberException.js.map +1 -0
  41. package/dist/cjs/error/ValidationException.js.map +1 -1
  42. package/dist/cjs/error/WrongFunctionArgumentTypeException.js.map +1 -1
  43. package/dist/cjs/expression/ExprKind.js +3 -0
  44. package/dist/cjs/expression/ExprKind.js.map +1 -1
  45. package/dist/cjs/expression/function/Func.js +18 -14
  46. package/dist/cjs/expression/function/Func.js.map +1 -1
  47. package/dist/cjs/expression/function/FuncArg.js +11 -5
  48. package/dist/cjs/expression/function/FuncArg.js.map +1 -1
  49. package/dist/cjs/expression/function/IfcExpressionFunctions.js +198 -42
  50. package/dist/cjs/expression/function/IfcExpressionFunctions.js.map +1 -1
  51. package/dist/cjs/expression/function/impl/CHOOSE.js.map +1 -1
  52. package/dist/cjs/expression/function/impl/IF.js.map +1 -1
  53. package/dist/cjs/expression/function/impl/MAP.js.map +1 -1
  54. package/dist/cjs/expression/function/impl/ReplacePattern.js +20 -2
  55. package/dist/cjs/expression/function/impl/ReplacePattern.js.map +1 -1
  56. package/dist/cjs/expression/reference/BuiltinFunctionCallExpr.js +59 -0
  57. package/dist/cjs/expression/reference/BuiltinFunctionCallExpr.js.map +1 -0
  58. package/dist/cjs/expression/reference/BuiltinPropertyAccessExpr.js +34 -0
  59. package/dist/cjs/expression/reference/BuiltinPropertyAccessExpr.js.map +1 -0
  60. package/dist/cjs/expression/reference/BuiltinRootReferenceExpr.js +29 -0
  61. package/dist/cjs/expression/reference/BuiltinRootReferenceExpr.js.map +1 -0
  62. package/dist/cjs/gen/parser/IfcExpressionLexer.js +126 -104
  63. package/dist/cjs/gen/parser/IfcExpressionLexer.js.map +1 -1
  64. package/dist/cjs/gen/parser/IfcExpressionListener.js +7 -4
  65. package/dist/cjs/gen/parser/IfcExpressionListener.js.map +1 -1
  66. package/dist/cjs/gen/parser/IfcExpressionParser.js +739 -682
  67. package/dist/cjs/gen/parser/IfcExpressionParser.js.map +1 -1
  68. package/dist/cjs/gen/parser/IfcExpressionVisitor.js +4 -4
  69. package/dist/cjs/gen/parser/IfcExpressionVisitor.js.map +1 -1
  70. package/dist/cjs/index.js +4 -1
  71. package/dist/cjs/index.js.map +1 -1
  72. package/dist/cjs/type/ContextObjectType.js +45 -0
  73. package/dist/cjs/type/ContextObjectType.js.map +1 -0
  74. package/dist/cjs/type/Types.js +4 -6
  75. package/dist/cjs/type/Types.js.map +1 -1
  76. package/dist/cjs/value/ContextObjectValue.js +23 -0
  77. package/dist/cjs/value/ContextObjectValue.js.map +1 -0
  78. package/dist/cjs/value/ExpressionValue.js.map +1 -1
  79. package/dist/cjs/value/Value.js.map +1 -1
  80. package/dist/compiler/ExprCompiler.d.ts +8 -3
  81. package/dist/compiler/ExprManager.d.ts +1 -1
  82. package/dist/compiler/IfcExpressionValidationListener.d.ts +9 -3
  83. package/dist/compiler/TypeManager.d.ts +1 -1
  84. package/dist/context/IfcExpressionContext.d.ts +3 -4
  85. package/dist/context/NopContext.d.ts +1 -0
  86. package/dist/documentation/Documentation.d.ts +12 -0
  87. package/dist/error/ExpressionTypeError.d.ts +1 -1
  88. package/dist/error/IfcExpressionBuiltinConfigException.d.ts +3 -0
  89. package/dist/error/InvalidSyntaxException.d.ts +1 -1
  90. package/dist/error/NoSuchFunctionException.d.ts +1 -1
  91. package/dist/error/NoSuchMemberException.d.ts +6 -0
  92. package/dist/error/ValidationException.d.ts +1 -1
  93. package/dist/error/WrongFunctionArgumentTypeException.d.ts +1 -1
  94. package/dist/expression/ExprKind.d.ts +3 -0
  95. package/dist/expression/function/Func.d.ts +7 -21
  96. package/dist/expression/function/FuncArg.d.ts +6 -5
  97. package/dist/expression/function/IfcExpressionFunctions.d.ts +1 -0
  98. package/dist/expression/function/impl/CHOOSE.d.ts +1 -1
  99. package/dist/expression/function/impl/IF.d.ts +1 -1
  100. package/dist/expression/function/impl/MAP.d.ts +1 -1
  101. package/dist/expression/reference/BuiltinFunctionCallExpr.d.ts +19 -0
  102. package/dist/expression/reference/BuiltinPropertyAccessExpr.d.ts +15 -0
  103. package/dist/expression/reference/BuiltinRootReferenceExpr.d.ts +14 -0
  104. package/dist/gen/parser/IfcExpressionLexer.d.ts +9 -8
  105. package/dist/gen/parser/IfcExpressionListener.d.ts +89 -59
  106. package/dist/gen/parser/IfcExpressionParser.d.ts +192 -169
  107. package/dist/gen/parser/IfcExpressionVisitor.d.ts +51 -35
  108. package/dist/index.d.ts +2 -2
  109. package/dist/mjs/IfcExpression.js +104 -32
  110. package/dist/mjs/IfcExpression.js.map +1 -1
  111. package/dist/mjs/IfcExpressionErrorListener.js +3 -8
  112. package/dist/mjs/IfcExpressionErrorListener.js.map +1 -1
  113. package/dist/mjs/IfcExpressionOptions.js +2 -0
  114. package/dist/mjs/IfcExpressionOptions.js.map +1 -0
  115. package/dist/mjs/autocomplete/CompletionItem.js +2 -0
  116. package/dist/mjs/autocomplete/CompletionItem.js.map +1 -0
  117. package/dist/mjs/autocomplete/IfcExpressionAutocomplete.js +528 -0
  118. package/dist/mjs/autocomplete/IfcExpressionAutocomplete.js.map +1 -0
  119. package/dist/mjs/builtin/BuiltinRuntimeValueConverter.js +117 -0
  120. package/dist/mjs/builtin/BuiltinRuntimeValueConverter.js.map +1 -0
  121. package/dist/mjs/builtin/BuiltinVariableRegistry.js +399 -0
  122. package/dist/mjs/builtin/BuiltinVariableRegistry.js.map +1 -0
  123. package/dist/mjs/compiler/ExprCompiler.js +43 -40
  124. package/dist/mjs/compiler/ExprCompiler.js.map +1 -1
  125. package/dist/mjs/compiler/ExprManager.js.map +1 -1
  126. package/dist/mjs/compiler/IfcExpressionValidationListener.js +85 -22
  127. package/dist/mjs/compiler/IfcExpressionValidationListener.js.map +1 -1
  128. package/dist/mjs/compiler/TypeManager.js.map +1 -1
  129. package/dist/mjs/context/IfcExpressionContext.js.map +1 -1
  130. package/dist/mjs/context/NopContext.js +3 -0
  131. package/dist/mjs/context/NopContext.js.map +1 -1
  132. package/dist/mjs/documentation/Documentation.js +7 -0
  133. package/dist/mjs/documentation/Documentation.js.map +1 -0
  134. package/dist/mjs/error/ExpressionTypeError.js.map +1 -1
  135. package/dist/mjs/error/IfcExpressionBuiltinConfigException.js +6 -0
  136. package/dist/mjs/error/IfcExpressionBuiltinConfigException.js.map +1 -0
  137. package/dist/mjs/error/InvalidSyntaxException.js.map +1 -1
  138. package/dist/mjs/error/NoSuchFunctionException.js.map +1 -1
  139. package/dist/mjs/error/NoSuchMemberException.js +9 -0
  140. package/dist/mjs/error/NoSuchMemberException.js.map +1 -0
  141. package/dist/mjs/error/ValidationException.js.map +1 -1
  142. package/dist/mjs/error/WrongFunctionArgumentTypeException.js.map +1 -1
  143. package/dist/mjs/expression/ExprKind.js +3 -0
  144. package/dist/mjs/expression/ExprKind.js.map +1 -1
  145. package/dist/mjs/expression/function/Func.js +18 -14
  146. package/dist/mjs/expression/function/Func.js.map +1 -1
  147. package/dist/mjs/expression/function/FuncArg.js +11 -5
  148. package/dist/mjs/expression/function/FuncArg.js.map +1 -1
  149. package/dist/mjs/expression/function/IfcExpressionFunctions.js +198 -42
  150. package/dist/mjs/expression/function/IfcExpressionFunctions.js.map +1 -1
  151. package/dist/mjs/expression/function/impl/CHOOSE.js.map +1 -1
  152. package/dist/mjs/expression/function/impl/IF.js.map +1 -1
  153. package/dist/mjs/expression/function/impl/MAP.js.map +1 -1
  154. package/dist/mjs/expression/function/impl/ReplacePattern.js +20 -2
  155. package/dist/mjs/expression/function/impl/ReplacePattern.js.map +1 -1
  156. package/dist/mjs/expression/reference/BuiltinFunctionCallExpr.js +55 -0
  157. package/dist/mjs/expression/reference/BuiltinFunctionCallExpr.js.map +1 -0
  158. package/dist/mjs/expression/reference/BuiltinPropertyAccessExpr.js +30 -0
  159. package/dist/mjs/expression/reference/BuiltinPropertyAccessExpr.js.map +1 -0
  160. package/dist/mjs/expression/reference/BuiltinRootReferenceExpr.js +25 -0
  161. package/dist/mjs/expression/reference/BuiltinRootReferenceExpr.js.map +1 -0
  162. package/dist/mjs/gen/parser/IfcExpressionLexer.js +101 -104
  163. package/dist/mjs/gen/parser/IfcExpressionLexer.js.map +1 -1
  164. package/dist/mjs/gen/parser/IfcExpressionListener.js +5 -3
  165. package/dist/mjs/gen/parser/IfcExpressionListener.js.map +1 -1
  166. package/dist/mjs/gen/parser/IfcExpressionParser.js +700 -670
  167. package/dist/mjs/gen/parser/IfcExpressionParser.js.map +1 -1
  168. package/dist/mjs/gen/parser/IfcExpressionVisitor.js +2 -3
  169. package/dist/mjs/gen/parser/IfcExpressionVisitor.js.map +1 -1
  170. package/dist/mjs/index.js +1 -1
  171. package/dist/mjs/index.js.map +1 -1
  172. package/dist/mjs/type/ContextObjectType.js +41 -0
  173. package/dist/mjs/type/ContextObjectType.js.map +1 -0
  174. package/dist/mjs/type/Types.js +4 -6
  175. package/dist/mjs/type/Types.js.map +1 -1
  176. package/dist/mjs/value/ContextObjectValue.js +19 -0
  177. package/dist/mjs/value/ContextObjectValue.js.map +1 -0
  178. package/dist/mjs/value/ExpressionValue.js.map +1 -1
  179. package/dist/mjs/value/Value.js.map +1 -1
  180. package/dist/type/ContextObjectType.d.ts +17 -0
  181. package/dist/type/Types.d.ts +2 -6
  182. package/dist/value/ContextObjectValue.d.ts +11 -0
  183. package/dist/value/ExpressionValue.d.ts +2 -1
  184. package/dist/value/Value.d.ts +1 -1
  185. package/package.json +5 -3
@@ -1,40 +1,59 @@
1
1
  "use strict";
2
- // Generated from IfcExpression.g4 by ANTLR 4.13.0
3
- // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
4
25
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.VariableRefContext = exports.LogicalLiteralContext = exports.BooleanLiteralContext = exports.StringLiteralContext = exports.NumLiteralContext = exports.LiteralContext = exports.ArrayElementListContext = exports.ArrayExprContext = exports.ExprListContext = exports.FunctionCallContext = exports.MethodCallChainEndContext = exports.MethodCallChainInnerContext = exports.MethodCallChainContext = exports.SEMethodCallContext = exports.SEAddSubContext = exports.SEUnaryMinusContext = exports.SEUnaryMultipleMinusContext = exports.SEVariableRefContext = exports.SENotContext = exports.SEArrayExprContext = exports.SEFunctionCallContext = exports.SEBooleanBinaryOpContext = exports.SEPowerContext = exports.SEMulDivContext = exports.SEParenthesisContext = exports.SELiteralContext = exports.SEComparisonContext = exports.SingleExprContext = exports.ExprContext = void 0;
6
- const antlr4_1 = require("antlr4");
7
- class IfcExpressionParser extends antlr4_1.Parser {
26
+ exports.VariableRefContext = exports.LogicalLiteralContext = exports.BooleanLiteralContext = exports.StringLiteralContext = exports.NumLiteralContext = exports.LiteralContext = exports.ArrayElementListContext = exports.ArrayExprContext = exports.ExprListContext = exports.FunctionCallContext = exports.MethodPropertyAccessContext = exports.MethodFunctionCallContext = exports.MethodAccessorContext = exports.MethodCallChainEndContext = exports.MethodCallChainInnerContext = exports.MethodCallChainContext = exports.SEMethodCallContext = exports.SEBooleanBinaryOpContext = exports.SEComparisonContext = exports.SEAddSubContext = exports.SEMulDivContext = exports.SEPowerContext = exports.SEArrayExprContext = exports.SELiteralContext = exports.SEFunctionCallContext = exports.SEVariableRefContext = exports.SENotContext = exports.SEUnaryMinusContext = exports.SEParenthesisContext = exports.SEUnaryMultipleMinusContext = exports.SingleExprContext = exports.ExprContext = exports.IfcExpressionParser = void 0;
27
+ const antlr = __importStar(require("antlr4ng"));
28
+ class IfcExpressionParser extends antlr.Parser {
8
29
  get grammarFileName() { return "IfcExpression.g4"; }
9
30
  get literalNames() { return IfcExpressionParser.literalNames; }
10
31
  get symbolicNames() { return IfcExpressionParser.symbolicNames; }
11
32
  get ruleNames() { return IfcExpressionParser.ruleNames; }
12
33
  get serializedATN() { return IfcExpressionParser._serializedATN; }
13
34
  createFailedPredicateException(predicate, message) {
14
- return new antlr4_1.FailedPredicateException(this, predicate, message);
35
+ return new antlr.FailedPredicateException(this, predicate, message);
15
36
  }
16
37
  constructor(input) {
17
38
  super(input);
18
- this._interp = new antlr4_1.ParserATNSimulator(this, IfcExpressionParser._ATN, IfcExpressionParser.DecisionsToDFA, new antlr4_1.PredictionContextCache());
39
+ this.interpreter = new antlr.ParserATNSimulator(this, IfcExpressionParser._ATN, IfcExpressionParser.decisionsToDFA, new antlr.PredictionContextCache());
19
40
  }
20
- // @RuleVersion(0)
21
41
  expr() {
22
- let localctx = new ExprContext(this, this._ctx, this.state);
23
- this.enterRule(localctx, 0, IfcExpressionParser.RULE_expr);
42
+ let localContext = new ExprContext(this.context, this.state);
43
+ this.enterRule(localContext, 0, IfcExpressionParser.RULE_expr);
24
44
  try {
25
- this.enterOuterAlt(localctx, 1);
45
+ this.enterOuterAlt(localContext, 1);
26
46
  {
27
- this.state = 26;
47
+ this.state = 28;
28
48
  this.singleExpr(0);
29
- this.state = 27;
49
+ this.state = 29;
30
50
  this.match(IfcExpressionParser.EOF);
31
51
  }
32
52
  }
33
53
  catch (re) {
34
- if (re instanceof antlr4_1.RecognitionException) {
35
- localctx.exception = re;
36
- this._errHandler.reportError(this, re);
37
- this._errHandler.recover(this, re);
54
+ if (re instanceof antlr.RecognitionException) {
55
+ this.errorHandler.reportError(this, re);
56
+ this.errorHandler.recover(this, re);
38
57
  }
39
58
  else {
40
59
  throw re;
@@ -43,295 +62,291 @@ class IfcExpressionParser extends antlr4_1.Parser {
43
62
  finally {
44
63
  this.exitRule();
45
64
  }
46
- return localctx;
65
+ return localContext;
47
66
  }
48
- // @RuleVersion(0)
49
67
  singleExpr(_p) {
50
68
  if (_p === undefined) {
51
69
  _p = 0;
52
70
  }
53
- let _parentctx = this._ctx;
54
- let _parentState = this.state;
55
- let localctx = new SingleExprContext(this, this._ctx, _parentState);
56
- let _prevctx = localctx;
71
+ let parentContext = this.context;
72
+ let parentState = this.state;
73
+ let localContext = new SingleExprContext(this.context, parentState);
74
+ let previousContext = localContext;
57
75
  let _startState = 2;
58
- this.enterRecursionRule(localctx, 2, IfcExpressionParser.RULE_singleExpr, _p);
76
+ this.enterRecursionRule(localContext, 2, IfcExpressionParser.RULE_singleExpr, _p);
59
77
  let _la;
60
78
  try {
61
- let _alt;
62
- this.enterOuterAlt(localctx, 1);
79
+ let alternative;
80
+ this.enterOuterAlt(localContext, 1);
63
81
  {
64
- this.state = 44;
65
- this._errHandler.sync(this);
66
- switch (this._input.LA(1)) {
67
- case 1:
82
+ this.state = 46;
83
+ this.errorHandler.sync(this);
84
+ switch (this.tokenStream.LA(1)) {
85
+ case IfcExpressionParser.T__0:
68
86
  {
69
- localctx = new SEUnaryMultipleMinusContext(this, localctx);
70
- this._ctx = localctx;
71
- _prevctx = localctx;
72
- this.state = 30;
87
+ localContext = new SEUnaryMultipleMinusContext(localContext);
88
+ this.context = localContext;
89
+ previousContext = localContext;
90
+ this.state = 32;
73
91
  this.match(IfcExpressionParser.T__0);
74
- this.state = 31;
75
- localctx._sub = this.singleExpr(14);
92
+ this.state = 33;
93
+ localContext._sub = this.singleExpr(14);
76
94
  }
77
95
  break;
78
- case 2:
96
+ case IfcExpressionParser.T__1:
79
97
  {
80
- localctx = new SEParenthesisContext(this, localctx);
81
- this._ctx = localctx;
82
- _prevctx = localctx;
83
- this.state = 32;
84
- this.match(IfcExpressionParser.T__1);
85
- this.state = 33;
86
- localctx._sub = this.singleExpr(0);
98
+ localContext = new SEParenthesisContext(localContext);
99
+ this.context = localContext;
100
+ previousContext = localContext;
87
101
  this.state = 34;
102
+ this.match(IfcExpressionParser.T__1);
103
+ this.state = 35;
104
+ localContext._sub = this.singleExpr(0);
105
+ this.state = 36;
88
106
  this.match(IfcExpressionParser.T__2);
89
107
  }
90
108
  break;
91
- case 4:
109
+ case IfcExpressionParser.T__3:
92
110
  {
93
- localctx = new SEUnaryMinusContext(this, localctx);
94
- this._ctx = localctx;
95
- _prevctx = localctx;
96
- this.state = 36;
111
+ localContext = new SEUnaryMinusContext(localContext);
112
+ this.context = localContext;
113
+ previousContext = localContext;
114
+ this.state = 38;
97
115
  this.match(IfcExpressionParser.T__3);
98
- this.state = 37;
99
- localctx._sub = this.singleExpr(12);
116
+ this.state = 39;
117
+ localContext._sub = this.singleExpr(12);
100
118
  }
101
119
  break;
102
- case 9:
120
+ case IfcExpressionParser.T__8:
103
121
  {
104
- localctx = new SENotContext(this, localctx);
105
- this._ctx = localctx;
106
- _prevctx = localctx;
107
- this.state = 38;
122
+ localContext = new SENotContext(localContext);
123
+ this.context = localContext;
124
+ previousContext = localContext;
125
+ this.state = 40;
108
126
  this.match(IfcExpressionParser.T__8);
109
- this.state = 39;
110
- localctx._sub = this.singleExpr(6);
127
+ this.state = 41;
128
+ localContext._sub = this.singleExpr(6);
111
129
  }
112
130
  break;
113
- case 13:
131
+ case IfcExpressionParser.T__12:
114
132
  {
115
- localctx = new SEVariableRefContext(this, localctx);
116
- this._ctx = localctx;
117
- _prevctx = localctx;
118
- this.state = 40;
119
- localctx._sub = this.variableRef();
133
+ localContext = new SEVariableRefContext(localContext);
134
+ this.context = localContext;
135
+ previousContext = localContext;
136
+ this.state = 42;
137
+ localContext._sub = this.variableRef();
120
138
  }
121
139
  break;
122
- case 20:
140
+ case IfcExpressionParser.IDENTIFIER:
123
141
  {
124
- localctx = new SEFunctionCallContext(this, localctx);
125
- this._ctx = localctx;
126
- _prevctx = localctx;
127
- this.state = 41;
128
- localctx._sub = this.functionCall();
142
+ localContext = new SEFunctionCallContext(localContext);
143
+ this.context = localContext;
144
+ previousContext = localContext;
145
+ this.state = 43;
146
+ localContext._sub = this.functionCall();
129
147
  }
130
148
  break;
131
- case 14:
132
- case 15:
133
- case 16:
134
- case 17:
135
- case 19:
149
+ case IfcExpressionParser.INT:
150
+ case IfcExpressionParser.FLOAT:
151
+ case IfcExpressionParser.BOOLEAN:
152
+ case IfcExpressionParser.LOGICAL_UNKNOWN:
153
+ case IfcExpressionParser.QUOTED_STRING:
136
154
  {
137
- localctx = new SELiteralContext(this, localctx);
138
- this._ctx = localctx;
139
- _prevctx = localctx;
140
- this.state = 42;
141
- localctx._sub = this.literal();
155
+ localContext = new SELiteralContext(localContext);
156
+ this.context = localContext;
157
+ previousContext = localContext;
158
+ this.state = 44;
159
+ localContext._sub = this.literal();
142
160
  }
143
161
  break;
144
- case 11:
162
+ case IfcExpressionParser.T__10:
145
163
  {
146
- localctx = new SEArrayExprContext(this, localctx);
147
- this._ctx = localctx;
148
- _prevctx = localctx;
149
- this.state = 43;
150
- localctx._sub = this.arrayExpr();
164
+ localContext = new SEArrayExprContext(localContext);
165
+ this.context = localContext;
166
+ previousContext = localContext;
167
+ this.state = 45;
168
+ localContext._sub = this.arrayExpr();
151
169
  }
152
170
  break;
153
171
  default:
154
- throw new antlr4_1.NoViableAltException(this);
172
+ throw new antlr.NoViableAltException(this);
155
173
  }
156
- this._ctx.stop = this._input.LT(-1);
157
- this.state = 65;
158
- this._errHandler.sync(this);
159
- _alt = this._interp.adaptivePredict(this._input, 2, this._ctx);
160
- while (_alt !== 2 && _alt !== antlr4_1.ATN.INVALID_ALT_NUMBER) {
161
- if (_alt === 1) {
162
- if (this._parseListeners != null) {
174
+ this.context.stop = this.tokenStream.LT(-1);
175
+ this.state = 67;
176
+ this.errorHandler.sync(this);
177
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 2, this.context);
178
+ while (alternative !== 2 && alternative !== antlr.ATN.INVALID_ALT_NUMBER) {
179
+ if (alternative === 1) {
180
+ if (this.parseListeners != null) {
163
181
  this.triggerExitRuleEvent();
164
182
  }
165
- _prevctx = localctx;
183
+ previousContext = localContext;
166
184
  {
167
- this.state = 63;
168
- this._errHandler.sync(this);
169
- switch (this._interp.adaptivePredict(this._input, 1, this._ctx)) {
185
+ this.state = 65;
186
+ this.errorHandler.sync(this);
187
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 1, this.context)) {
170
188
  case 1:
171
189
  {
172
- localctx = new SEPowerContext(this, new SingleExprContext(this, _parentctx, _parentState));
173
- localctx._left = _prevctx;
174
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
175
- this.state = 46;
176
- if (!(this.precpred(this._ctx, 11))) {
177
- throw this.createFailedPredicateException("this.precpred(this._ctx, 11)");
178
- }
179
- this.state = 47;
180
- localctx._op = this.match(IfcExpressionParser.T__4);
190
+ localContext = new SEPowerContext(new SingleExprContext(parentContext, parentState));
191
+ localContext._left = previousContext;
192
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
181
193
  this.state = 48;
182
- localctx._right = this.singleExpr(11);
194
+ if (!(this.precpred(this.context, 11))) {
195
+ throw this.createFailedPredicateException("this.precpred(this.context, 11)");
196
+ }
197
+ this.state = 49;
198
+ localContext._op = this.match(IfcExpressionParser.T__4);
199
+ this.state = 50;
200
+ localContext._right = this.singleExpr(11);
183
201
  }
184
202
  break;
185
203
  case 2:
186
204
  {
187
- localctx = new SEMulDivContext(this, new SingleExprContext(this, _parentctx, _parentState));
188
- localctx._left = _prevctx;
189
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
190
- this.state = 49;
191
- if (!(this.precpred(this._ctx, 9))) {
192
- throw this.createFailedPredicateException("this.precpred(this._ctx, 9)");
205
+ localContext = new SEMulDivContext(new SingleExprContext(parentContext, parentState));
206
+ localContext._left = previousContext;
207
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
208
+ this.state = 51;
209
+ if (!(this.precpred(this.context, 9))) {
210
+ throw this.createFailedPredicateException("this.precpred(this.context, 9)");
193
211
  }
194
- this.state = 50;
195
- localctx._op = this._input.LT(1);
196
- _la = this._input.LA(1);
212
+ this.state = 52;
213
+ localContext._op = this.tokenStream.LT(1);
214
+ _la = this.tokenStream.LA(1);
197
215
  if (!(_la === 6 || _la === 7)) {
198
- localctx._op = this._errHandler.recoverInline(this);
216
+ localContext._op = this.errorHandler.recoverInline(this);
199
217
  }
200
218
  else {
201
- this._errHandler.reportMatch(this);
219
+ this.errorHandler.reportMatch(this);
202
220
  this.consume();
203
221
  }
204
- this.state = 51;
205
- localctx._right = this.singleExpr(10);
222
+ this.state = 53;
223
+ localContext._right = this.singleExpr(10);
206
224
  }
207
225
  break;
208
226
  case 3:
209
227
  {
210
- localctx = new SEAddSubContext(this, new SingleExprContext(this, _parentctx, _parentState));
211
- localctx._left = _prevctx;
212
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
213
- this.state = 52;
214
- if (!(this.precpred(this._ctx, 8))) {
215
- throw this.createFailedPredicateException("this.precpred(this._ctx, 8)");
228
+ localContext = new SEAddSubContext(new SingleExprContext(parentContext, parentState));
229
+ localContext._left = previousContext;
230
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
231
+ this.state = 54;
232
+ if (!(this.precpred(this.context, 8))) {
233
+ throw this.createFailedPredicateException("this.precpred(this.context, 8)");
216
234
  }
217
- this.state = 53;
218
- localctx._op = this._input.LT(1);
219
- _la = this._input.LA(1);
235
+ this.state = 55;
236
+ localContext._op = this.tokenStream.LT(1);
237
+ _la = this.tokenStream.LA(1);
220
238
  if (!(_la === 4 || _la === 8)) {
221
- localctx._op = this._errHandler.recoverInline(this);
239
+ localContext._op = this.errorHandler.recoverInline(this);
222
240
  }
223
241
  else {
224
- this._errHandler.reportMatch(this);
242
+ this.errorHandler.reportMatch(this);
225
243
  this.consume();
226
244
  }
227
- this.state = 54;
228
- localctx._right = this.singleExpr(9);
245
+ this.state = 56;
246
+ localContext._right = this.singleExpr(9);
229
247
  }
230
248
  break;
231
249
  case 4:
232
250
  {
233
- localctx = new SEComparisonContext(this, new SingleExprContext(this, _parentctx, _parentState));
234
- localctx._left = _prevctx;
235
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
236
- this.state = 55;
237
- if (!(this.precpred(this._ctx, 7))) {
238
- throw this.createFailedPredicateException("this.precpred(this._ctx, 7)");
251
+ localContext = new SEComparisonContext(new SingleExprContext(parentContext, parentState));
252
+ localContext._left = previousContext;
253
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
254
+ this.state = 57;
255
+ if (!(this.precpred(this.context, 7))) {
256
+ throw this.createFailedPredicateException("this.precpred(this.context, 7)");
239
257
  }
240
- this.state = 56;
258
+ this.state = 58;
241
259
  this.match(IfcExpressionParser.CMP_OP);
242
- this.state = 57;
243
- localctx._right = this.singleExpr(8);
260
+ this.state = 59;
261
+ localContext._right = this.singleExpr(8);
244
262
  }
245
263
  break;
246
264
  case 5:
247
265
  {
248
- localctx = new SEBooleanBinaryOpContext(this, new SingleExprContext(this, _parentctx, _parentState));
249
- localctx._left = _prevctx;
250
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
251
- this.state = 58;
252
- if (!(this.precpred(this._ctx, 5))) {
253
- throw this.createFailedPredicateException("this.precpred(this._ctx, 5)");
254
- }
255
- this.state = 59;
256
- localctx._op = this.match(IfcExpressionParser.BOOLEAN_BINARY_OP);
266
+ localContext = new SEBooleanBinaryOpContext(new SingleExprContext(parentContext, parentState));
267
+ localContext._left = previousContext;
268
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
257
269
  this.state = 60;
258
- localctx._right = this.singleExpr(6);
270
+ if (!(this.precpred(this.context, 5))) {
271
+ throw this.createFailedPredicateException("this.precpred(this.context, 5)");
272
+ }
273
+ this.state = 61;
274
+ localContext._op = this.match(IfcExpressionParser.BOOLEAN_BINARY_OP);
275
+ this.state = 62;
276
+ localContext._right = this.singleExpr(6);
259
277
  }
260
278
  break;
261
279
  case 6:
262
280
  {
263
- localctx = new SEMethodCallContext(this, new SingleExprContext(this, _parentctx, _parentState));
264
- localctx._target = _prevctx;
265
- this.pushNewRecursionContext(localctx, _startState, IfcExpressionParser.RULE_singleExpr);
266
- this.state = 61;
267
- if (!(this.precpred(this._ctx, 10))) {
268
- throw this.createFailedPredicateException("this.precpred(this._ctx, 10)");
281
+ localContext = new SEMethodCallContext(new SingleExprContext(parentContext, parentState));
282
+ localContext._target = previousContext;
283
+ this.pushNewRecursionContext(localContext, _startState, IfcExpressionParser.RULE_singleExpr);
284
+ this.state = 63;
285
+ if (!(this.precpred(this.context, 10))) {
286
+ throw this.createFailedPredicateException("this.precpred(this.context, 10)");
269
287
  }
270
- this.state = 62;
271
- localctx._call = this.methodCallChain();
288
+ this.state = 64;
289
+ localContext._call = this.methodCallChain();
272
290
  }
273
291
  break;
274
292
  }
275
293
  }
276
294
  }
277
- this.state = 67;
278
- this._errHandler.sync(this);
279
- _alt = this._interp.adaptivePredict(this._input, 2, this._ctx);
295
+ this.state = 69;
296
+ this.errorHandler.sync(this);
297
+ alternative = this.interpreter.adaptivePredict(this.tokenStream, 2, this.context);
280
298
  }
281
299
  }
282
300
  }
283
301
  catch (re) {
284
- if (re instanceof antlr4_1.RecognitionException) {
285
- localctx.exception = re;
286
- this._errHandler.reportError(this, re);
287
- this._errHandler.recover(this, re);
302
+ if (re instanceof antlr.RecognitionException) {
303
+ this.errorHandler.reportError(this, re);
304
+ this.errorHandler.recover(this, re);
288
305
  }
289
306
  else {
290
307
  throw re;
291
308
  }
292
309
  }
293
310
  finally {
294
- this.unrollRecursionContexts(_parentctx);
311
+ this.unrollRecursionContexts(parentContext);
295
312
  }
296
- return localctx;
313
+ return localContext;
297
314
  }
298
- // @RuleVersion(0)
299
315
  methodCallChain() {
300
- let localctx = new MethodCallChainContext(this, this._ctx, this.state);
301
- this.enterRule(localctx, 4, IfcExpressionParser.RULE_methodCallChain);
316
+ let localContext = new MethodCallChainContext(this.context, this.state);
317
+ this.enterRule(localContext, 4, IfcExpressionParser.RULE_methodCallChain);
302
318
  try {
303
- this.state = 74;
304
- this._errHandler.sync(this);
305
- switch (this._interp.adaptivePredict(this._input, 3, this._ctx)) {
319
+ this.state = 76;
320
+ this.errorHandler.sync(this);
321
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 3, this.context)) {
306
322
  case 1:
307
- localctx = new MethodCallChainInnerContext(this, localctx);
308
- this.enterOuterAlt(localctx, 1);
323
+ localContext = new MethodCallChainInnerContext(localContext);
324
+ this.enterOuterAlt(localContext, 1);
309
325
  {
310
- this.state = 68;
311
- this.match(IfcExpressionParser.DOT);
312
- this.state = 69;
313
- localctx._target = this.functionCall();
314
326
  this.state = 70;
315
- localctx._call = this.methodCallChain();
327
+ this.match(IfcExpressionParser.DOT);
328
+ this.state = 71;
329
+ localContext._target = this.methodAccessor();
330
+ this.state = 72;
331
+ localContext._call = this.methodCallChain();
316
332
  }
317
333
  break;
318
334
  case 2:
319
- localctx = new MethodCallChainEndContext(this, localctx);
320
- this.enterOuterAlt(localctx, 2);
335
+ localContext = new MethodCallChainEndContext(localContext);
336
+ this.enterOuterAlt(localContext, 2);
321
337
  {
322
- this.state = 72;
338
+ this.state = 74;
323
339
  this.match(IfcExpressionParser.DOT);
324
- this.state = 73;
325
- localctx._call = this.functionCall();
340
+ this.state = 75;
341
+ localContext._call = this.methodAccessor();
326
342
  }
327
343
  break;
328
344
  }
329
345
  }
330
346
  catch (re) {
331
- if (re instanceof antlr4_1.RecognitionException) {
332
- localctx.exception = re;
333
- this._errHandler.reportError(this, re);
334
- this._errHandler.recover(this, re);
347
+ if (re instanceof antlr.RecognitionException) {
348
+ this.errorHandler.reportError(this, re);
349
+ this.errorHandler.recover(this, re);
335
350
  }
336
351
  else {
337
352
  throw re;
@@ -340,38 +355,75 @@ class IfcExpressionParser extends antlr4_1.Parser {
340
355
  finally {
341
356
  this.exitRule();
342
357
  }
343
- return localctx;
358
+ return localContext;
359
+ }
360
+ methodAccessor() {
361
+ let localContext = new MethodAccessorContext(this.context, this.state);
362
+ this.enterRule(localContext, 6, IfcExpressionParser.RULE_methodAccessor);
363
+ try {
364
+ this.state = 80;
365
+ this.errorHandler.sync(this);
366
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 4, this.context)) {
367
+ case 1:
368
+ localContext = new MethodFunctionCallContext(localContext);
369
+ this.enterOuterAlt(localContext, 1);
370
+ {
371
+ this.state = 78;
372
+ this.functionCall();
373
+ }
374
+ break;
375
+ case 2:
376
+ localContext = new MethodPropertyAccessContext(localContext);
377
+ this.enterOuterAlt(localContext, 2);
378
+ {
379
+ this.state = 79;
380
+ this.match(IfcExpressionParser.IDENTIFIER);
381
+ }
382
+ break;
383
+ }
384
+ }
385
+ catch (re) {
386
+ if (re instanceof antlr.RecognitionException) {
387
+ this.errorHandler.reportError(this, re);
388
+ this.errorHandler.recover(this, re);
389
+ }
390
+ else {
391
+ throw re;
392
+ }
393
+ }
394
+ finally {
395
+ this.exitRule();
396
+ }
397
+ return localContext;
344
398
  }
345
- // @RuleVersion(0)
346
399
  functionCall() {
347
- let localctx = new FunctionCallContext(this, this._ctx, this.state);
348
- this.enterRule(localctx, 6, IfcExpressionParser.RULE_functionCall);
400
+ let localContext = new FunctionCallContext(this.context, this.state);
401
+ this.enterRule(localContext, 8, IfcExpressionParser.RULE_functionCall);
349
402
  let _la;
350
403
  try {
351
- this.enterOuterAlt(localctx, 1);
404
+ this.enterOuterAlt(localContext, 1);
352
405
  {
353
- this.state = 76;
406
+ this.state = 82;
354
407
  this.match(IfcExpressionParser.IDENTIFIER);
355
- this.state = 77;
408
+ this.state = 83;
356
409
  this.match(IfcExpressionParser.T__1);
357
- this.state = 79;
358
- this._errHandler.sync(this);
359
- _la = this._input.LA(1);
410
+ this.state = 85;
411
+ this.errorHandler.sync(this);
412
+ _la = this.tokenStream.LA(1);
360
413
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1829398) !== 0)) {
361
414
  {
362
- this.state = 78;
363
- localctx._sub = this.exprList();
415
+ this.state = 84;
416
+ localContext._sub = this.exprList();
364
417
  }
365
418
  }
366
- this.state = 81;
419
+ this.state = 87;
367
420
  this.match(IfcExpressionParser.T__2);
368
421
  }
369
422
  }
370
423
  catch (re) {
371
- if (re instanceof antlr4_1.RecognitionException) {
372
- localctx.exception = re;
373
- this._errHandler.reportError(this, re);
374
- this._errHandler.recover(this, re);
424
+ if (re instanceof antlr.RecognitionException) {
425
+ this.errorHandler.reportError(this, re);
426
+ this.errorHandler.recover(this, re);
375
427
  }
376
428
  else {
377
429
  throw re;
@@ -380,41 +432,39 @@ class IfcExpressionParser extends antlr4_1.Parser {
380
432
  finally {
381
433
  this.exitRule();
382
434
  }
383
- return localctx;
435
+ return localContext;
384
436
  }
385
- // @RuleVersion(0)
386
437
  exprList() {
387
- let localctx = new ExprListContext(this, this._ctx, this.state);
388
- this.enterRule(localctx, 8, IfcExpressionParser.RULE_exprList);
438
+ let localContext = new ExprListContext(this.context, this.state);
439
+ this.enterRule(localContext, 10, IfcExpressionParser.RULE_exprList);
389
440
  try {
390
- this.state = 88;
391
- this._errHandler.sync(this);
392
- switch (this._interp.adaptivePredict(this._input, 5, this._ctx)) {
441
+ this.state = 94;
442
+ this.errorHandler.sync(this);
443
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 6, this.context)) {
393
444
  case 1:
394
- this.enterOuterAlt(localctx, 1);
445
+ this.enterOuterAlt(localContext, 1);
395
446
  {
396
- this.state = 83;
447
+ this.state = 89;
397
448
  this.singleExpr(0);
398
449
  }
399
450
  break;
400
451
  case 2:
401
- this.enterOuterAlt(localctx, 2);
452
+ this.enterOuterAlt(localContext, 2);
402
453
  {
403
- this.state = 84;
454
+ this.state = 90;
404
455
  this.singleExpr(0);
405
- this.state = 85;
456
+ this.state = 91;
406
457
  this.match(IfcExpressionParser.T__9);
407
- this.state = 86;
458
+ this.state = 92;
408
459
  this.exprList();
409
460
  }
410
461
  break;
411
462
  }
412
463
  }
413
464
  catch (re) {
414
- if (re instanceof antlr4_1.RecognitionException) {
415
- localctx.exception = re;
416
- this._errHandler.reportError(this, re);
417
- this._errHandler.recover(this, re);
465
+ if (re instanceof antlr.RecognitionException) {
466
+ this.errorHandler.reportError(this, re);
467
+ this.errorHandler.recover(this, re);
418
468
  }
419
469
  else {
420
470
  throw re;
@@ -423,36 +473,34 @@ class IfcExpressionParser extends antlr4_1.Parser {
423
473
  finally {
424
474
  this.exitRule();
425
475
  }
426
- return localctx;
476
+ return localContext;
427
477
  }
428
- // @RuleVersion(0)
429
478
  arrayExpr() {
430
- let localctx = new ArrayExprContext(this, this._ctx, this.state);
431
- this.enterRule(localctx, 10, IfcExpressionParser.RULE_arrayExpr);
479
+ let localContext = new ArrayExprContext(this.context, this.state);
480
+ this.enterRule(localContext, 12, IfcExpressionParser.RULE_arrayExpr);
432
481
  let _la;
433
482
  try {
434
- this.enterOuterAlt(localctx, 1);
483
+ this.enterOuterAlt(localContext, 1);
435
484
  {
436
- this.state = 90;
485
+ this.state = 96;
437
486
  this.match(IfcExpressionParser.T__10);
438
- this.state = 92;
439
- this._errHandler.sync(this);
440
- _la = this._input.LA(1);
487
+ this.state = 98;
488
+ this.errorHandler.sync(this);
489
+ _la = this.tokenStream.LA(1);
441
490
  if ((((_la) & ~0x1F) === 0 && ((1 << _la) & 1829398) !== 0)) {
442
491
  {
443
- this.state = 91;
444
- localctx._sub = this.arrayElementList();
492
+ this.state = 97;
493
+ localContext._sub = this.arrayElementList();
445
494
  }
446
495
  }
447
- this.state = 94;
496
+ this.state = 100;
448
497
  this.match(IfcExpressionParser.T__11);
449
498
  }
450
499
  }
451
500
  catch (re) {
452
- if (re instanceof antlr4_1.RecognitionException) {
453
- localctx.exception = re;
454
- this._errHandler.reportError(this, re);
455
- this._errHandler.recover(this, re);
501
+ if (re instanceof antlr.RecognitionException) {
502
+ this.errorHandler.reportError(this, re);
503
+ this.errorHandler.recover(this, re);
456
504
  }
457
505
  else {
458
506
  throw re;
@@ -461,41 +509,39 @@ class IfcExpressionParser extends antlr4_1.Parser {
461
509
  finally {
462
510
  this.exitRule();
463
511
  }
464
- return localctx;
512
+ return localContext;
465
513
  }
466
- // @RuleVersion(0)
467
514
  arrayElementList() {
468
- let localctx = new ArrayElementListContext(this, this._ctx, this.state);
469
- this.enterRule(localctx, 12, IfcExpressionParser.RULE_arrayElementList);
515
+ let localContext = new ArrayElementListContext(this.context, this.state);
516
+ this.enterRule(localContext, 14, IfcExpressionParser.RULE_arrayElementList);
470
517
  try {
471
- this.state = 101;
472
- this._errHandler.sync(this);
473
- switch (this._interp.adaptivePredict(this._input, 7, this._ctx)) {
518
+ this.state = 107;
519
+ this.errorHandler.sync(this);
520
+ switch (this.interpreter.adaptivePredict(this.tokenStream, 8, this.context)) {
474
521
  case 1:
475
- this.enterOuterAlt(localctx, 1);
522
+ this.enterOuterAlt(localContext, 1);
476
523
  {
477
- this.state = 96;
524
+ this.state = 102;
478
525
  this.singleExpr(0);
479
526
  }
480
527
  break;
481
528
  case 2:
482
- this.enterOuterAlt(localctx, 2);
529
+ this.enterOuterAlt(localContext, 2);
483
530
  {
484
- this.state = 97;
531
+ this.state = 103;
485
532
  this.singleExpr(0);
486
- this.state = 98;
533
+ this.state = 104;
487
534
  this.match(IfcExpressionParser.T__9);
488
- this.state = 99;
535
+ this.state = 105;
489
536
  this.arrayElementList();
490
537
  }
491
538
  break;
492
539
  }
493
540
  }
494
541
  catch (re) {
495
- if (re instanceof antlr4_1.RecognitionException) {
496
- localctx.exception = re;
497
- this._errHandler.reportError(this, re);
498
- this._errHandler.recover(this, re);
542
+ if (re instanceof antlr.RecognitionException) {
543
+ this.errorHandler.reportError(this, re);
544
+ this.errorHandler.recover(this, re);
499
545
  }
500
546
  else {
501
547
  throw re;
@@ -504,54 +550,52 @@ class IfcExpressionParser extends antlr4_1.Parser {
504
550
  finally {
505
551
  this.exitRule();
506
552
  }
507
- return localctx;
553
+ return localContext;
508
554
  }
509
- // @RuleVersion(0)
510
555
  literal() {
511
- let localctx = new LiteralContext(this, this._ctx, this.state);
512
- this.enterRule(localctx, 14, IfcExpressionParser.RULE_literal);
556
+ let localContext = new LiteralContext(this.context, this.state);
557
+ this.enterRule(localContext, 16, IfcExpressionParser.RULE_literal);
513
558
  try {
514
- this.state = 107;
515
- this._errHandler.sync(this);
516
- switch (this._input.LA(1)) {
517
- case 14:
518
- case 15:
519
- this.enterOuterAlt(localctx, 1);
559
+ this.state = 113;
560
+ this.errorHandler.sync(this);
561
+ switch (this.tokenStream.LA(1)) {
562
+ case IfcExpressionParser.INT:
563
+ case IfcExpressionParser.FLOAT:
564
+ this.enterOuterAlt(localContext, 1);
520
565
  {
521
- this.state = 103;
566
+ this.state = 109;
522
567
  this.numLiteral();
523
568
  }
524
569
  break;
525
- case 19:
526
- this.enterOuterAlt(localctx, 2);
570
+ case IfcExpressionParser.QUOTED_STRING:
571
+ this.enterOuterAlt(localContext, 2);
527
572
  {
528
- this.state = 104;
573
+ this.state = 110;
529
574
  this.stringLiteral();
530
575
  }
531
576
  break;
532
- case 16:
533
- this.enterOuterAlt(localctx, 3);
577
+ case IfcExpressionParser.BOOLEAN:
578
+ this.enterOuterAlt(localContext, 3);
534
579
  {
535
- this.state = 105;
580
+ this.state = 111;
536
581
  this.booleanLiteral();
537
582
  }
538
583
  break;
539
- case 17:
540
- this.enterOuterAlt(localctx, 4);
584
+ case IfcExpressionParser.LOGICAL_UNKNOWN:
585
+ this.enterOuterAlt(localContext, 4);
541
586
  {
542
- this.state = 106;
587
+ this.state = 112;
543
588
  this.logicalLiteral();
544
589
  }
545
590
  break;
546
591
  default:
547
- throw new antlr4_1.NoViableAltException(this);
592
+ throw new antlr.NoViableAltException(this);
548
593
  }
549
594
  }
550
595
  catch (re) {
551
- if (re instanceof antlr4_1.RecognitionException) {
552
- localctx.exception = re;
553
- this._errHandler.reportError(this, re);
554
- this._errHandler.recover(this, re);
596
+ if (re instanceof antlr.RecognitionException) {
597
+ this.errorHandler.reportError(this, re);
598
+ this.errorHandler.recover(this, re);
555
599
  }
556
600
  else {
557
601
  throw re;
@@ -560,32 +604,30 @@ class IfcExpressionParser extends antlr4_1.Parser {
560
604
  finally {
561
605
  this.exitRule();
562
606
  }
563
- return localctx;
607
+ return localContext;
564
608
  }
565
- // @RuleVersion(0)
566
609
  numLiteral() {
567
- let localctx = new NumLiteralContext(this, this._ctx, this.state);
568
- this.enterRule(localctx, 16, IfcExpressionParser.RULE_numLiteral);
610
+ let localContext = new NumLiteralContext(this.context, this.state);
611
+ this.enterRule(localContext, 18, IfcExpressionParser.RULE_numLiteral);
569
612
  let _la;
570
613
  try {
571
- this.enterOuterAlt(localctx, 1);
614
+ this.enterOuterAlt(localContext, 1);
572
615
  {
573
- this.state = 109;
574
- _la = this._input.LA(1);
616
+ this.state = 115;
617
+ _la = this.tokenStream.LA(1);
575
618
  if (!(_la === 14 || _la === 15)) {
576
- this._errHandler.recoverInline(this);
619
+ this.errorHandler.recoverInline(this);
577
620
  }
578
621
  else {
579
- this._errHandler.reportMatch(this);
622
+ this.errorHandler.reportMatch(this);
580
623
  this.consume();
581
624
  }
582
625
  }
583
626
  }
584
627
  catch (re) {
585
- if (re instanceof antlr4_1.RecognitionException) {
586
- localctx.exception = re;
587
- this._errHandler.reportError(this, re);
588
- this._errHandler.recover(this, re);
628
+ if (re instanceof antlr.RecognitionException) {
629
+ this.errorHandler.reportError(this, re);
630
+ this.errorHandler.recover(this, re);
589
631
  }
590
632
  else {
591
633
  throw re;
@@ -594,24 +636,22 @@ class IfcExpressionParser extends antlr4_1.Parser {
594
636
  finally {
595
637
  this.exitRule();
596
638
  }
597
- return localctx;
639
+ return localContext;
598
640
  }
599
- // @RuleVersion(0)
600
641
  stringLiteral() {
601
- let localctx = new StringLiteralContext(this, this._ctx, this.state);
602
- this.enterRule(localctx, 18, IfcExpressionParser.RULE_stringLiteral);
642
+ let localContext = new StringLiteralContext(this.context, this.state);
643
+ this.enterRule(localContext, 20, IfcExpressionParser.RULE_stringLiteral);
603
644
  try {
604
- this.enterOuterAlt(localctx, 1);
645
+ this.enterOuterAlt(localContext, 1);
605
646
  {
606
- this.state = 111;
647
+ this.state = 117;
607
648
  this.match(IfcExpressionParser.QUOTED_STRING);
608
649
  }
609
650
  }
610
651
  catch (re) {
611
- if (re instanceof antlr4_1.RecognitionException) {
612
- localctx.exception = re;
613
- this._errHandler.reportError(this, re);
614
- this._errHandler.recover(this, re);
652
+ if (re instanceof antlr.RecognitionException) {
653
+ this.errorHandler.reportError(this, re);
654
+ this.errorHandler.recover(this, re);
615
655
  }
616
656
  else {
617
657
  throw re;
@@ -620,24 +660,22 @@ class IfcExpressionParser extends antlr4_1.Parser {
620
660
  finally {
621
661
  this.exitRule();
622
662
  }
623
- return localctx;
663
+ return localContext;
624
664
  }
625
- // @RuleVersion(0)
626
665
  booleanLiteral() {
627
- let localctx = new BooleanLiteralContext(this, this._ctx, this.state);
628
- this.enterRule(localctx, 20, IfcExpressionParser.RULE_booleanLiteral);
666
+ let localContext = new BooleanLiteralContext(this.context, this.state);
667
+ this.enterRule(localContext, 22, IfcExpressionParser.RULE_booleanLiteral);
629
668
  try {
630
- this.enterOuterAlt(localctx, 1);
669
+ this.enterOuterAlt(localContext, 1);
631
670
  {
632
- this.state = 113;
671
+ this.state = 119;
633
672
  this.match(IfcExpressionParser.BOOLEAN);
634
673
  }
635
674
  }
636
675
  catch (re) {
637
- if (re instanceof antlr4_1.RecognitionException) {
638
- localctx.exception = re;
639
- this._errHandler.reportError(this, re);
640
- this._errHandler.recover(this, re);
676
+ if (re instanceof antlr.RecognitionException) {
677
+ this.errorHandler.reportError(this, re);
678
+ this.errorHandler.recover(this, re);
641
679
  }
642
680
  else {
643
681
  throw re;
@@ -646,24 +684,22 @@ class IfcExpressionParser extends antlr4_1.Parser {
646
684
  finally {
647
685
  this.exitRule();
648
686
  }
649
- return localctx;
687
+ return localContext;
650
688
  }
651
- // @RuleVersion(0)
652
689
  logicalLiteral() {
653
- let localctx = new LogicalLiteralContext(this, this._ctx, this.state);
654
- this.enterRule(localctx, 22, IfcExpressionParser.RULE_logicalLiteral);
690
+ let localContext = new LogicalLiteralContext(this.context, this.state);
691
+ this.enterRule(localContext, 24, IfcExpressionParser.RULE_logicalLiteral);
655
692
  try {
656
- this.enterOuterAlt(localctx, 1);
693
+ this.enterOuterAlt(localContext, 1);
657
694
  {
658
- this.state = 115;
695
+ this.state = 121;
659
696
  this.match(IfcExpressionParser.LOGICAL_UNKNOWN);
660
697
  }
661
698
  }
662
699
  catch (re) {
663
- if (re instanceof antlr4_1.RecognitionException) {
664
- localctx.exception = re;
665
- this._errHandler.reportError(this, re);
666
- this._errHandler.recover(this, re);
700
+ if (re instanceof antlr.RecognitionException) {
701
+ this.errorHandler.reportError(this, re);
702
+ this.errorHandler.recover(this, re);
667
703
  }
668
704
  else {
669
705
  throw re;
@@ -672,26 +708,24 @@ class IfcExpressionParser extends antlr4_1.Parser {
672
708
  finally {
673
709
  this.exitRule();
674
710
  }
675
- return localctx;
711
+ return localContext;
676
712
  }
677
- // @RuleVersion(0)
678
713
  variableRef() {
679
- let localctx = new VariableRefContext(this, this._ctx, this.state);
680
- this.enterRule(localctx, 24, IfcExpressionParser.RULE_variableRef);
714
+ let localContext = new VariableRefContext(this.context, this.state);
715
+ this.enterRule(localContext, 26, IfcExpressionParser.RULE_variableRef);
681
716
  try {
682
- this.enterOuterAlt(localctx, 1);
717
+ this.enterOuterAlt(localContext, 1);
683
718
  {
684
- this.state = 117;
719
+ this.state = 123;
685
720
  this.match(IfcExpressionParser.T__12);
686
- this.state = 118;
721
+ this.state = 124;
687
722
  this.match(IfcExpressionParser.IDENTIFIER);
688
723
  }
689
724
  }
690
725
  catch (re) {
691
- if (re instanceof antlr4_1.RecognitionException) {
692
- localctx.exception = re;
693
- this._errHandler.reportError(this, re);
694
- this._errHandler.recover(this, re);
726
+ if (re instanceof antlr.RecognitionException) {
727
+ this.errorHandler.reportError(this, re);
728
+ this.errorHandler.recover(this, re);
695
729
  }
696
730
  else {
697
731
  throw re;
@@ -700,39 +734,43 @@ class IfcExpressionParser extends antlr4_1.Parser {
700
734
  finally {
701
735
  this.exitRule();
702
736
  }
703
- return localctx;
737
+ return localContext;
704
738
  }
705
- sempred(localctx, ruleIndex, predIndex) {
739
+ sempred(localContext, ruleIndex, predIndex) {
706
740
  switch (ruleIndex) {
707
741
  case 1:
708
- return this.singleExpr_sempred(localctx, predIndex);
742
+ return this.singleExpr_sempred(localContext, predIndex);
709
743
  }
710
744
  return true;
711
745
  }
712
- singleExpr_sempred(localctx, predIndex) {
746
+ singleExpr_sempred(localContext, predIndex) {
713
747
  switch (predIndex) {
714
748
  case 0:
715
- return this.precpred(this._ctx, 11);
749
+ return this.precpred(this.context, 11);
716
750
  case 1:
717
- return this.precpred(this._ctx, 9);
751
+ return this.precpred(this.context, 9);
718
752
  case 2:
719
- return this.precpred(this._ctx, 8);
753
+ return this.precpred(this.context, 8);
720
754
  case 3:
721
- return this.precpred(this._ctx, 7);
755
+ return this.precpred(this.context, 7);
722
756
  case 4:
723
- return this.precpred(this._ctx, 5);
757
+ return this.precpred(this.context, 5);
724
758
  case 5:
725
- return this.precpred(this._ctx, 10);
759
+ return this.precpred(this.context, 10);
726
760
  }
727
761
  return true;
728
762
  }
729
763
  static get _ATN() {
730
764
  if (!IfcExpressionParser.__ATN) {
731
- IfcExpressionParser.__ATN = new antlr4_1.ATNDeserializer().deserialize(IfcExpressionParser._serializedATN);
765
+ IfcExpressionParser.__ATN = new antlr.ATNDeserializer().deserialize(IfcExpressionParser._serializedATN);
732
766
  }
733
767
  return IfcExpressionParser.__ATN;
734
768
  }
769
+ get vocabulary() {
770
+ return IfcExpressionParser.vocabulary;
771
+ }
735
772
  }
773
+ exports.IfcExpressionParser = IfcExpressionParser;
736
774
  IfcExpressionParser.T__0 = 1;
737
775
  IfcExpressionParser.T__1 = 2;
738
776
  IfcExpressionParser.T__2 = 3;
@@ -757,96 +795,86 @@ IfcExpressionParser.WS = 21;
757
795
  IfcExpressionParser.NEWLINE = 22;
758
796
  IfcExpressionParser.BOOLEAN_BINARY_OP = 23;
759
797
  IfcExpressionParser.CMP_OP = 24;
760
- IfcExpressionParser.EOF = antlr4_1.Token.EOF;
761
798
  IfcExpressionParser.RULE_expr = 0;
762
799
  IfcExpressionParser.RULE_singleExpr = 1;
763
800
  IfcExpressionParser.RULE_methodCallChain = 2;
764
- IfcExpressionParser.RULE_functionCall = 3;
765
- IfcExpressionParser.RULE_exprList = 4;
766
- IfcExpressionParser.RULE_arrayExpr = 5;
767
- IfcExpressionParser.RULE_arrayElementList = 6;
768
- IfcExpressionParser.RULE_literal = 7;
769
- IfcExpressionParser.RULE_numLiteral = 8;
770
- IfcExpressionParser.RULE_stringLiteral = 9;
771
- IfcExpressionParser.RULE_booleanLiteral = 10;
772
- IfcExpressionParser.RULE_logicalLiteral = 11;
773
- IfcExpressionParser.RULE_variableRef = 12;
774
- IfcExpressionParser.literalNames = [null, "'--'",
775
- "'('", "')'",
776
- "'-'", "'^'",
777
- "'*'", "'/'",
778
- "'+'", "'!'",
779
- "','", "'['",
780
- "']'", "'$'",
781
- null, null,
782
- null, null,
783
- "'.'"];
784
- IfcExpressionParser.symbolicNames = [null, null,
785
- null, null,
786
- null, null,
787
- null, null,
788
- null, null,
789
- null, null,
790
- null, null,
791
- "INT", "FLOAT",
792
- "BOOLEAN",
793
- "LOGICAL_UNKNOWN",
794
- "DOT", "QUOTED_STRING",
795
- "IDENTIFIER",
796
- "WS", "NEWLINE",
797
- "BOOLEAN_BINARY_OP",
798
- "CMP_OP"];
799
- // tslint:disable:no-trailing-whitespace
801
+ IfcExpressionParser.RULE_methodAccessor = 3;
802
+ IfcExpressionParser.RULE_functionCall = 4;
803
+ IfcExpressionParser.RULE_exprList = 5;
804
+ IfcExpressionParser.RULE_arrayExpr = 6;
805
+ IfcExpressionParser.RULE_arrayElementList = 7;
806
+ IfcExpressionParser.RULE_literal = 8;
807
+ IfcExpressionParser.RULE_numLiteral = 9;
808
+ IfcExpressionParser.RULE_stringLiteral = 10;
809
+ IfcExpressionParser.RULE_booleanLiteral = 11;
810
+ IfcExpressionParser.RULE_logicalLiteral = 12;
811
+ IfcExpressionParser.RULE_variableRef = 13;
812
+ IfcExpressionParser.literalNames = [
813
+ null, "'--'", "'('", "')'", "'-'", "'^'", "'*'", "'/'", "'+'", "'!'",
814
+ "','", "'['", "']'", "'$'", null, null, null, null, "'.'"
815
+ ];
816
+ IfcExpressionParser.symbolicNames = [
817
+ null, null, null, null, null, null, null, null, null, null, null,
818
+ null, null, null, "INT", "FLOAT", "BOOLEAN", "LOGICAL_UNKNOWN",
819
+ "DOT", "QUOTED_STRING", "IDENTIFIER", "WS", "NEWLINE", "BOOLEAN_BINARY_OP",
820
+ "CMP_OP"
821
+ ];
800
822
  IfcExpressionParser.ruleNames = [
801
- "expr", "singleExpr", "methodCallChain", "functionCall", "exprList", "arrayExpr",
802
- "arrayElementList", "literal", "numLiteral", "stringLiteral", "booleanLiteral",
803
- "logicalLiteral", "variableRef",
823
+ "expr", "singleExpr", "methodCallChain", "methodAccessor", "functionCall",
824
+ "exprList", "arrayExpr", "arrayElementList", "literal", "numLiteral",
825
+ "stringLiteral", "booleanLiteral", "logicalLiteral", "variableRef",
826
+ ];
827
+ IfcExpressionParser._serializedATN = [
828
+ 4, 1, 24, 127, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7,
829
+ 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13,
830
+ 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
831
+ 1, 1, 1, 1, 3, 1, 47, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
832
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 66, 8, 1, 10, 1, 12, 1, 69, 9, 1, 1, 2, 1, 2, 1, 2, 1,
833
+ 2, 1, 2, 1, 2, 3, 2, 77, 8, 2, 1, 3, 1, 3, 3, 3, 81, 8, 3, 1, 4, 1, 4, 1, 4, 3, 4, 86, 8, 4, 1,
834
+ 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 95, 8, 5, 1, 6, 1, 6, 3, 6, 99, 8, 6, 1, 6, 1, 6,
835
+ 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 108, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 114, 8, 8, 1, 9,
836
+ 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 0, 1, 2, 14, 0,
837
+ 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 0, 3, 1, 0, 6, 7, 2, 0, 4, 4, 8, 8, 1, 0, 14,
838
+ 15, 134, 0, 28, 1, 0, 0, 0, 2, 46, 1, 0, 0, 0, 4, 76, 1, 0, 0, 0, 6, 80, 1, 0, 0, 0, 8, 82,
839
+ 1, 0, 0, 0, 10, 94, 1, 0, 0, 0, 12, 96, 1, 0, 0, 0, 14, 107, 1, 0, 0, 0, 16, 113, 1, 0, 0,
840
+ 0, 18, 115, 1, 0, 0, 0, 20, 117, 1, 0, 0, 0, 22, 119, 1, 0, 0, 0, 24, 121, 1, 0, 0, 0, 26,
841
+ 123, 1, 0, 0, 0, 28, 29, 3, 2, 1, 0, 29, 30, 5, 0, 0, 1, 30, 1, 1, 0, 0, 0, 31, 32, 6, 1, -1,
842
+ 0, 32, 33, 5, 1, 0, 0, 33, 47, 3, 2, 1, 14, 34, 35, 5, 2, 0, 0, 35, 36, 3, 2, 1, 0, 36, 37,
843
+ 5, 3, 0, 0, 37, 47, 1, 0, 0, 0, 38, 39, 5, 4, 0, 0, 39, 47, 3, 2, 1, 12, 40, 41, 5, 9, 0, 0,
844
+ 41, 47, 3, 2, 1, 6, 42, 47, 3, 26, 13, 0, 43, 47, 3, 8, 4, 0, 44, 47, 3, 16, 8, 0, 45, 47,
845
+ 3, 12, 6, 0, 46, 31, 1, 0, 0, 0, 46, 34, 1, 0, 0, 0, 46, 38, 1, 0, 0, 0, 46, 40, 1, 0, 0, 0,
846
+ 46, 42, 1, 0, 0, 0, 46, 43, 1, 0, 0, 0, 46, 44, 1, 0, 0, 0, 46, 45, 1, 0, 0, 0, 47, 67, 1,
847
+ 0, 0, 0, 48, 49, 10, 11, 0, 0, 49, 50, 5, 5, 0, 0, 50, 66, 3, 2, 1, 11, 51, 52, 10, 9, 0,
848
+ 0, 52, 53, 7, 0, 0, 0, 53, 66, 3, 2, 1, 10, 54, 55, 10, 8, 0, 0, 55, 56, 7, 1, 0, 0, 56, 66,
849
+ 3, 2, 1, 9, 57, 58, 10, 7, 0, 0, 58, 59, 5, 24, 0, 0, 59, 66, 3, 2, 1, 8, 60, 61, 10, 5, 0,
850
+ 0, 61, 62, 5, 23, 0, 0, 62, 66, 3, 2, 1, 6, 63, 64, 10, 10, 0, 0, 64, 66, 3, 4, 2, 0, 65,
851
+ 48, 1, 0, 0, 0, 65, 51, 1, 0, 0, 0, 65, 54, 1, 0, 0, 0, 65, 57, 1, 0, 0, 0, 65, 60, 1, 0, 0,
852
+ 0, 65, 63, 1, 0, 0, 0, 66, 69, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 67, 68, 1, 0, 0, 0, 68, 3, 1,
853
+ 0, 0, 0, 69, 67, 1, 0, 0, 0, 70, 71, 5, 18, 0, 0, 71, 72, 3, 6, 3, 0, 72, 73, 3, 4, 2, 0, 73,
854
+ 77, 1, 0, 0, 0, 74, 75, 5, 18, 0, 0, 75, 77, 3, 6, 3, 0, 76, 70, 1, 0, 0, 0, 76, 74, 1, 0,
855
+ 0, 0, 77, 5, 1, 0, 0, 0, 78, 81, 3, 8, 4, 0, 79, 81, 5, 20, 0, 0, 80, 78, 1, 0, 0, 0, 80, 79,
856
+ 1, 0, 0, 0, 81, 7, 1, 0, 0, 0, 82, 83, 5, 20, 0, 0, 83, 85, 5, 2, 0, 0, 84, 86, 3, 10, 5, 0,
857
+ 85, 84, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 87, 1, 0, 0, 0, 87, 88, 5, 3, 0, 0, 88, 9, 1, 0,
858
+ 0, 0, 89, 95, 3, 2, 1, 0, 90, 91, 3, 2, 1, 0, 91, 92, 5, 10, 0, 0, 92, 93, 3, 10, 5, 0, 93,
859
+ 95, 1, 0, 0, 0, 94, 89, 1, 0, 0, 0, 94, 90, 1, 0, 0, 0, 95, 11, 1, 0, 0, 0, 96, 98, 5, 11,
860
+ 0, 0, 97, 99, 3, 14, 7, 0, 98, 97, 1, 0, 0, 0, 98, 99, 1, 0, 0, 0, 99, 100, 1, 0, 0, 0, 100,
861
+ 101, 5, 12, 0, 0, 101, 13, 1, 0, 0, 0, 102, 108, 3, 2, 1, 0, 103, 104, 3, 2, 1, 0, 104,
862
+ 105, 5, 10, 0, 0, 105, 106, 3, 14, 7, 0, 106, 108, 1, 0, 0, 0, 107, 102, 1, 0, 0, 0, 107,
863
+ 103, 1, 0, 0, 0, 108, 15, 1, 0, 0, 0, 109, 114, 3, 18, 9, 0, 110, 114, 3, 20, 10, 0, 111,
864
+ 114, 3, 22, 11, 0, 112, 114, 3, 24, 12, 0, 113, 109, 1, 0, 0, 0, 113, 110, 1, 0, 0, 0,
865
+ 113, 111, 1, 0, 0, 0, 113, 112, 1, 0, 0, 0, 114, 17, 1, 0, 0, 0, 115, 116, 7, 2, 0, 0, 116,
866
+ 19, 1, 0, 0, 0, 117, 118, 5, 19, 0, 0, 118, 21, 1, 0, 0, 0, 119, 120, 5, 16, 0, 0, 120,
867
+ 23, 1, 0, 0, 0, 121, 122, 5, 17, 0, 0, 122, 25, 1, 0, 0, 0, 123, 124, 5, 13, 0, 0, 124,
868
+ 125, 5, 20, 0, 0, 125, 27, 1, 0, 0, 0, 10, 46, 65, 67, 76, 80, 85, 94, 98, 107, 113
804
869
  ];
805
- IfcExpressionParser._serializedATN = [4, 1, 24, 121, 2, 0, 7, 0, 2,
806
- 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2,
807
- 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
808
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 3, 1, 45, 8, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
809
- 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 64, 8, 1, 10, 1, 12, 1, 67, 9, 1, 1, 2, 1, 2,
810
- 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 75, 8, 2, 1, 3, 1, 3, 1, 3, 3, 3, 80, 8, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1,
811
- 4, 1, 4, 3, 4, 89, 8, 4, 1, 5, 1, 5, 3, 5, 93, 8, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 102,
812
- 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 108, 8, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12,
813
- 1, 12, 1, 12, 1, 12, 0, 1, 2, 13, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 0, 3, 1, 0, 6, 7, 2,
814
- 0, 4, 4, 8, 8, 1, 0, 14, 15, 128, 0, 26, 1, 0, 0, 0, 2, 44, 1, 0, 0, 0, 4, 74, 1, 0, 0, 0, 6, 76, 1, 0,
815
- 0, 0, 8, 88, 1, 0, 0, 0, 10, 90, 1, 0, 0, 0, 12, 101, 1, 0, 0, 0, 14, 107, 1, 0, 0, 0, 16, 109, 1, 0,
816
- 0, 0, 18, 111, 1, 0, 0, 0, 20, 113, 1, 0, 0, 0, 22, 115, 1, 0, 0, 0, 24, 117, 1, 0, 0, 0, 26, 27, 3,
817
- 2, 1, 0, 27, 28, 5, 0, 0, 1, 28, 1, 1, 0, 0, 0, 29, 30, 6, 1, -1, 0, 30, 31, 5, 1, 0, 0, 31, 45, 3, 2,
818
- 1, 14, 32, 33, 5, 2, 0, 0, 33, 34, 3, 2, 1, 0, 34, 35, 5, 3, 0, 0, 35, 45, 1, 0, 0, 0, 36, 37, 5, 4,
819
- 0, 0, 37, 45, 3, 2, 1, 12, 38, 39, 5, 9, 0, 0, 39, 45, 3, 2, 1, 6, 40, 45, 3, 24, 12, 0, 41, 45, 3,
820
- 6, 3, 0, 42, 45, 3, 14, 7, 0, 43, 45, 3, 10, 5, 0, 44, 29, 1, 0, 0, 0, 44, 32, 1, 0, 0, 0, 44, 36, 1,
821
- 0, 0, 0, 44, 38, 1, 0, 0, 0, 44, 40, 1, 0, 0, 0, 44, 41, 1, 0, 0, 0, 44, 42, 1, 0, 0, 0, 44, 43, 1, 0,
822
- 0, 0, 45, 65, 1, 0, 0, 0, 46, 47, 10, 11, 0, 0, 47, 48, 5, 5, 0, 0, 48, 64, 3, 2, 1, 11, 49, 50, 10,
823
- 9, 0, 0, 50, 51, 7, 0, 0, 0, 51, 64, 3, 2, 1, 10, 52, 53, 10, 8, 0, 0, 53, 54, 7, 1, 0, 0, 54, 64, 3,
824
- 2, 1, 9, 55, 56, 10, 7, 0, 0, 56, 57, 5, 24, 0, 0, 57, 64, 3, 2, 1, 8, 58, 59, 10, 5, 0, 0, 59, 60,
825
- 5, 23, 0, 0, 60, 64, 3, 2, 1, 6, 61, 62, 10, 10, 0, 0, 62, 64, 3, 4, 2, 0, 63, 46, 1, 0, 0, 0, 63, 49,
826
- 1, 0, 0, 0, 63, 52, 1, 0, 0, 0, 63, 55, 1, 0, 0, 0, 63, 58, 1, 0, 0, 0, 63, 61, 1, 0, 0, 0, 64, 67, 1,
827
- 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 3, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 69, 5, 18,
828
- 0, 0, 69, 70, 3, 6, 3, 0, 70, 71, 3, 4, 2, 0, 71, 75, 1, 0, 0, 0, 72, 73, 5, 18, 0, 0, 73, 75, 3, 6,
829
- 3, 0, 74, 68, 1, 0, 0, 0, 74, 72, 1, 0, 0, 0, 75, 5, 1, 0, 0, 0, 76, 77, 5, 20, 0, 0, 77, 79, 5, 2, 0,
830
- 0, 78, 80, 3, 8, 4, 0, 79, 78, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 81, 1, 0, 0, 0, 81, 82, 5, 3, 0, 0,
831
- 82, 7, 1, 0, 0, 0, 83, 89, 3, 2, 1, 0, 84, 85, 3, 2, 1, 0, 85, 86, 5, 10, 0, 0, 86, 87, 3, 8, 4, 0, 87,
832
- 89, 1, 0, 0, 0, 88, 83, 1, 0, 0, 0, 88, 84, 1, 0, 0, 0, 89, 9, 1, 0, 0, 0, 90, 92, 5, 11, 0, 0, 91, 93,
833
- 3, 12, 6, 0, 92, 91, 1, 0, 0, 0, 92, 93, 1, 0, 0, 0, 93, 94, 1, 0, 0, 0, 94, 95, 5, 12, 0, 0, 95, 11,
834
- 1, 0, 0, 0, 96, 102, 3, 2, 1, 0, 97, 98, 3, 2, 1, 0, 98, 99, 5, 10, 0, 0, 99, 100, 3, 12, 6, 0, 100,
835
- 102, 1, 0, 0, 0, 101, 96, 1, 0, 0, 0, 101, 97, 1, 0, 0, 0, 102, 13, 1, 0, 0, 0, 103, 108, 3, 16, 8,
836
- 0, 104, 108, 3, 18, 9, 0, 105, 108, 3, 20, 10, 0, 106, 108, 3, 22, 11, 0, 107, 103, 1, 0, 0, 0,
837
- 107, 104, 1, 0, 0, 0, 107, 105, 1, 0, 0, 0, 107, 106, 1, 0, 0, 0, 108, 15, 1, 0, 0, 0, 109, 110,
838
- 7, 2, 0, 0, 110, 17, 1, 0, 0, 0, 111, 112, 5, 19, 0, 0, 112, 19, 1, 0, 0, 0, 113, 114, 5, 16, 0, 0,
839
- 114, 21, 1, 0, 0, 0, 115, 116, 5, 17, 0, 0, 116, 23, 1, 0, 0, 0, 117, 118, 5, 13, 0, 0, 118, 119,
840
- 5, 20, 0, 0, 119, 25, 1, 0, 0, 0, 9, 44, 63, 65, 74, 79, 88, 92, 101, 107];
841
- IfcExpressionParser.DecisionsToDFA = IfcExpressionParser._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
842
- exports.default = IfcExpressionParser;
843
- class ExprContext extends antlr4_1.ParserRuleContext {
844
- constructor(parser, parent, invokingState) {
870
+ IfcExpressionParser.vocabulary = new antlr.Vocabulary(IfcExpressionParser.literalNames, IfcExpressionParser.symbolicNames, []);
871
+ IfcExpressionParser.decisionsToDFA = IfcExpressionParser._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
872
+ class ExprContext extends antlr.ParserRuleContext {
873
+ constructor(parent, invokingState) {
845
874
  super(parent, invokingState);
846
- this.parser = parser;
847
875
  }
848
876
  singleExpr() {
849
- return this.getTypedRuleContext(SingleExprContext, 0);
877
+ return this.getRuleContext(0, SingleExprContext);
850
878
  }
851
879
  EOF() {
852
880
  return this.getToken(IfcExpressionParser.EOF, 0);
@@ -864,7 +892,6 @@ class ExprContext extends antlr4_1.ParserRuleContext {
864
892
  listener.exitExpr(this);
865
893
  }
866
894
  }
867
- // @Override
868
895
  accept(visitor) {
869
896
  if (visitor.visitExpr) {
870
897
  return visitor.visitExpr(this);
@@ -875,10 +902,9 @@ class ExprContext extends antlr4_1.ParserRuleContext {
875
902
  }
876
903
  }
877
904
  exports.ExprContext = ExprContext;
878
- class SingleExprContext extends antlr4_1.ParserRuleContext {
879
- constructor(parser, parent, invokingState) {
905
+ class SingleExprContext extends antlr.ParserRuleContext {
906
+ constructor(parent, invokingState) {
880
907
  super(parent, invokingState);
881
- this.parser = parser;
882
908
  }
883
909
  get ruleIndex() {
884
910
  return IfcExpressionParser.RULE_singleExpr;
@@ -888,77 +914,41 @@ class SingleExprContext extends antlr4_1.ParserRuleContext {
888
914
  }
889
915
  }
890
916
  exports.SingleExprContext = SingleExprContext;
891
- class SEComparisonContext extends SingleExprContext {
892
- constructor(parser, ctx) {
893
- super(parser, ctx.parentCtx, ctx.invokingState);
894
- super.copyFrom(ctx);
895
- }
896
- CMP_OP() {
897
- return this.getToken(IfcExpressionParser.CMP_OP, 0);
898
- }
899
- singleExpr_list() {
900
- return this.getTypedRuleContexts(SingleExprContext);
901
- }
902
- singleExpr(i) {
903
- return this.getTypedRuleContext(SingleExprContext, i);
904
- }
905
- enterRule(listener) {
906
- if (listener.enterSEComparison) {
907
- listener.enterSEComparison(this);
908
- }
909
- }
910
- exitRule(listener) {
911
- if (listener.exitSEComparison) {
912
- listener.exitSEComparison(this);
913
- }
914
- }
915
- // @Override
916
- accept(visitor) {
917
- if (visitor.visitSEComparison) {
918
- return visitor.visitSEComparison(this);
919
- }
920
- else {
921
- return visitor.visitChildren(this);
922
- }
923
- }
924
- }
925
- exports.SEComparisonContext = SEComparisonContext;
926
- class SELiteralContext extends SingleExprContext {
927
- constructor(parser, ctx) {
928
- super(parser, ctx.parentCtx, ctx.invokingState);
917
+ class SEUnaryMultipleMinusContext extends SingleExprContext {
918
+ constructor(ctx) {
919
+ super(ctx.parent, ctx.invokingState);
929
920
  super.copyFrom(ctx);
930
921
  }
931
- literal() {
932
- return this.getTypedRuleContext(LiteralContext, 0);
922
+ singleExpr() {
923
+ return this.getRuleContext(0, SingleExprContext);
933
924
  }
934
925
  enterRule(listener) {
935
- if (listener.enterSELiteral) {
936
- listener.enterSELiteral(this);
926
+ if (listener.enterSEUnaryMultipleMinus) {
927
+ listener.enterSEUnaryMultipleMinus(this);
937
928
  }
938
929
  }
939
930
  exitRule(listener) {
940
- if (listener.exitSELiteral) {
941
- listener.exitSELiteral(this);
931
+ if (listener.exitSEUnaryMultipleMinus) {
932
+ listener.exitSEUnaryMultipleMinus(this);
942
933
  }
943
934
  }
944
- // @Override
945
935
  accept(visitor) {
946
- if (visitor.visitSELiteral) {
947
- return visitor.visitSELiteral(this);
936
+ if (visitor.visitSEUnaryMultipleMinus) {
937
+ return visitor.visitSEUnaryMultipleMinus(this);
948
938
  }
949
939
  else {
950
940
  return visitor.visitChildren(this);
951
941
  }
952
942
  }
953
943
  }
954
- exports.SELiteralContext = SELiteralContext;
944
+ exports.SEUnaryMultipleMinusContext = SEUnaryMultipleMinusContext;
955
945
  class SEParenthesisContext extends SingleExprContext {
956
- constructor(parser, ctx) {
957
- super(parser, ctx.parentCtx, ctx.invokingState);
946
+ constructor(ctx) {
947
+ super(ctx.parent, ctx.invokingState);
958
948
  super.copyFrom(ctx);
959
949
  }
960
950
  singleExpr() {
961
- return this.getTypedRuleContext(SingleExprContext, 0);
951
+ return this.getRuleContext(0, SingleExprContext);
962
952
  }
963
953
  enterRule(listener) {
964
954
  if (listener.enterSEParenthesis) {
@@ -970,7 +960,6 @@ class SEParenthesisContext extends SingleExprContext {
970
960
  listener.exitSEParenthesis(this);
971
961
  }
972
962
  }
973
- // @Override
974
963
  accept(visitor) {
975
964
  if (visitor.visitSEParenthesis) {
976
965
  return visitor.visitSEParenthesis(this);
@@ -981,112 +970,97 @@ class SEParenthesisContext extends SingleExprContext {
981
970
  }
982
971
  }
983
972
  exports.SEParenthesisContext = SEParenthesisContext;
984
- class SEMulDivContext extends SingleExprContext {
985
- constructor(parser, ctx) {
986
- super(parser, ctx.parentCtx, ctx.invokingState);
973
+ class SEUnaryMinusContext extends SingleExprContext {
974
+ constructor(ctx) {
975
+ super(ctx.parent, ctx.invokingState);
987
976
  super.copyFrom(ctx);
988
977
  }
989
- singleExpr_list() {
990
- return this.getTypedRuleContexts(SingleExprContext);
991
- }
992
- singleExpr(i) {
993
- return this.getTypedRuleContext(SingleExprContext, i);
978
+ singleExpr() {
979
+ return this.getRuleContext(0, SingleExprContext);
994
980
  }
995
981
  enterRule(listener) {
996
- if (listener.enterSEMulDiv) {
997
- listener.enterSEMulDiv(this);
982
+ if (listener.enterSEUnaryMinus) {
983
+ listener.enterSEUnaryMinus(this);
998
984
  }
999
985
  }
1000
986
  exitRule(listener) {
1001
- if (listener.exitSEMulDiv) {
1002
- listener.exitSEMulDiv(this);
987
+ if (listener.exitSEUnaryMinus) {
988
+ listener.exitSEUnaryMinus(this);
1003
989
  }
1004
990
  }
1005
- // @Override
1006
991
  accept(visitor) {
1007
- if (visitor.visitSEMulDiv) {
1008
- return visitor.visitSEMulDiv(this);
992
+ if (visitor.visitSEUnaryMinus) {
993
+ return visitor.visitSEUnaryMinus(this);
1009
994
  }
1010
995
  else {
1011
996
  return visitor.visitChildren(this);
1012
997
  }
1013
998
  }
1014
999
  }
1015
- exports.SEMulDivContext = SEMulDivContext;
1016
- class SEPowerContext extends SingleExprContext {
1017
- constructor(parser, ctx) {
1018
- super(parser, ctx.parentCtx, ctx.invokingState);
1000
+ exports.SEUnaryMinusContext = SEUnaryMinusContext;
1001
+ class SENotContext extends SingleExprContext {
1002
+ constructor(ctx) {
1003
+ super(ctx.parent, ctx.invokingState);
1019
1004
  super.copyFrom(ctx);
1020
1005
  }
1021
- singleExpr_list() {
1022
- return this.getTypedRuleContexts(SingleExprContext);
1023
- }
1024
- singleExpr(i) {
1025
- return this.getTypedRuleContext(SingleExprContext, i);
1006
+ singleExpr() {
1007
+ return this.getRuleContext(0, SingleExprContext);
1026
1008
  }
1027
1009
  enterRule(listener) {
1028
- if (listener.enterSEPower) {
1029
- listener.enterSEPower(this);
1010
+ if (listener.enterSENot) {
1011
+ listener.enterSENot(this);
1030
1012
  }
1031
1013
  }
1032
1014
  exitRule(listener) {
1033
- if (listener.exitSEPower) {
1034
- listener.exitSEPower(this);
1015
+ if (listener.exitSENot) {
1016
+ listener.exitSENot(this);
1035
1017
  }
1036
1018
  }
1037
- // @Override
1038
1019
  accept(visitor) {
1039
- if (visitor.visitSEPower) {
1040
- return visitor.visitSEPower(this);
1020
+ if (visitor.visitSENot) {
1021
+ return visitor.visitSENot(this);
1041
1022
  }
1042
1023
  else {
1043
1024
  return visitor.visitChildren(this);
1044
1025
  }
1045
1026
  }
1046
1027
  }
1047
- exports.SEPowerContext = SEPowerContext;
1048
- class SEBooleanBinaryOpContext extends SingleExprContext {
1049
- constructor(parser, ctx) {
1050
- super(parser, ctx.parentCtx, ctx.invokingState);
1028
+ exports.SENotContext = SENotContext;
1029
+ class SEVariableRefContext extends SingleExprContext {
1030
+ constructor(ctx) {
1031
+ super(ctx.parent, ctx.invokingState);
1051
1032
  super.copyFrom(ctx);
1052
1033
  }
1053
- singleExpr_list() {
1054
- return this.getTypedRuleContexts(SingleExprContext);
1055
- }
1056
- singleExpr(i) {
1057
- return this.getTypedRuleContext(SingleExprContext, i);
1058
- }
1059
- BOOLEAN_BINARY_OP() {
1060
- return this.getToken(IfcExpressionParser.BOOLEAN_BINARY_OP, 0);
1034
+ variableRef() {
1035
+ return this.getRuleContext(0, VariableRefContext);
1061
1036
  }
1062
1037
  enterRule(listener) {
1063
- if (listener.enterSEBooleanBinaryOp) {
1064
- listener.enterSEBooleanBinaryOp(this);
1038
+ if (listener.enterSEVariableRef) {
1039
+ listener.enterSEVariableRef(this);
1065
1040
  }
1066
1041
  }
1067
1042
  exitRule(listener) {
1068
- if (listener.exitSEBooleanBinaryOp) {
1069
- listener.exitSEBooleanBinaryOp(this);
1043
+ if (listener.exitSEVariableRef) {
1044
+ listener.exitSEVariableRef(this);
1070
1045
  }
1071
1046
  }
1072
- // @Override
1073
1047
  accept(visitor) {
1074
- if (visitor.visitSEBooleanBinaryOp) {
1075
- return visitor.visitSEBooleanBinaryOp(this);
1048
+ if (visitor.visitSEVariableRef) {
1049
+ return visitor.visitSEVariableRef(this);
1076
1050
  }
1077
1051
  else {
1078
1052
  return visitor.visitChildren(this);
1079
1053
  }
1080
1054
  }
1081
1055
  }
1082
- exports.SEBooleanBinaryOpContext = SEBooleanBinaryOpContext;
1056
+ exports.SEVariableRefContext = SEVariableRefContext;
1083
1057
  class SEFunctionCallContext extends SingleExprContext {
1084
- constructor(parser, ctx) {
1085
- super(parser, ctx.parentCtx, ctx.invokingState);
1058
+ constructor(ctx) {
1059
+ super(ctx.parent, ctx.invokingState);
1086
1060
  super.copyFrom(ctx);
1087
1061
  }
1088
1062
  functionCall() {
1089
- return this.getTypedRuleContext(FunctionCallContext, 0);
1063
+ return this.getRuleContext(0, FunctionCallContext);
1090
1064
  }
1091
1065
  enterRule(listener) {
1092
1066
  if (listener.enterSEFunctionCall) {
@@ -1098,7 +1072,6 @@ class SEFunctionCallContext extends SingleExprContext {
1098
1072
  listener.exitSEFunctionCall(this);
1099
1073
  }
1100
1074
  }
1101
- // @Override
1102
1075
  accept(visitor) {
1103
1076
  if (visitor.visitSEFunctionCall) {
1104
1077
  return visitor.visitSEFunctionCall(this);
@@ -1109,13 +1082,41 @@ class SEFunctionCallContext extends SingleExprContext {
1109
1082
  }
1110
1083
  }
1111
1084
  exports.SEFunctionCallContext = SEFunctionCallContext;
1085
+ class SELiteralContext extends SingleExprContext {
1086
+ constructor(ctx) {
1087
+ super(ctx.parent, ctx.invokingState);
1088
+ super.copyFrom(ctx);
1089
+ }
1090
+ literal() {
1091
+ return this.getRuleContext(0, LiteralContext);
1092
+ }
1093
+ enterRule(listener) {
1094
+ if (listener.enterSELiteral) {
1095
+ listener.enterSELiteral(this);
1096
+ }
1097
+ }
1098
+ exitRule(listener) {
1099
+ if (listener.exitSELiteral) {
1100
+ listener.exitSELiteral(this);
1101
+ }
1102
+ }
1103
+ accept(visitor) {
1104
+ if (visitor.visitSELiteral) {
1105
+ return visitor.visitSELiteral(this);
1106
+ }
1107
+ else {
1108
+ return visitor.visitChildren(this);
1109
+ }
1110
+ }
1111
+ }
1112
+ exports.SELiteralContext = SELiteralContext;
1112
1113
  class SEArrayExprContext extends SingleExprContext {
1113
- constructor(parser, ctx) {
1114
- super(parser, ctx.parentCtx, ctx.invokingState);
1114
+ constructor(ctx) {
1115
+ super(ctx.parent, ctx.invokingState);
1115
1116
  super.copyFrom(ctx);
1116
1117
  }
1117
1118
  arrayExpr() {
1118
- return this.getTypedRuleContext(ArrayExprContext, 0);
1119
+ return this.getRuleContext(0, ArrayExprContext);
1119
1120
  }
1120
1121
  enterRule(listener) {
1121
1122
  if (listener.enterSEArrayExpr) {
@@ -1127,7 +1128,6 @@ class SEArrayExprContext extends SingleExprContext {
1127
1128
  listener.exitSEArrayExpr(this);
1128
1129
  }
1129
1130
  }
1130
- // @Override
1131
1131
  accept(visitor) {
1132
1132
  if (visitor.visitSEArrayExpr) {
1133
1133
  return visitor.visitSEArrayExpr(this);
@@ -1138,164 +1138,177 @@ class SEArrayExprContext extends SingleExprContext {
1138
1138
  }
1139
1139
  }
1140
1140
  exports.SEArrayExprContext = SEArrayExprContext;
1141
- class SENotContext extends SingleExprContext {
1142
- constructor(parser, ctx) {
1143
- super(parser, ctx.parentCtx, ctx.invokingState);
1141
+ class SEPowerContext extends SingleExprContext {
1142
+ constructor(ctx) {
1143
+ super(ctx.parent, ctx.invokingState);
1144
1144
  super.copyFrom(ctx);
1145
1145
  }
1146
- singleExpr() {
1147
- return this.getTypedRuleContext(SingleExprContext, 0);
1146
+ singleExpr(i) {
1147
+ if (i === undefined) {
1148
+ return this.getRuleContexts(SingleExprContext);
1149
+ }
1150
+ return this.getRuleContext(i, SingleExprContext);
1148
1151
  }
1149
1152
  enterRule(listener) {
1150
- if (listener.enterSENot) {
1151
- listener.enterSENot(this);
1153
+ if (listener.enterSEPower) {
1154
+ listener.enterSEPower(this);
1152
1155
  }
1153
1156
  }
1154
1157
  exitRule(listener) {
1155
- if (listener.exitSENot) {
1156
- listener.exitSENot(this);
1158
+ if (listener.exitSEPower) {
1159
+ listener.exitSEPower(this);
1157
1160
  }
1158
1161
  }
1159
- // @Override
1160
1162
  accept(visitor) {
1161
- if (visitor.visitSENot) {
1162
- return visitor.visitSENot(this);
1163
+ if (visitor.visitSEPower) {
1164
+ return visitor.visitSEPower(this);
1163
1165
  }
1164
1166
  else {
1165
1167
  return visitor.visitChildren(this);
1166
1168
  }
1167
1169
  }
1168
1170
  }
1169
- exports.SENotContext = SENotContext;
1170
- class SEVariableRefContext extends SingleExprContext {
1171
- constructor(parser, ctx) {
1172
- super(parser, ctx.parentCtx, ctx.invokingState);
1171
+ exports.SEPowerContext = SEPowerContext;
1172
+ class SEMulDivContext extends SingleExprContext {
1173
+ constructor(ctx) {
1174
+ super(ctx.parent, ctx.invokingState);
1173
1175
  super.copyFrom(ctx);
1174
1176
  }
1175
- variableRef() {
1176
- return this.getTypedRuleContext(VariableRefContext, 0);
1177
+ singleExpr(i) {
1178
+ if (i === undefined) {
1179
+ return this.getRuleContexts(SingleExprContext);
1180
+ }
1181
+ return this.getRuleContext(i, SingleExprContext);
1177
1182
  }
1178
1183
  enterRule(listener) {
1179
- if (listener.enterSEVariableRef) {
1180
- listener.enterSEVariableRef(this);
1184
+ if (listener.enterSEMulDiv) {
1185
+ listener.enterSEMulDiv(this);
1181
1186
  }
1182
1187
  }
1183
1188
  exitRule(listener) {
1184
- if (listener.exitSEVariableRef) {
1185
- listener.exitSEVariableRef(this);
1189
+ if (listener.exitSEMulDiv) {
1190
+ listener.exitSEMulDiv(this);
1186
1191
  }
1187
1192
  }
1188
- // @Override
1189
1193
  accept(visitor) {
1190
- if (visitor.visitSEVariableRef) {
1191
- return visitor.visitSEVariableRef(this);
1194
+ if (visitor.visitSEMulDiv) {
1195
+ return visitor.visitSEMulDiv(this);
1192
1196
  }
1193
1197
  else {
1194
1198
  return visitor.visitChildren(this);
1195
1199
  }
1196
1200
  }
1197
1201
  }
1198
- exports.SEVariableRefContext = SEVariableRefContext;
1199
- class SEUnaryMultipleMinusContext extends SingleExprContext {
1200
- constructor(parser, ctx) {
1201
- super(parser, ctx.parentCtx, ctx.invokingState);
1202
+ exports.SEMulDivContext = SEMulDivContext;
1203
+ class SEAddSubContext extends SingleExprContext {
1204
+ constructor(ctx) {
1205
+ super(ctx.parent, ctx.invokingState);
1202
1206
  super.copyFrom(ctx);
1203
1207
  }
1204
- singleExpr() {
1205
- return this.getTypedRuleContext(SingleExprContext, 0);
1208
+ singleExpr(i) {
1209
+ if (i === undefined) {
1210
+ return this.getRuleContexts(SingleExprContext);
1211
+ }
1212
+ return this.getRuleContext(i, SingleExprContext);
1206
1213
  }
1207
1214
  enterRule(listener) {
1208
- if (listener.enterSEUnaryMultipleMinus) {
1209
- listener.enterSEUnaryMultipleMinus(this);
1215
+ if (listener.enterSEAddSub) {
1216
+ listener.enterSEAddSub(this);
1210
1217
  }
1211
1218
  }
1212
1219
  exitRule(listener) {
1213
- if (listener.exitSEUnaryMultipleMinus) {
1214
- listener.exitSEUnaryMultipleMinus(this);
1220
+ if (listener.exitSEAddSub) {
1221
+ listener.exitSEAddSub(this);
1215
1222
  }
1216
1223
  }
1217
- // @Override
1218
1224
  accept(visitor) {
1219
- if (visitor.visitSEUnaryMultipleMinus) {
1220
- return visitor.visitSEUnaryMultipleMinus(this);
1225
+ if (visitor.visitSEAddSub) {
1226
+ return visitor.visitSEAddSub(this);
1221
1227
  }
1222
1228
  else {
1223
1229
  return visitor.visitChildren(this);
1224
1230
  }
1225
1231
  }
1226
1232
  }
1227
- exports.SEUnaryMultipleMinusContext = SEUnaryMultipleMinusContext;
1228
- class SEUnaryMinusContext extends SingleExprContext {
1229
- constructor(parser, ctx) {
1230
- super(parser, ctx.parentCtx, ctx.invokingState);
1233
+ exports.SEAddSubContext = SEAddSubContext;
1234
+ class SEComparisonContext extends SingleExprContext {
1235
+ constructor(ctx) {
1236
+ super(ctx.parent, ctx.invokingState);
1231
1237
  super.copyFrom(ctx);
1232
1238
  }
1233
- singleExpr() {
1234
- return this.getTypedRuleContext(SingleExprContext, 0);
1239
+ CMP_OP() {
1240
+ return this.getToken(IfcExpressionParser.CMP_OP, 0);
1241
+ }
1242
+ singleExpr(i) {
1243
+ if (i === undefined) {
1244
+ return this.getRuleContexts(SingleExprContext);
1245
+ }
1246
+ return this.getRuleContext(i, SingleExprContext);
1235
1247
  }
1236
1248
  enterRule(listener) {
1237
- if (listener.enterSEUnaryMinus) {
1238
- listener.enterSEUnaryMinus(this);
1249
+ if (listener.enterSEComparison) {
1250
+ listener.enterSEComparison(this);
1239
1251
  }
1240
1252
  }
1241
1253
  exitRule(listener) {
1242
- if (listener.exitSEUnaryMinus) {
1243
- listener.exitSEUnaryMinus(this);
1254
+ if (listener.exitSEComparison) {
1255
+ listener.exitSEComparison(this);
1244
1256
  }
1245
1257
  }
1246
- // @Override
1247
1258
  accept(visitor) {
1248
- if (visitor.visitSEUnaryMinus) {
1249
- return visitor.visitSEUnaryMinus(this);
1259
+ if (visitor.visitSEComparison) {
1260
+ return visitor.visitSEComparison(this);
1250
1261
  }
1251
1262
  else {
1252
1263
  return visitor.visitChildren(this);
1253
1264
  }
1254
1265
  }
1255
1266
  }
1256
- exports.SEUnaryMinusContext = SEUnaryMinusContext;
1257
- class SEAddSubContext extends SingleExprContext {
1258
- constructor(parser, ctx) {
1259
- super(parser, ctx.parentCtx, ctx.invokingState);
1267
+ exports.SEComparisonContext = SEComparisonContext;
1268
+ class SEBooleanBinaryOpContext extends SingleExprContext {
1269
+ constructor(ctx) {
1270
+ super(ctx.parent, ctx.invokingState);
1260
1271
  super.copyFrom(ctx);
1261
1272
  }
1262
- singleExpr_list() {
1263
- return this.getTypedRuleContexts(SingleExprContext);
1264
- }
1265
1273
  singleExpr(i) {
1266
- return this.getTypedRuleContext(SingleExprContext, i);
1274
+ if (i === undefined) {
1275
+ return this.getRuleContexts(SingleExprContext);
1276
+ }
1277
+ return this.getRuleContext(i, SingleExprContext);
1278
+ }
1279
+ BOOLEAN_BINARY_OP() {
1280
+ return this.getToken(IfcExpressionParser.BOOLEAN_BINARY_OP, 0);
1267
1281
  }
1268
1282
  enterRule(listener) {
1269
- if (listener.enterSEAddSub) {
1270
- listener.enterSEAddSub(this);
1283
+ if (listener.enterSEBooleanBinaryOp) {
1284
+ listener.enterSEBooleanBinaryOp(this);
1271
1285
  }
1272
1286
  }
1273
1287
  exitRule(listener) {
1274
- if (listener.exitSEAddSub) {
1275
- listener.exitSEAddSub(this);
1288
+ if (listener.exitSEBooleanBinaryOp) {
1289
+ listener.exitSEBooleanBinaryOp(this);
1276
1290
  }
1277
1291
  }
1278
- // @Override
1279
1292
  accept(visitor) {
1280
- if (visitor.visitSEAddSub) {
1281
- return visitor.visitSEAddSub(this);
1293
+ if (visitor.visitSEBooleanBinaryOp) {
1294
+ return visitor.visitSEBooleanBinaryOp(this);
1282
1295
  }
1283
1296
  else {
1284
1297
  return visitor.visitChildren(this);
1285
1298
  }
1286
1299
  }
1287
1300
  }
1288
- exports.SEAddSubContext = SEAddSubContext;
1301
+ exports.SEBooleanBinaryOpContext = SEBooleanBinaryOpContext;
1289
1302
  class SEMethodCallContext extends SingleExprContext {
1290
- constructor(parser, ctx) {
1291
- super(parser, ctx.parentCtx, ctx.invokingState);
1303
+ constructor(ctx) {
1304
+ super(ctx.parent, ctx.invokingState);
1292
1305
  super.copyFrom(ctx);
1293
1306
  }
1294
1307
  singleExpr() {
1295
- return this.getTypedRuleContext(SingleExprContext, 0);
1308
+ return this.getRuleContext(0, SingleExprContext);
1296
1309
  }
1297
1310
  methodCallChain() {
1298
- return this.getTypedRuleContext(MethodCallChainContext, 0);
1311
+ return this.getRuleContext(0, MethodCallChainContext);
1299
1312
  }
1300
1313
  enterRule(listener) {
1301
1314
  if (listener.enterSEMethodCall) {
@@ -1307,7 +1320,6 @@ class SEMethodCallContext extends SingleExprContext {
1307
1320
  listener.exitSEMethodCall(this);
1308
1321
  }
1309
1322
  }
1310
- // @Override
1311
1323
  accept(visitor) {
1312
1324
  if (visitor.visitSEMethodCall) {
1313
1325
  return visitor.visitSEMethodCall(this);
@@ -1318,10 +1330,9 @@ class SEMethodCallContext extends SingleExprContext {
1318
1330
  }
1319
1331
  }
1320
1332
  exports.SEMethodCallContext = SEMethodCallContext;
1321
- class MethodCallChainContext extends antlr4_1.ParserRuleContext {
1322
- constructor(parser, parent, invokingState) {
1333
+ class MethodCallChainContext extends antlr.ParserRuleContext {
1334
+ constructor(parent, invokingState) {
1323
1335
  super(parent, invokingState);
1324
- this.parser = parser;
1325
1336
  }
1326
1337
  get ruleIndex() {
1327
1338
  return IfcExpressionParser.RULE_methodCallChain;
@@ -1332,18 +1343,18 @@ class MethodCallChainContext extends antlr4_1.ParserRuleContext {
1332
1343
  }
1333
1344
  exports.MethodCallChainContext = MethodCallChainContext;
1334
1345
  class MethodCallChainInnerContext extends MethodCallChainContext {
1335
- constructor(parser, ctx) {
1336
- super(parser, ctx.parentCtx, ctx.invokingState);
1346
+ constructor(ctx) {
1347
+ super(ctx.parent, ctx.invokingState);
1337
1348
  super.copyFrom(ctx);
1338
1349
  }
1339
1350
  DOT() {
1340
1351
  return this.getToken(IfcExpressionParser.DOT, 0);
1341
1352
  }
1342
- functionCall() {
1343
- return this.getTypedRuleContext(FunctionCallContext, 0);
1353
+ methodAccessor() {
1354
+ return this.getRuleContext(0, MethodAccessorContext);
1344
1355
  }
1345
1356
  methodCallChain() {
1346
- return this.getTypedRuleContext(MethodCallChainContext, 0);
1357
+ return this.getRuleContext(0, MethodCallChainContext);
1347
1358
  }
1348
1359
  enterRule(listener) {
1349
1360
  if (listener.enterMethodCallChainInner) {
@@ -1355,7 +1366,6 @@ class MethodCallChainInnerContext extends MethodCallChainContext {
1355
1366
  listener.exitMethodCallChainInner(this);
1356
1367
  }
1357
1368
  }
1358
- // @Override
1359
1369
  accept(visitor) {
1360
1370
  if (visitor.visitMethodCallChainInner) {
1361
1371
  return visitor.visitMethodCallChainInner(this);
@@ -1367,15 +1377,15 @@ class MethodCallChainInnerContext extends MethodCallChainContext {
1367
1377
  }
1368
1378
  exports.MethodCallChainInnerContext = MethodCallChainInnerContext;
1369
1379
  class MethodCallChainEndContext extends MethodCallChainContext {
1370
- constructor(parser, ctx) {
1371
- super(parser, ctx.parentCtx, ctx.invokingState);
1380
+ constructor(ctx) {
1381
+ super(ctx.parent, ctx.invokingState);
1372
1382
  super.copyFrom(ctx);
1373
1383
  }
1374
1384
  DOT() {
1375
1385
  return this.getToken(IfcExpressionParser.DOT, 0);
1376
1386
  }
1377
- functionCall() {
1378
- return this.getTypedRuleContext(FunctionCallContext, 0);
1387
+ methodAccessor() {
1388
+ return this.getRuleContext(0, MethodAccessorContext);
1379
1389
  }
1380
1390
  enterRule(listener) {
1381
1391
  if (listener.enterMethodCallChainEnd) {
@@ -1387,7 +1397,6 @@ class MethodCallChainEndContext extends MethodCallChainContext {
1387
1397
  listener.exitMethodCallChainEnd(this);
1388
1398
  }
1389
1399
  }
1390
- // @Override
1391
1400
  accept(visitor) {
1392
1401
  if (visitor.visitMethodCallChainEnd) {
1393
1402
  return visitor.visitMethodCallChainEnd(this);
@@ -1398,16 +1407,83 @@ class MethodCallChainEndContext extends MethodCallChainContext {
1398
1407
  }
1399
1408
  }
1400
1409
  exports.MethodCallChainEndContext = MethodCallChainEndContext;
1401
- class FunctionCallContext extends antlr4_1.ParserRuleContext {
1402
- constructor(parser, parent, invokingState) {
1410
+ class MethodAccessorContext extends antlr.ParserRuleContext {
1411
+ constructor(parent, invokingState) {
1412
+ super(parent, invokingState);
1413
+ }
1414
+ get ruleIndex() {
1415
+ return IfcExpressionParser.RULE_methodAccessor;
1416
+ }
1417
+ copyFrom(ctx) {
1418
+ super.copyFrom(ctx);
1419
+ }
1420
+ }
1421
+ exports.MethodAccessorContext = MethodAccessorContext;
1422
+ class MethodFunctionCallContext extends MethodAccessorContext {
1423
+ constructor(ctx) {
1424
+ super(ctx.parent, ctx.invokingState);
1425
+ super.copyFrom(ctx);
1426
+ }
1427
+ functionCall() {
1428
+ return this.getRuleContext(0, FunctionCallContext);
1429
+ }
1430
+ enterRule(listener) {
1431
+ if (listener.enterMethodFunctionCall) {
1432
+ listener.enterMethodFunctionCall(this);
1433
+ }
1434
+ }
1435
+ exitRule(listener) {
1436
+ if (listener.exitMethodFunctionCall) {
1437
+ listener.exitMethodFunctionCall(this);
1438
+ }
1439
+ }
1440
+ accept(visitor) {
1441
+ if (visitor.visitMethodFunctionCall) {
1442
+ return visitor.visitMethodFunctionCall(this);
1443
+ }
1444
+ else {
1445
+ return visitor.visitChildren(this);
1446
+ }
1447
+ }
1448
+ }
1449
+ exports.MethodFunctionCallContext = MethodFunctionCallContext;
1450
+ class MethodPropertyAccessContext extends MethodAccessorContext {
1451
+ constructor(ctx) {
1452
+ super(ctx.parent, ctx.invokingState);
1453
+ super.copyFrom(ctx);
1454
+ }
1455
+ IDENTIFIER() {
1456
+ return this.getToken(IfcExpressionParser.IDENTIFIER, 0);
1457
+ }
1458
+ enterRule(listener) {
1459
+ if (listener.enterMethodPropertyAccess) {
1460
+ listener.enterMethodPropertyAccess(this);
1461
+ }
1462
+ }
1463
+ exitRule(listener) {
1464
+ if (listener.exitMethodPropertyAccess) {
1465
+ listener.exitMethodPropertyAccess(this);
1466
+ }
1467
+ }
1468
+ accept(visitor) {
1469
+ if (visitor.visitMethodPropertyAccess) {
1470
+ return visitor.visitMethodPropertyAccess(this);
1471
+ }
1472
+ else {
1473
+ return visitor.visitChildren(this);
1474
+ }
1475
+ }
1476
+ }
1477
+ exports.MethodPropertyAccessContext = MethodPropertyAccessContext;
1478
+ class FunctionCallContext extends antlr.ParserRuleContext {
1479
+ constructor(parent, invokingState) {
1403
1480
  super(parent, invokingState);
1404
- this.parser = parser;
1405
1481
  }
1406
1482
  IDENTIFIER() {
1407
1483
  return this.getToken(IfcExpressionParser.IDENTIFIER, 0);
1408
1484
  }
1409
1485
  exprList() {
1410
- return this.getTypedRuleContext(ExprListContext, 0);
1486
+ return this.getRuleContext(0, ExprListContext);
1411
1487
  }
1412
1488
  get ruleIndex() {
1413
1489
  return IfcExpressionParser.RULE_functionCall;
@@ -1422,7 +1498,6 @@ class FunctionCallContext extends antlr4_1.ParserRuleContext {
1422
1498
  listener.exitFunctionCall(this);
1423
1499
  }
1424
1500
  }
1425
- // @Override
1426
1501
  accept(visitor) {
1427
1502
  if (visitor.visitFunctionCall) {
1428
1503
  return visitor.visitFunctionCall(this);
@@ -1433,16 +1508,15 @@ class FunctionCallContext extends antlr4_1.ParserRuleContext {
1433
1508
  }
1434
1509
  }
1435
1510
  exports.FunctionCallContext = FunctionCallContext;
1436
- class ExprListContext extends antlr4_1.ParserRuleContext {
1437
- constructor(parser, parent, invokingState) {
1511
+ class ExprListContext extends antlr.ParserRuleContext {
1512
+ constructor(parent, invokingState) {
1438
1513
  super(parent, invokingState);
1439
- this.parser = parser;
1440
1514
  }
1441
1515
  singleExpr() {
1442
- return this.getTypedRuleContext(SingleExprContext, 0);
1516
+ return this.getRuleContext(0, SingleExprContext);
1443
1517
  }
1444
1518
  exprList() {
1445
- return this.getTypedRuleContext(ExprListContext, 0);
1519
+ return this.getRuleContext(0, ExprListContext);
1446
1520
  }
1447
1521
  get ruleIndex() {
1448
1522
  return IfcExpressionParser.RULE_exprList;
@@ -1457,7 +1531,6 @@ class ExprListContext extends antlr4_1.ParserRuleContext {
1457
1531
  listener.exitExprList(this);
1458
1532
  }
1459
1533
  }
1460
- // @Override
1461
1534
  accept(visitor) {
1462
1535
  if (visitor.visitExprList) {
1463
1536
  return visitor.visitExprList(this);
@@ -1468,13 +1541,12 @@ class ExprListContext extends antlr4_1.ParserRuleContext {
1468
1541
  }
1469
1542
  }
1470
1543
  exports.ExprListContext = ExprListContext;
1471
- class ArrayExprContext extends antlr4_1.ParserRuleContext {
1472
- constructor(parser, parent, invokingState) {
1544
+ class ArrayExprContext extends antlr.ParserRuleContext {
1545
+ constructor(parent, invokingState) {
1473
1546
  super(parent, invokingState);
1474
- this.parser = parser;
1475
1547
  }
1476
1548
  arrayElementList() {
1477
- return this.getTypedRuleContext(ArrayElementListContext, 0);
1549
+ return this.getRuleContext(0, ArrayElementListContext);
1478
1550
  }
1479
1551
  get ruleIndex() {
1480
1552
  return IfcExpressionParser.RULE_arrayExpr;
@@ -1489,7 +1561,6 @@ class ArrayExprContext extends antlr4_1.ParserRuleContext {
1489
1561
  listener.exitArrayExpr(this);
1490
1562
  }
1491
1563
  }
1492
- // @Override
1493
1564
  accept(visitor) {
1494
1565
  if (visitor.visitArrayExpr) {
1495
1566
  return visitor.visitArrayExpr(this);
@@ -1500,16 +1571,15 @@ class ArrayExprContext extends antlr4_1.ParserRuleContext {
1500
1571
  }
1501
1572
  }
1502
1573
  exports.ArrayExprContext = ArrayExprContext;
1503
- class ArrayElementListContext extends antlr4_1.ParserRuleContext {
1504
- constructor(parser, parent, invokingState) {
1574
+ class ArrayElementListContext extends antlr.ParserRuleContext {
1575
+ constructor(parent, invokingState) {
1505
1576
  super(parent, invokingState);
1506
- this.parser = parser;
1507
1577
  }
1508
1578
  singleExpr() {
1509
- return this.getTypedRuleContext(SingleExprContext, 0);
1579
+ return this.getRuleContext(0, SingleExprContext);
1510
1580
  }
1511
1581
  arrayElementList() {
1512
- return this.getTypedRuleContext(ArrayElementListContext, 0);
1582
+ return this.getRuleContext(0, ArrayElementListContext);
1513
1583
  }
1514
1584
  get ruleIndex() {
1515
1585
  return IfcExpressionParser.RULE_arrayElementList;
@@ -1524,7 +1594,6 @@ class ArrayElementListContext extends antlr4_1.ParserRuleContext {
1524
1594
  listener.exitArrayElementList(this);
1525
1595
  }
1526
1596
  }
1527
- // @Override
1528
1597
  accept(visitor) {
1529
1598
  if (visitor.visitArrayElementList) {
1530
1599
  return visitor.visitArrayElementList(this);
@@ -1535,22 +1604,21 @@ class ArrayElementListContext extends antlr4_1.ParserRuleContext {
1535
1604
  }
1536
1605
  }
1537
1606
  exports.ArrayElementListContext = ArrayElementListContext;
1538
- class LiteralContext extends antlr4_1.ParserRuleContext {
1539
- constructor(parser, parent, invokingState) {
1607
+ class LiteralContext extends antlr.ParserRuleContext {
1608
+ constructor(parent, invokingState) {
1540
1609
  super(parent, invokingState);
1541
- this.parser = parser;
1542
1610
  }
1543
1611
  numLiteral() {
1544
- return this.getTypedRuleContext(NumLiteralContext, 0);
1612
+ return this.getRuleContext(0, NumLiteralContext);
1545
1613
  }
1546
1614
  stringLiteral() {
1547
- return this.getTypedRuleContext(StringLiteralContext, 0);
1615
+ return this.getRuleContext(0, StringLiteralContext);
1548
1616
  }
1549
1617
  booleanLiteral() {
1550
- return this.getTypedRuleContext(BooleanLiteralContext, 0);
1618
+ return this.getRuleContext(0, BooleanLiteralContext);
1551
1619
  }
1552
1620
  logicalLiteral() {
1553
- return this.getTypedRuleContext(LogicalLiteralContext, 0);
1621
+ return this.getRuleContext(0, LogicalLiteralContext);
1554
1622
  }
1555
1623
  get ruleIndex() {
1556
1624
  return IfcExpressionParser.RULE_literal;
@@ -1565,7 +1633,6 @@ class LiteralContext extends antlr4_1.ParserRuleContext {
1565
1633
  listener.exitLiteral(this);
1566
1634
  }
1567
1635
  }
1568
- // @Override
1569
1636
  accept(visitor) {
1570
1637
  if (visitor.visitLiteral) {
1571
1638
  return visitor.visitLiteral(this);
@@ -1576,10 +1643,9 @@ class LiteralContext extends antlr4_1.ParserRuleContext {
1576
1643
  }
1577
1644
  }
1578
1645
  exports.LiteralContext = LiteralContext;
1579
- class NumLiteralContext extends antlr4_1.ParserRuleContext {
1580
- constructor(parser, parent, invokingState) {
1646
+ class NumLiteralContext extends antlr.ParserRuleContext {
1647
+ constructor(parent, invokingState) {
1581
1648
  super(parent, invokingState);
1582
- this.parser = parser;
1583
1649
  }
1584
1650
  INT() {
1585
1651
  return this.getToken(IfcExpressionParser.INT, 0);
@@ -1600,7 +1666,6 @@ class NumLiteralContext extends antlr4_1.ParserRuleContext {
1600
1666
  listener.exitNumLiteral(this);
1601
1667
  }
1602
1668
  }
1603
- // @Override
1604
1669
  accept(visitor) {
1605
1670
  if (visitor.visitNumLiteral) {
1606
1671
  return visitor.visitNumLiteral(this);
@@ -1611,10 +1676,9 @@ class NumLiteralContext extends antlr4_1.ParserRuleContext {
1611
1676
  }
1612
1677
  }
1613
1678
  exports.NumLiteralContext = NumLiteralContext;
1614
- class StringLiteralContext extends antlr4_1.ParserRuleContext {
1615
- constructor(parser, parent, invokingState) {
1679
+ class StringLiteralContext extends antlr.ParserRuleContext {
1680
+ constructor(parent, invokingState) {
1616
1681
  super(parent, invokingState);
1617
- this.parser = parser;
1618
1682
  }
1619
1683
  QUOTED_STRING() {
1620
1684
  return this.getToken(IfcExpressionParser.QUOTED_STRING, 0);
@@ -1632,7 +1696,6 @@ class StringLiteralContext extends antlr4_1.ParserRuleContext {
1632
1696
  listener.exitStringLiteral(this);
1633
1697
  }
1634
1698
  }
1635
- // @Override
1636
1699
  accept(visitor) {
1637
1700
  if (visitor.visitStringLiteral) {
1638
1701
  return visitor.visitStringLiteral(this);
@@ -1643,10 +1706,9 @@ class StringLiteralContext extends antlr4_1.ParserRuleContext {
1643
1706
  }
1644
1707
  }
1645
1708
  exports.StringLiteralContext = StringLiteralContext;
1646
- class BooleanLiteralContext extends antlr4_1.ParserRuleContext {
1647
- constructor(parser, parent, invokingState) {
1709
+ class BooleanLiteralContext extends antlr.ParserRuleContext {
1710
+ constructor(parent, invokingState) {
1648
1711
  super(parent, invokingState);
1649
- this.parser = parser;
1650
1712
  }
1651
1713
  BOOLEAN() {
1652
1714
  return this.getToken(IfcExpressionParser.BOOLEAN, 0);
@@ -1664,7 +1726,6 @@ class BooleanLiteralContext extends antlr4_1.ParserRuleContext {
1664
1726
  listener.exitBooleanLiteral(this);
1665
1727
  }
1666
1728
  }
1667
- // @Override
1668
1729
  accept(visitor) {
1669
1730
  if (visitor.visitBooleanLiteral) {
1670
1731
  return visitor.visitBooleanLiteral(this);
@@ -1675,10 +1736,9 @@ class BooleanLiteralContext extends antlr4_1.ParserRuleContext {
1675
1736
  }
1676
1737
  }
1677
1738
  exports.BooleanLiteralContext = BooleanLiteralContext;
1678
- class LogicalLiteralContext extends antlr4_1.ParserRuleContext {
1679
- constructor(parser, parent, invokingState) {
1739
+ class LogicalLiteralContext extends antlr.ParserRuleContext {
1740
+ constructor(parent, invokingState) {
1680
1741
  super(parent, invokingState);
1681
- this.parser = parser;
1682
1742
  }
1683
1743
  LOGICAL_UNKNOWN() {
1684
1744
  return this.getToken(IfcExpressionParser.LOGICAL_UNKNOWN, 0);
@@ -1696,7 +1756,6 @@ class LogicalLiteralContext extends antlr4_1.ParserRuleContext {
1696
1756
  listener.exitLogicalLiteral(this);
1697
1757
  }
1698
1758
  }
1699
- // @Override
1700
1759
  accept(visitor) {
1701
1760
  if (visitor.visitLogicalLiteral) {
1702
1761
  return visitor.visitLogicalLiteral(this);
@@ -1707,10 +1766,9 @@ class LogicalLiteralContext extends antlr4_1.ParserRuleContext {
1707
1766
  }
1708
1767
  }
1709
1768
  exports.LogicalLiteralContext = LogicalLiteralContext;
1710
- class VariableRefContext extends antlr4_1.ParserRuleContext {
1711
- constructor(parser, parent, invokingState) {
1769
+ class VariableRefContext extends antlr.ParserRuleContext {
1770
+ constructor(parent, invokingState) {
1712
1771
  super(parent, invokingState);
1713
- this.parser = parser;
1714
1772
  }
1715
1773
  IDENTIFIER() {
1716
1774
  return this.getToken(IfcExpressionParser.IDENTIFIER, 0);
@@ -1728,7 +1786,6 @@ class VariableRefContext extends antlr4_1.ParserRuleContext {
1728
1786
  listener.exitVariableRef(this);
1729
1787
  }
1730
1788
  }
1731
- // @Override
1732
1789
  accept(visitor) {
1733
1790
  if (visitor.visitVariableRef) {
1734
1791
  return visitor.visitVariableRef(this);