ifc-expressions 2.3.0 → 3.0.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (185) hide show
  1. package/README.md +255 -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 +11 -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 +654 -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 +650 -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 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/impl/MAP.ts"],"names":[],"mappings":"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","file":"expression/function/impl/MAP.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n} from \"../../ExprEvalResult.js\";\nimport { FuncArg } from \"../FuncArg.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ArrayValue } from \"../../../value/ArrayValue.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { FuncArgMappings } from \"../arg/FuncArgMappings.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { TupleType } from \"../../../type/TupleType.js\";\nimport { Types } from \"../../../type/Types.js\";\nimport { TypeDisjunction } from \"../../../type/TypeDisjunction.js\";\nimport { WrongFunctionArgumentTypeException } from \"../../../error/WrongFunctionArgumentTypeException.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ParserRuleContext } from \"antlr4\";\n\nexport class MAP extends Func {\n private static readonly ARG_NAME_MAPPINGS = \"mappings\";\n private static readonly ARG_NAME_MAPPING_INPUT = \"input\";\n private static readonly ARG_NAME_DEFAULT_VALUE = \"defaultValue\";\n\n constructor() {\n super(\"MAP\", [\n new FuncArg(true, MAP.ARG_NAME_MAPPING_INPUT),\n new FuncArgMappings(true, MAP.ARG_NAME_MAPPINGS),\n new FuncArg(false, MAP.ARG_NAME_DEFAULT_VALUE),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n const returnTypes = (argumentTypes[1] as TupleType)\n .getTypes()\n .map((t) => (t as TupleType).getTypes()[1]);\n return Types.or(...returnTypes);\n }\n\n checkArgumentsAndGetReturnType(\n argumentTypes: Array<[ParserRuleContext, ExprType]>,\n ctx\n ): ExprType {\n const returnType = super.checkArgumentsAndGetReturnType(argumentTypes, ctx);\n const tupleTypes = (\n (\n (argumentTypes[1][1] as TupleType)\n .toArrayType()\n .getElementType() as TypeDisjunction\n ).getTypes()[0] as TupleType\n ).getTypes();\n const inType = tupleTypes[0];\n const outType = tupleTypes[1];\n if (!argumentTypes[0][1].overlapsWith(inType)) {\n throw new WrongFunctionArgumentTypeException(\n this.name,\n this.formalArguments[0].name,\n inType,\n argumentTypes[0][1],\n 0,\n argumentTypes[0][0]\n );\n }\n if (\n argumentTypes.length > 2 &&\n !argumentTypes[2][1].overlapsWith(outType)\n ) {\n throw new WrongFunctionArgumentTypeException(\n this.name,\n this.formalArguments[2].name,\n inType,\n argumentTypes[2][1],\n 2,\n argumentTypes[2][0]\n );\n }\n return returnType;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const mappings = evaluatedArguments.get(\n MAP.ARG_NAME_MAPPINGS\n ) as unknown as ArrayValue;\n const input = evaluatedArguments.get(\n MAP.ARG_NAME_MAPPING_INPUT\n ) as unknown as ExpressionValue;\n const defaultValue = evaluatedArguments.get(\n MAP.ARG_NAME_DEFAULT_VALUE\n ) as unknown as ExpressionValue;\n const outerArray = mappings.getValue() as unknown as Array<ArrayValue>;\n const numMappings = outerArray.length;\n for (let i = 0; i < numMappings; i++) {\n const error = FuncArgMappings.checkSingleMapping(\n callingExpr,\n outerArray,\n i\n );\n if (!isNullish(error)) {\n return error;\n }\n const pair = (outerArray[i] as unknown as ArrayValue).getValue();\n if (pair[0].equals(input)) {\n return new ExprEvalSuccessObj(pair[1] as ExpressionValue);\n }\n }\n if (isNullish(defaultValue)) {\n return new ExprEvalFunctionEvaluationErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.UNDEFINED_RESULT,\n \"Input value not found in left column. No default return value specified, therefore the result of MAP() is undefined \",\n this.name,\n callingExpr.getTextSpan()\n );\n }\n return new ExprEvalSuccessObj(defaultValue);\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/impl/MAP.ts"],"names":[],"mappings":"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","file":"expression/function/impl/MAP.js","sourcesContent":["import { Func } from \"../Func.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport {\n ExprEvalFunctionEvaluationErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n ExprEvalSuccessObj,\n} from \"../../ExprEvalResult.js\";\nimport { FuncArg } from \"../FuncArg.js\";\nimport { ExprKind } from \"../../ExprKind.js\";\nimport { ArrayValue } from \"../../../value/ArrayValue.js\";\nimport { isNullish } from \"../../../util/IfcExpressionUtils.js\";\nimport { FuncArgMappings } from \"../arg/FuncArgMappings.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { TupleType } from \"../../../type/TupleType.js\";\nimport { Types } from \"../../../type/Types.js\";\nimport { TypeDisjunction } from \"../../../type/TypeDisjunction.js\";\nimport { WrongFunctionArgumentTypeException } from \"../../../error/WrongFunctionArgumentTypeException.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { ParserRuleContext } from \"antlr4ng\";\n\nexport class MAP extends Func {\n private static readonly ARG_NAME_MAPPINGS = \"mappings\";\n private static readonly ARG_NAME_MAPPING_INPUT = \"input\";\n private static readonly ARG_NAME_DEFAULT_VALUE = \"defaultValue\";\n\n constructor() {\n super(\"MAP\", [\n new FuncArg(true, MAP.ARG_NAME_MAPPING_INPUT),\n new FuncArgMappings(true, MAP.ARG_NAME_MAPPINGS),\n new FuncArg(false, MAP.ARG_NAME_DEFAULT_VALUE),\n ]);\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n const returnTypes = (argumentTypes[1] as TupleType)\n .getTypes()\n .map((t) => (t as TupleType).getTypes()[1]);\n return Types.or(...returnTypes);\n }\n\n checkArgumentsAndGetReturnType(\n argumentTypes: Array<[ParserRuleContext, ExprType]>,\n ctx\n ): ExprType {\n const returnType = super.checkArgumentsAndGetReturnType(argumentTypes, ctx);\n const tupleTypes = (\n (\n (argumentTypes[1][1] as TupleType)\n .toArrayType()\n .getElementType() as TypeDisjunction\n ).getTypes()[0] as TupleType\n ).getTypes();\n const inType = tupleTypes[0];\n const outType = tupleTypes[1];\n if (!argumentTypes[0][1].overlapsWith(inType)) {\n throw new WrongFunctionArgumentTypeException(\n this.name,\n this.formalArguments[0].name,\n inType,\n argumentTypes[0][1],\n 0,\n argumentTypes[0][0]\n );\n }\n if (\n argumentTypes.length > 2 &&\n !argumentTypes[2][1].overlapsWith(outType)\n ) {\n throw new WrongFunctionArgumentTypeException(\n this.name,\n this.formalArguments[2].name,\n inType,\n argumentTypes[2][1],\n 2,\n argumentTypes[2][0]\n );\n }\n return returnType;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const mappings = evaluatedArguments.get(\n MAP.ARG_NAME_MAPPINGS\n ) as unknown as ArrayValue;\n const input = evaluatedArguments.get(\n MAP.ARG_NAME_MAPPING_INPUT\n ) as unknown as ExpressionValue;\n const defaultValue = evaluatedArguments.get(\n MAP.ARG_NAME_DEFAULT_VALUE\n ) as unknown as ExpressionValue;\n const outerArray = mappings.getValue() as unknown as Array<ArrayValue>;\n const numMappings = outerArray.length;\n for (let i = 0; i < numMappings; i++) {\n const error = FuncArgMappings.checkSingleMapping(\n callingExpr,\n outerArray,\n i\n );\n if (!isNullish(error)) {\n return error;\n }\n const pair = (outerArray[i] as unknown as ArrayValue).getValue();\n if (pair[0].equals(input)) {\n return new ExprEvalSuccessObj(pair[1] as ExpressionValue);\n }\n }\n if (isNullish(defaultValue)) {\n return new ExprEvalFunctionEvaluationErrorObj(\n ExprKind.FUNCTION,\n ExprEvalStatus.UNDEFINED_RESULT,\n \"Input value not found in left column. No default return value specified, therefore the result of MAP() is undefined \",\n this.name,\n callingExpr.getTextSpan()\n );\n }\n return new ExprEvalSuccessObj(defaultValue);\n }\n}\n"]}
@@ -11,9 +11,27 @@ const MatchesPattern_js_1 = require("./MatchesPattern.js");
11
11
  class ReplacePattern extends ApplyRegex_js_1.ApplyRegex {
12
12
  constructor(name, simplePattern) {
13
13
  super(name, simplePattern, false);
14
- this.formalArguments.splice(2, 0, simplePattern
14
+ this.formalArguments[0].withDocumentation({ key: `function.${name}.arg.input.label`, fallback: "input" }, {
15
+ key: `function.${name}.arg.input.summary`,
16
+ fallback: "The source string",
17
+ });
18
+ this.formalArguments[1].withDocumentation({ key: `function.${name}.arg.pattern.label`, fallback: "pattern" }, {
19
+ key: `function.${name}.arg.pattern.summary`,
20
+ fallback: "The pattern to replace",
21
+ });
22
+ this.formalArguments.splice(2, 0, (simplePattern
15
23
  ? new FuncArgString_js_1.FuncArgString(true, ReplacePattern.KEY_REPLACE)
16
- : new FuncArgRegex_js_1.FuncArgRegex(true, ReplacePattern.KEY_REPLACE));
24
+ : new FuncArgRegex_js_1.FuncArgRegex(true, ReplacePattern.KEY_REPLACE)).withDocumentation({
25
+ key: `function.${name}.arg.replacement.label`,
26
+ fallback: "replacement",
27
+ }, {
28
+ key: `function.${name}.arg.replacement.summary`,
29
+ fallback: "The replacement string",
30
+ }));
31
+ this.withDocumentation({
32
+ key: `function.${name}.summary`,
33
+ fallback: "replace pattern occurrences in input with replacement",
34
+ });
17
35
  }
18
36
  getReturnType(argumentTypes) {
19
37
  return Types_js_1.Type.STRING;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/expression/function/impl/ReplacePattern.ts"],"names":[],"mappings":";;;AAAA,mDAA6C;AAE7C,+DAA6E;AAC7E,kEAA4D;AAC5D,qDAA8C;AAC9C,8DAAwD;AACxD,4DAAsD;AACtD,2DAAqD;AAKrD,MAAa,cAAe,SAAQ,0BAAU;IAG5C,YAAY,IAAY,EAAE,aAAsB;QAC9C,KAAK,CAAC,IAAI,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,CAAC,MAAM,CACzB,CAAC,EACD,CAAC,EACD,aAAa;YACX,CAAC,CAAC,IAAI,gCAAa,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC;YACrD,CAAC,CAAC,IAAI,8BAAY,CAAC,IAAI,EAAE,cAAc,CAAC,WAAW,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,aAAa,CAAC,aAA8B;QAC1C,OAAO,eAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,eAAe,CACvB,WAAyB,EACzB,kBAAgD;QAEhD,MAAM,UAAU,GAAG,kBAAkB,CAAC,GAAG,CAAC,kCAAc,CAAC,SAAS,CAAC,CAAC;QACpE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,kCAAc,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACxE,MAAM,OAAO,GAAI,YAA4B,CAAC,QAAQ,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACxB,OAAO,IAAI,sCAAkB,CAAC,UAAU,CAAC,CAAC;SAC3C;QACD,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,MAAM,aAAa,GAAG,kBAAkB,CAAC,GAAG,CAC1C,kCAAc,CAAC,oBAAoB,CACpC,CAAC;YACF,IAAK,aAA8B,CAAC,QAAQ,EAAE,EAAE;gBAC9C,KAAK,GAAG,KAAK,CAAC;aACf;SACF;aAAM;YACL,KAAK,GACH,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,SAAS,CAChD,CAAC,QAAQ,EAAE,CAAC;SACd;QACD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACzC,MAAM,KAAK,GAAI,UAA0B,CAAC,QAAQ,EAAE,CAAC;QACrD,MAAM,OAAO,GAAI,YAA4B,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,sCAAkB,CAAC,4BAAW,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;;AA/CH,wCAgDC;AA/CyB,0BAAW,GAAG,cAAc,CAAC","file":"expression/function/impl/ReplacePattern.js","sourcesContent":["import { ApplyRegex } from \"./ApplyRegex.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprEvalResult, ExprEvalSuccessObj } from \"../../ExprEvalResult.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { Type } from \"../../../type/Types.js\";\nimport { FuncArgString } from \"../arg/FuncArgString.js\";\nimport { FuncArgRegex } from \"../arg/FuncArgRegex.js\";\nimport { MatchesPattern } from \"./MatchesPattern.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\n\nexport class ReplacePattern extends ApplyRegex {\n private static readonly KEY_REPLACE = \"replaceValue\";\n\n constructor(name: string, simplePattern: boolean) {\n super(name, simplePattern, false);\n this.formalArguments.splice(\n 2,\n 0,\n simplePattern\n ? new FuncArgString(true, ReplacePattern.KEY_REPLACE)\n : new FuncArgRegex(true, ReplacePattern.KEY_REPLACE)\n );\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.STRING;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const inputValue = evaluatedArguments.get(MatchesPattern.KEY_INPUT);\n const patternValue = evaluatedArguments.get(MatchesPattern.KEY_PATTERN);\n const replaceValue = evaluatedArguments.get(ReplacePattern.KEY_REPLACE);\n const pattern = (patternValue as StringValue).getValue();\n if (pattern.length === 0) {\n return new ExprEvalSuccessObj(inputValue);\n }\n let flags = \"mg\";\n if (this.simplePattern) {\n const caseSensitive = evaluatedArguments.get(\n MatchesPattern.KEY_CASE_INSENSITIVE\n );\n if ((caseSensitive as BooleanValue).getValue()) {\n flags = \"img\";\n }\n } else {\n flags = (\n evaluatedArguments.get(ReplacePattern.KEY_FLAGS) as StringValue\n ).getValue();\n }\n const regex = new RegExp(pattern, flags);\n const input = (inputValue as StringValue).getValue();\n const replace = (replaceValue as StringValue).getValue();\n const result = input.replace(regex, replace);\n return new ExprEvalSuccessObj(StringValue.of(result));\n }\n}\n"]}
1
+ {"version":3,"sources":["../../src/expression/function/impl/ReplacePattern.ts"],"names":[],"mappings":"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","file":"expression/function/impl/ReplacePattern.js","sourcesContent":["import { ApplyRegex } from \"./ApplyRegex.js\";\nimport { ExpressionValue } from \"../../../value/ExpressionValue.js\";\nimport { ExprEvalResult, ExprEvalSuccessObj } from \"../../ExprEvalResult.js\";\nimport { StringValue } from \"../../../value/StringValue.js\";\nimport { Type } from \"../../../type/Types.js\";\nimport { FuncArgString } from \"../arg/FuncArgString.js\";\nimport { FuncArgRegex } from \"../arg/FuncArgRegex.js\";\nimport { MatchesPattern } from \"./MatchesPattern.js\";\nimport { ExprType } from \"../../../type/ExprType.js\";\nimport { FunctionExpr } from \"../FunctionExpr.js\";\nimport { BooleanValue } from \"../../../value/BooleanValue.js\";\n\nexport class ReplacePattern extends ApplyRegex {\n private static readonly KEY_REPLACE = \"replaceValue\";\n\n constructor(name: string, simplePattern: boolean) {\n super(name, simplePattern, false);\n this.formalArguments[0].withDocumentation(\n { key: `function.${name}.arg.input.label`, fallback: \"input\" },\n {\n key: `function.${name}.arg.input.summary`,\n fallback: \"The source string\",\n }\n );\n this.formalArguments[1].withDocumentation(\n { key: `function.${name}.arg.pattern.label`, fallback: \"pattern\" },\n {\n key: `function.${name}.arg.pattern.summary`,\n fallback: \"The pattern to replace\",\n }\n );\n this.formalArguments.splice(\n 2,\n 0,\n (simplePattern\n ? new FuncArgString(true, ReplacePattern.KEY_REPLACE)\n : new FuncArgRegex(true, ReplacePattern.KEY_REPLACE)\n ).withDocumentation(\n {\n key: `function.${name}.arg.replacement.label`,\n fallback: \"replacement\",\n },\n {\n key: `function.${name}.arg.replacement.summary`,\n fallback: \"The replacement string\",\n }\n )\n );\n this.withDocumentation({\n key: `function.${name}.summary`,\n fallback: \"replace pattern occurrences in input with replacement\",\n });\n }\n\n getReturnType(argumentTypes: Array<ExprType>): ExprType {\n return Type.STRING;\n }\n\n protected calculateResult(\n callingExpr: FunctionExpr,\n evaluatedArguments: Map<string, ExpressionValue>\n ): ExprEvalResult<ExpressionValue> {\n const inputValue = evaluatedArguments.get(MatchesPattern.KEY_INPUT);\n const patternValue = evaluatedArguments.get(MatchesPattern.KEY_PATTERN);\n const replaceValue = evaluatedArguments.get(ReplacePattern.KEY_REPLACE);\n const pattern = (patternValue as StringValue).getValue();\n if (pattern.length === 0) {\n return new ExprEvalSuccessObj(inputValue);\n }\n let flags = \"mg\";\n if (this.simplePattern) {\n const caseSensitive = evaluatedArguments.get(\n MatchesPattern.KEY_CASE_INSENSITIVE\n );\n if ((caseSensitive as BooleanValue).getValue()) {\n flags = \"img\";\n }\n } else {\n flags = (\n evaluatedArguments.get(ReplacePattern.KEY_FLAGS) as StringValue\n ).getValue();\n }\n const regex = new RegExp(pattern, flags);\n const input = (inputValue as StringValue).getValue();\n const replace = (replaceValue as StringValue).getValue();\n const result = input.replace(regex, replace);\n return new ExprEvalSuccessObj(StringValue.of(result));\n }\n}\n"]}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuiltinFunctionCallExpr = void 0;
4
+ const ExprBase_js_1 = require("../ExprBase.js");
5
+ const ExprKind_js_1 = require("../ExprKind.js");
6
+ const ExprEvalResult_js_1 = require("../ExprEvalResult.js");
7
+ const ContextObjectValue_js_1 = require("../../value/ContextObjectValue.js");
8
+ const BuiltinRuntimeValueConverter_js_1 = require("../../builtin/BuiltinRuntimeValueConverter.js");
9
+ class BuiltinFunctionCallExpr extends ExprBase_js_1.ExprBase {
10
+ constructor(target, name, args, type, targetName) {
11
+ super(ExprKind_js_1.ExprKind.REF_BUILTIN_FUNCTION);
12
+ this.target = target;
13
+ this.name = name;
14
+ this.args = args;
15
+ this.type = type;
16
+ this.targetName = targetName;
17
+ }
18
+ getChildren() {
19
+ return [this.target, ...this.args];
20
+ }
21
+ evaluate(ctx, localCtx) {
22
+ const targetResult = this.target.evaluate(ctx, localCtx);
23
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(targetResult)) {
24
+ return targetResult;
25
+ }
26
+ if (!(targetResult.result instanceof ContextObjectValue_js_1.ContextObjectValue)) {
27
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.TYPE_ERROR, `Builtin function '${this.name}' requires a context object target`, this.getTextSpan());
28
+ }
29
+ const evaluatedArgs = [];
30
+ for (const arg of this.args) {
31
+ const argResult = arg.evaluate(ctx, localCtx);
32
+ if ((0, ExprEvalResult_js_1.isExprEvalError)(argResult)) {
33
+ return argResult;
34
+ }
35
+ evaluatedArgs.push(argResult.result);
36
+ }
37
+ const fn = (0, BuiltinRuntimeValueConverter_js_1.getBuiltinMemberValue)(targetResult.result, this.name);
38
+ if (typeof fn !== "function") {
39
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.NOT_FOUND, `No builtin function '${this.name}' found on '${this.targetName}'`, this.getTextSpan());
40
+ }
41
+ const rawResult = fn.apply(targetResult.result.getValue(), evaluatedArgs.map((arg) => (0, BuiltinRuntimeValueConverter_js_1.unwrapExpressionValue)(arg)));
42
+ if (rawResult === undefined || rawResult === null) {
43
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.NOT_FOUND, `Builtin function '${this.name}' on '${this.targetName}' returned no value`, this.getTextSpan());
44
+ }
45
+ return this.wrapInResultIfNecessary((0, BuiltinRuntimeValueConverter_js_1.toExpressionValue)(rawResult, this.type));
46
+ }
47
+ buildExprString(builder) {
48
+ builder
49
+ .appendExpr(this.target)
50
+ .appendString(`.${this.name}(`)
51
+ .appendExprArray(this.args)
52
+ .appendString(")");
53
+ }
54
+ getType() {
55
+ return this.type;
56
+ }
57
+ }
58
+ exports.BuiltinFunctionCallExpr = BuiltinFunctionCallExpr;
59
+ //# sourceMappingURL=BuiltinFunctionCallExpr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/reference/BuiltinFunctionCallExpr.ts"],"names":[],"mappings":"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","file":"expression/reference/BuiltinFunctionCallExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { ExprBase } from \"../ExprBase.js\";\nimport { Expr } from \"../Expr.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport { ExpressionValue } from \"../../value/ExpressionValue.js\";\nimport {\n ExprEvalErrorObj,\n ExprEvalResult,\n ExprEvalStatus,\n isExprEvalError,\n} from \"../ExprEvalResult.js\";\nimport { ExprType } from \"../../type/ExprType.js\";\nimport { ExprStringBuilder } from \"../ExprStringBuilder.js\";\nimport { ContextObjectValue } from \"../../value/ContextObjectValue.js\";\nimport {\n getBuiltinMemberValue,\n toExpressionValue,\n unwrapExpressionValue,\n} from \"../../builtin/BuiltinRuntimeValueConverter.js\";\n\nexport class BuiltinFunctionCallExpr extends ExprBase<ExpressionValue> {\n private readonly target: Expr<ExpressionValue>;\n private readonly name: string;\n private readonly args: Array<Expr<ExpressionValue>>;\n private readonly targetName: string;\n private readonly type: ExprType;\n\n constructor(\n target: Expr<ExpressionValue>,\n name: string,\n args: Array<Expr<ExpressionValue>>,\n type: ExprType,\n targetName: string\n ) {\n super(ExprKind.REF_BUILTIN_FUNCTION);\n this.target = target;\n this.name = name;\n this.args = args;\n this.type = type;\n this.targetName = targetName;\n }\n\n getChildren(): Array<Expr<any>> {\n return [this.target, ...this.args];\n }\n\n evaluate(\n ctx: IfcExpressionContext,\n localCtx: Map<string, any>\n ): ExprEvalResult<ExpressionValue> {\n const targetResult = this.target.evaluate(ctx, localCtx);\n if (isExprEvalError(targetResult)) {\n return targetResult;\n }\n if (!(targetResult.result instanceof ContextObjectValue)) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.TYPE_ERROR,\n `Builtin function '${this.name}' requires a context object target`,\n this.getTextSpan()\n );\n }\n\n const evaluatedArgs: Array<ExpressionValue> = [];\n for (const arg of this.args) {\n const argResult = arg.evaluate(ctx, localCtx);\n if (isExprEvalError(argResult)) {\n return argResult;\n }\n evaluatedArgs.push(argResult.result);\n }\n\n const fn = getBuiltinMemberValue(targetResult.result, this.name);\n if (typeof fn !== \"function\") {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.NOT_FOUND,\n `No builtin function '${this.name}' found on '${this.targetName}'`,\n this.getTextSpan()\n );\n }\n\n const rawResult = fn.apply(\n targetResult.result.getValue(),\n evaluatedArgs.map((arg) => unwrapExpressionValue(arg))\n );\n if (rawResult === undefined || rawResult === null) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.NOT_FOUND,\n `Builtin function '${this.name}' on '${this.targetName}' returned no value`,\n this.getTextSpan()\n );\n }\n return this.wrapInResultIfNecessary(\n toExpressionValue(rawResult, this.type)\n );\n }\n\n protected buildExprString(builder: ExprStringBuilder): void {\n builder\n .appendExpr(this.target)\n .appendString(`.${this.name}(`)\n .appendExprArray(this.args)\n .appendString(\")\");\n }\n\n getType(): ExprType {\n return this.type;\n }\n}\n"]}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuiltinPropertyAccessExpr = void 0;
4
+ const Expr1_js_1 = require("../Expr1.js");
5
+ const ExprKind_js_1 = require("../ExprKind.js");
6
+ const ContextObjectValue_js_1 = require("../../value/ContextObjectValue.js");
7
+ const ExprEvalResult_js_1 = require("../ExprEvalResult.js");
8
+ const BuiltinRuntimeValueConverter_js_1 = require("../../builtin/BuiltinRuntimeValueConverter.js");
9
+ class BuiltinPropertyAccessExpr extends Expr1_js_1.Expr1 {
10
+ constructor(target, memberName, type, targetName) {
11
+ super(ExprKind_js_1.ExprKind.REF_BUILTIN_MEMBER, target);
12
+ this.memberName = memberName;
13
+ this.targetName = targetName;
14
+ this.type = type;
15
+ }
16
+ calculateResult(_ctx, _localCtx, subExpressionResult) {
17
+ if (!(subExpressionResult instanceof ContextObjectValue_js_1.ContextObjectValue)) {
18
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.TYPE_ERROR, `Builtin member access '.${this.memberName}' requires a context object target`, this.getTextSpan());
19
+ }
20
+ const rawValue = (0, BuiltinRuntimeValueConverter_js_1.getBuiltinMemberValue)(subExpressionResult, this.memberName);
21
+ if (rawValue === undefined || rawValue === null) {
22
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.NOT_FOUND, `No builtin member '${this.memberName}' found on '${this.targetName}'`, this.getTextSpan());
23
+ }
24
+ return (0, BuiltinRuntimeValueConverter_js_1.toExpressionValue)(rawValue, this.type);
25
+ }
26
+ buildExprString(builder) {
27
+ builder.appendExpr(this.sub).appendString(`.${this.memberName}`);
28
+ }
29
+ getType() {
30
+ return this.type;
31
+ }
32
+ }
33
+ exports.BuiltinPropertyAccessExpr = BuiltinPropertyAccessExpr;
34
+ //# sourceMappingURL=BuiltinPropertyAccessExpr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/reference/BuiltinPropertyAccessExpr.ts"],"names":[],"mappings":";;;AACA,0CAAoC;AACpC,gDAA0C;AAI1C,6EAAuE;AACvE,4DAAwE;AACxE,mGAGuD;AAEvD,MAAa,yBAA0B,SAAQ,gBAG9C;IAKC,YACE,MAAW,EACX,UAAkB,EAClB,IAAc,EACd,UAAkB;QAElB,KAAK,CAAC,sBAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAES,eAAe,CACvB,IAA0B,EAC1B,SAA2B,EAC3B,mBAAoC;QAEpC,IAAI,CAAC,CAAC,mBAAmB,YAAY,0CAAkB,CAAC,EAAE;YACxD,OAAO,IAAI,oCAAgB,CACzB,IAAI,CAAC,OAAO,EAAE,EACd,kCAAc,CAAC,UAAU,EACzB,2BAA2B,IAAI,CAAC,UAAU,oCAAoC,EAC9E,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,IAAA,uDAAqB,EACpC,mBAAmB,EACnB,IAAI,CAAC,UAAU,CAChB,CAAC;QACF,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE;YAC/C,OAAO,IAAI,oCAAgB,CACzB,IAAI,CAAC,OAAO,EAAE,EACd,kCAAc,CAAC,SAAS,EACxB,sBAAsB,IAAI,CAAC,UAAU,eAAe,IAAI,CAAC,UAAU,GAAG,EACtE,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;SACH;QACD,OAAO,IAAA,mDAAiB,EAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAES,eAAe,CAAC,OAA0B;QAClD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AAvDD,8DAuDC","file":"expression/reference/BuiltinPropertyAccessExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { Expr1 } from \"../Expr1.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport { ExpressionValue } from \"../../value/ExpressionValue.js\";\nimport { ExprType } from \"../../type/ExprType.js\";\nimport { ExprStringBuilder } from \"../ExprStringBuilder.js\";\nimport { ContextObjectValue } from \"../../value/ContextObjectValue.js\";\nimport { ExprEvalErrorObj, ExprEvalStatus } from \"../ExprEvalResult.js\";\nimport {\n getBuiltinMemberValue,\n toExpressionValue,\n} from \"../../builtin/BuiltinRuntimeValueConverter.js\";\n\nexport class BuiltinPropertyAccessExpr extends Expr1<\n ExpressionValue,\n ExpressionValue\n> {\n private readonly memberName: string;\n private readonly targetName: string;\n private readonly type: ExprType;\n\n constructor(\n target: any,\n memberName: string,\n type: ExprType,\n targetName: string\n ) {\n super(ExprKind.REF_BUILTIN_MEMBER, target);\n this.memberName = memberName;\n this.targetName = targetName;\n this.type = type;\n }\n\n protected calculateResult(\n _ctx: IfcExpressionContext,\n _localCtx: Map<string, any>,\n subExpressionResult: ExpressionValue\n ): ExpressionValue | ExprEvalErrorObj {\n if (!(subExpressionResult instanceof ContextObjectValue)) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.TYPE_ERROR,\n `Builtin member access '.${this.memberName}' requires a context object target`,\n this.getTextSpan()\n );\n }\n const rawValue = getBuiltinMemberValue(\n subExpressionResult,\n this.memberName\n );\n if (rawValue === undefined || rawValue === null) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.NOT_FOUND,\n `No builtin member '${this.memberName}' found on '${this.targetName}'`,\n this.getTextSpan()\n );\n }\n return toExpressionValue(rawValue, this.type);\n }\n\n protected buildExprString(builder: ExprStringBuilder): void {\n builder.appendExpr(this.sub).appendString(`.${this.memberName}`);\n }\n\n getType(): ExprType {\n return this.type;\n }\n}\n"]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BuiltinRootReferenceExpr = void 0;
4
+ const Expr0_js_1 = require("../Expr0.js");
5
+ const ExprKind_js_1 = require("../ExprKind.js");
6
+ const ExprEvalResult_js_1 = require("../ExprEvalResult.js");
7
+ const BuiltinRuntimeValueConverter_js_1 = require("../../builtin/BuiltinRuntimeValueConverter.js");
8
+ class BuiltinRootReferenceExpr extends Expr0_js_1.Expr0 {
9
+ constructor(name, type) {
10
+ super(ExprKind_js_1.ExprKind.REF_BUILTIN_ROOT);
11
+ this.name = name.replace(/^\$/, "");
12
+ this.type = type;
13
+ }
14
+ doEvaluate(ctx) {
15
+ const value = ctx.resolveBuiltinVariable(this.name);
16
+ if (value === undefined || value === null) {
17
+ return new ExprEvalResult_js_1.ExprEvalErrorObj(this.getKind(), ExprEvalResult_js_1.ExprEvalStatus.NOT_FOUND, `No builtin variable found with name '$${this.name}'`, this.getTextSpan());
18
+ }
19
+ return (0, BuiltinRuntimeValueConverter_js_1.toExpressionValue)(value, this.type);
20
+ }
21
+ buildExprString(builder) {
22
+ builder.appendString(`$${this.name}`);
23
+ }
24
+ getType() {
25
+ return this.type;
26
+ }
27
+ }
28
+ exports.BuiltinRootReferenceExpr = BuiltinRootReferenceExpr;
29
+ //# sourceMappingURL=BuiltinRootReferenceExpr.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/expression/reference/BuiltinRootReferenceExpr.ts"],"names":[],"mappings":";;;AACA,0CAAoC;AACpC,gDAA0C;AAI1C,4DAAwE;AACxE,mGAAkF;AAElF,MAAa,wBAAyB,SAAQ,gBAAsB;IAIlE,YAAY,IAAY,EAAE,IAAc;QACtC,KAAK,CAAC,sBAAQ,CAAC,gBAAgB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACpC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,UAAU,CAAC,GAAyB;QAClC,MAAM,KAAK,GAAG,GAAG,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE;YACzC,OAAO,IAAI,oCAAgB,CACzB,IAAI,CAAC,OAAO,EAAE,EACd,kCAAc,CAAC,SAAS,EACxB,yCAAyC,IAAI,CAAC,IAAI,GAAG,EACrD,IAAI,CAAC,WAAW,EAAE,CACnB,CAAC;SACH;QACD,OAAO,IAAA,mDAAiB,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAES,eAAe,CAAC,OAA0B;QAClD,OAAO,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;CACF;AA9BD,4DA8BC","file":"expression/reference/BuiltinRootReferenceExpr.js","sourcesContent":["import { IfcExpressionContext } from \"../../context/IfcExpressionContext.js\";\nimport { Expr0 } from \"../Expr0.js\";\nimport { ExprKind } from \"../ExprKind.js\";\nimport { ExpressionValue } from \"../../value/ExpressionValue.js\";\nimport { ExprType } from \"../../type/ExprType.js\";\nimport { ExprStringBuilder } from \"../ExprStringBuilder.js\";\nimport { ExprEvalErrorObj, ExprEvalStatus } from \"../ExprEvalResult.js\";\nimport { toExpressionValue } from \"../../builtin/BuiltinRuntimeValueConverter.js\";\n\nexport class BuiltinRootReferenceExpr extends Expr0<ExpressionValue> {\n private readonly name: string;\n private readonly type: ExprType;\n\n constructor(name: string, type: ExprType) {\n super(ExprKind.REF_BUILTIN_ROOT);\n this.name = name.replace(/^\\$/, \"\");\n this.type = type;\n }\n\n doEvaluate(ctx: IfcExpressionContext): ExpressionValue | ExprEvalErrorObj {\n const value = ctx.resolveBuiltinVariable(this.name);\n if (value === undefined || value === null) {\n return new ExprEvalErrorObj(\n this.getKind(),\n ExprEvalStatus.NOT_FOUND,\n `No builtin variable found with name '$${this.name}'`,\n this.getTextSpan()\n );\n }\n return toExpressionValue(value, this.type);\n }\n\n protected buildExprString(builder: ExprStringBuilder) {\n builder.appendString(`$${this.name}`);\n }\n\n getType(): ExprType {\n return this.type;\n }\n}\n"]}
@@ -1,12 +1,34 @@
1
1
  "use strict";
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
+ };
2
25
  Object.defineProperty(exports, "__esModule", { value: true });
3
- // Generated from IfcExpression.g4 by ANTLR 4.13.0
4
- // noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols
5
- const antlr4_1 = require("antlr4");
6
- class IfcExpressionLexer extends antlr4_1.Lexer {
26
+ exports.IfcExpressionLexer = void 0;
27
+ const antlr = __importStar(require("antlr4ng"));
28
+ class IfcExpressionLexer extends antlr.Lexer {
7
29
  constructor(input) {
8
30
  super(input);
9
- this._interp = new antlr4_1.LexerATNSimulator(this, IfcExpressionLexer._ATN, IfcExpressionLexer.DecisionsToDFA, new antlr4_1.PredictionContextCache());
31
+ this.interpreter = new antlr.LexerATNSimulator(this, IfcExpressionLexer._ATN, IfcExpressionLexer.decisionsToDFA, new antlr.PredictionContextCache());
10
32
  }
11
33
  get grammarFileName() { return "IfcExpression.g4"; }
12
34
  get literalNames() { return IfcExpressionLexer.literalNames; }
@@ -17,11 +39,15 @@ class IfcExpressionLexer extends antlr4_1.Lexer {
17
39
  get modeNames() { return IfcExpressionLexer.modeNames; }
18
40
  static get _ATN() {
19
41
  if (!IfcExpressionLexer.__ATN) {
20
- IfcExpressionLexer.__ATN = new antlr4_1.ATNDeserializer().deserialize(IfcExpressionLexer._serializedATN);
42
+ IfcExpressionLexer.__ATN = new antlr.ATNDeserializer().deserialize(IfcExpressionLexer._serializedATN);
21
43
  }
22
44
  return IfcExpressionLexer.__ATN;
23
45
  }
46
+ get vocabulary() {
47
+ return IfcExpressionLexer.vocabulary;
48
+ }
24
49
  }
50
+ exports.IfcExpressionLexer = IfcExpressionLexer;
25
51
  IfcExpressionLexer.T__0 = 1;
26
52
  IfcExpressionLexer.T__1 = 2;
27
53
  IfcExpressionLexer.T__2 = 3;
@@ -46,104 +72,100 @@ IfcExpressionLexer.WS = 21;
46
72
  IfcExpressionLexer.NEWLINE = 22;
47
73
  IfcExpressionLexer.BOOLEAN_BINARY_OP = 23;
48
74
  IfcExpressionLexer.CMP_OP = 24;
49
- IfcExpressionLexer.EOF = antlr4_1.Token.EOF;
50
- IfcExpressionLexer.channelNames = ["DEFAULT_TOKEN_CHANNEL", "HIDDEN"];
51
- IfcExpressionLexer.literalNames = [null, "'--'",
52
- "'('", "')'",
53
- "'-'", "'^'",
54
- "'*'", "'/'",
55
- "'+'", "'!'",
56
- "','", "'['",
57
- "']'", "'$'",
58
- null, null,
59
- null, null,
60
- "'.'"];
61
- IfcExpressionLexer.symbolicNames = [null, null,
62
- null, null,
63
- null, null,
64
- null, null,
65
- null, null,
66
- null, null,
67
- null, null,
68
- "INT", "FLOAT",
69
- "BOOLEAN",
70
- "LOGICAL_UNKNOWN",
71
- "DOT", "QUOTED_STRING",
72
- "IDENTIFIER",
73
- "WS", "NEWLINE",
74
- "BOOLEAN_BINARY_OP",
75
- "CMP_OP"];
76
- IfcExpressionLexer.modeNames = ["DEFAULT_MODE",];
77
- IfcExpressionLexer.ruleNames = [
78
- "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
79
- "T__9", "T__10", "T__11", "T__12", "INT", "FLOAT", "BOOLEAN", "LOGICAL_UNKNOWN",
75
+ IfcExpressionLexer.channelNames = [
76
+ "DEFAULT_TOKEN_CHANNEL", "HIDDEN"
77
+ ];
78
+ IfcExpressionLexer.literalNames = [
79
+ null, "'--'", "'('", "')'", "'-'", "'^'", "'*'", "'/'", "'+'", "'!'",
80
+ "','", "'['", "']'", "'$'", null, null, null, null, "'.'"
81
+ ];
82
+ IfcExpressionLexer.symbolicNames = [
83
+ null, null, null, null, null, null, null, null, null, null, null,
84
+ null, null, null, "INT", "FLOAT", "BOOLEAN", "LOGICAL_UNKNOWN",
80
85
  "DOT", "QUOTED_STRING", "IDENTIFIER", "WS", "NEWLINE", "BOOLEAN_BINARY_OP",
81
- "CMP_OP",
86
+ "CMP_OP"
87
+ ];
88
+ IfcExpressionLexer.modeNames = [
89
+ "DEFAULT_MODE",
90
+ ];
91
+ IfcExpressionLexer.ruleNames = [
92
+ "T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7",
93
+ "T__8", "T__9", "T__10", "T__11", "T__12", "INT", "FLOAT", "BOOLEAN",
94
+ "LOGICAL_UNKNOWN", "DOT", "QUOTED_STRING", "IDENTIFIER", "WS", "NEWLINE",
95
+ "BOOLEAN_BINARY_OP", "CMP_OP",
96
+ ];
97
+ IfcExpressionLexer._serializedATN = [
98
+ 4, 0, 24, 188, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5,
99
+ 2, 6, 7, 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,
100
+ 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7,
101
+ 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1,
102
+ 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9, 1, 9, 1,
103
+ 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 4, 13, 78, 8, 13, 11, 13, 12, 13, 79, 1, 14,
104
+ 4, 14, 83, 8, 14, 11, 14, 12, 14, 84, 1, 14, 1, 14, 4, 14, 89, 8, 14, 11, 14, 12, 14, 90,
105
+ 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
106
+ 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 111, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16,
107
+ 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 127, 8, 16, 1, 17,
108
+ 1, 17, 1, 18, 1, 18, 5, 18, 133, 8, 18, 10, 18, 12, 18, 136, 9, 18, 1, 18, 1, 18, 1, 18,
109
+ 5, 18, 141, 8, 18, 10, 18, 12, 18, 144, 9, 18, 1, 18, 3, 18, 147, 8, 18, 1, 19, 1, 19,
110
+ 5, 19, 151, 8, 19, 10, 19, 12, 19, 154, 9, 19, 1, 20, 4, 20, 157, 8, 20, 11, 20, 12, 20,
111
+ 158, 1, 20, 1, 20, 1, 21, 4, 21, 164, 8, 21, 11, 21, 12, 21, 165, 1, 21, 1, 21, 1, 22,
112
+ 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 176, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23,
113
+ 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 187, 8, 23, 2, 134, 142, 0, 24, 1, 1, 3, 2, 5, 3, 7, 4,
114
+ 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16,
115
+ 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 1, 0, 6, 1, 0, 48, 57,
116
+ 3, 0, 65, 90, 95, 95, 97, 122, 7, 0, 36, 36, 38, 38, 45, 45, 48, 57, 65, 90, 95, 95, 97,
117
+ 122, 2, 0, 9, 9, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 60, 60, 62, 62, 206, 0, 1, 1, 0, 0,
118
+ 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0,
119
+ 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0,
120
+ 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0,
121
+ 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0,
122
+ 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 1, 49, 1, 0, 0, 0, 3, 52, 1, 0, 0, 0, 5,
123
+ 54, 1, 0, 0, 0, 7, 56, 1, 0, 0, 0, 9, 58, 1, 0, 0, 0, 11, 60, 1, 0, 0, 0, 13, 62, 1, 0, 0, 0,
124
+ 15, 64, 1, 0, 0, 0, 17, 66, 1, 0, 0, 0, 19, 68, 1, 0, 0, 0, 21, 70, 1, 0, 0, 0, 23, 72, 1,
125
+ 0, 0, 0, 25, 74, 1, 0, 0, 0, 27, 77, 1, 0, 0, 0, 29, 82, 1, 0, 0, 0, 31, 110, 1, 0, 0, 0, 33,
126
+ 126, 1, 0, 0, 0, 35, 128, 1, 0, 0, 0, 37, 146, 1, 0, 0, 0, 39, 148, 1, 0, 0, 0, 41, 156,
127
+ 1, 0, 0, 0, 43, 163, 1, 0, 0, 0, 45, 175, 1, 0, 0, 0, 47, 186, 1, 0, 0, 0, 49, 50, 5, 45,
128
+ 0, 0, 50, 51, 5, 45, 0, 0, 51, 2, 1, 0, 0, 0, 52, 53, 5, 40, 0, 0, 53, 4, 1, 0, 0, 0, 54, 55,
129
+ 5, 41, 0, 0, 55, 6, 1, 0, 0, 0, 56, 57, 5, 45, 0, 0, 57, 8, 1, 0, 0, 0, 58, 59, 5, 94, 0, 0,
130
+ 59, 10, 1, 0, 0, 0, 60, 61, 5, 42, 0, 0, 61, 12, 1, 0, 0, 0, 62, 63, 5, 47, 0, 0, 63, 14,
131
+ 1, 0, 0, 0, 64, 65, 5, 43, 0, 0, 65, 16, 1, 0, 0, 0, 66, 67, 5, 33, 0, 0, 67, 18, 1, 0, 0,
132
+ 0, 68, 69, 5, 44, 0, 0, 69, 20, 1, 0, 0, 0, 70, 71, 5, 91, 0, 0, 71, 22, 1, 0, 0, 0, 72, 73,
133
+ 5, 93, 0, 0, 73, 24, 1, 0, 0, 0, 74, 75, 5, 36, 0, 0, 75, 26, 1, 0, 0, 0, 76, 78, 7, 0, 0,
134
+ 0, 77, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0, 0, 80, 28,
135
+ 1, 0, 0, 0, 81, 83, 7, 0, 0, 0, 82, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0,
136
+ 84, 85, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 88, 5, 46, 0, 0, 87, 89, 7, 0, 0, 0, 88, 87, 1,
137
+ 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 88, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 30, 1, 0, 0, 0, 92,
138
+ 93, 5, 84, 0, 0, 93, 94, 5, 82, 0, 0, 94, 95, 5, 85, 0, 0, 95, 111, 5, 69, 0, 0, 96, 97,
139
+ 5, 116, 0, 0, 97, 98, 5, 114, 0, 0, 98, 99, 5, 117, 0, 0, 99, 111, 5, 101, 0, 0, 100, 101,
140
+ 5, 70, 0, 0, 101, 102, 5, 65, 0, 0, 102, 103, 5, 76, 0, 0, 103, 104, 5, 83, 0, 0, 104,
141
+ 111, 5, 69, 0, 0, 105, 106, 5, 102, 0, 0, 106, 107, 5, 97, 0, 0, 107, 108, 5, 108, 0,
142
+ 0, 108, 109, 5, 115, 0, 0, 109, 111, 5, 101, 0, 0, 110, 92, 1, 0, 0, 0, 110, 96, 1, 0,
143
+ 0, 0, 110, 100, 1, 0, 0, 0, 110, 105, 1, 0, 0, 0, 111, 32, 1, 0, 0, 0, 112, 113, 5, 85,
144
+ 0, 0, 113, 114, 5, 78, 0, 0, 114, 115, 5, 75, 0, 0, 115, 116, 5, 78, 0, 0, 116, 117, 5,
145
+ 79, 0, 0, 117, 118, 5, 87, 0, 0, 118, 127, 5, 78, 0, 0, 119, 120, 5, 117, 0, 0, 120, 121,
146
+ 5, 110, 0, 0, 121, 122, 5, 107, 0, 0, 122, 123, 5, 110, 0, 0, 123, 124, 5, 111, 0, 0,
147
+ 124, 125, 5, 119, 0, 0, 125, 127, 5, 110, 0, 0, 126, 112, 1, 0, 0, 0, 126, 119, 1, 0,
148
+ 0, 0, 127, 34, 1, 0, 0, 0, 128, 129, 5, 46, 0, 0, 129, 36, 1, 0, 0, 0, 130, 134, 5, 34,
149
+ 0, 0, 131, 133, 9, 0, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 135, 1, 0,
150
+ 0, 0, 134, 132, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 147, 5, 34,
151
+ 0, 0, 138, 142, 5, 39, 0, 0, 139, 141, 9, 0, 0, 0, 140, 139, 1, 0, 0, 0, 141, 144, 1, 0,
152
+ 0, 0, 142, 143, 1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 143, 145, 1, 0, 0, 0, 144, 142, 1, 0,
153
+ 0, 0, 145, 147, 5, 39, 0, 0, 146, 130, 1, 0, 0, 0, 146, 138, 1, 0, 0, 0, 147, 38, 1, 0,
154
+ 0, 0, 148, 152, 7, 1, 0, 0, 149, 151, 7, 2, 0, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0,
155
+ 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 40, 1, 0, 0, 0, 154, 152, 1, 0, 0,
156
+ 0, 155, 157, 7, 3, 0, 0, 156, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 156, 1, 0, 0,
157
+ 0, 158, 159, 1, 0, 0, 0, 159, 160, 1, 0, 0, 0, 160, 161, 6, 20, 0, 0, 161, 42, 1, 0, 0,
158
+ 0, 162, 164, 7, 4, 0, 0, 163, 162, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 163, 1, 0, 0,
159
+ 0, 165, 166, 1, 0, 0, 0, 166, 167, 1, 0, 0, 0, 167, 168, 6, 21, 0, 0, 168, 44, 1, 0, 0,
160
+ 0, 169, 170, 5, 124, 0, 0, 170, 176, 5, 124, 0, 0, 171, 172, 5, 38, 0, 0, 172, 176, 5,
161
+ 38, 0, 0, 173, 174, 5, 62, 0, 0, 174, 176, 5, 60, 0, 0, 175, 169, 1, 0, 0, 0, 175, 171,
162
+ 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 176, 46, 1, 0, 0, 0, 177, 178, 5, 61, 0, 0, 178, 187,
163
+ 5, 61, 0, 0, 179, 187, 7, 5, 0, 0, 180, 181, 5, 62, 0, 0, 181, 187, 5, 61, 0, 0, 182, 183,
164
+ 5, 60, 0, 0, 183, 187, 5, 61, 0, 0, 184, 185, 5, 33, 0, 0, 185, 187, 5, 61, 0, 0, 186,
165
+ 177, 1, 0, 0, 0, 186, 179, 1, 0, 0, 0, 186, 180, 1, 0, 0, 0, 186, 182, 1, 0, 0, 0, 186,
166
+ 184, 1, 0, 0, 0, 187, 48, 1, 0, 0, 0, 14, 0, 79, 84, 90, 110, 126, 134, 142, 146, 152,
167
+ 158, 165, 175, 186, 1, 6, 0, 0
82
168
  ];
83
- IfcExpressionLexer._serializedATN = [4, 0, 24, 188, 6, -1, 2, 0,
84
- 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, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9,
85
- 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7,
86
- 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23,
87
- 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8,
88
- 1, 8, 1, 9, 1, 9, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 4, 13, 78, 8, 13, 11, 13, 12, 13,
89
- 79, 1, 14, 4, 14, 83, 8, 14, 11, 14, 12, 14, 84, 1, 14, 1, 14, 4, 14, 89, 8, 14, 11, 14, 12, 14,
90
- 90, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15,
91
- 1, 15, 1, 15, 1, 15, 1, 15, 3, 15, 111, 8, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1,
92
- 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 3, 16, 127, 8, 16, 1, 17, 1, 17, 1, 18, 1, 18, 5, 18,
93
- 133, 8, 18, 10, 18, 12, 18, 136, 9, 18, 1, 18, 1, 18, 1, 18, 5, 18, 141, 8, 18, 10, 18, 12, 18,
94
- 144, 9, 18, 1, 18, 3, 18, 147, 8, 18, 1, 19, 1, 19, 5, 19, 151, 8, 19, 10, 19, 12, 19, 154, 9, 19,
95
- 1, 20, 4, 20, 157, 8, 20, 11, 20, 12, 20, 158, 1, 20, 1, 20, 1, 21, 4, 21, 164, 8, 21, 11, 21, 12,
96
- 21, 165, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 3, 22, 176, 8, 22, 1, 23, 1, 23,
97
- 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 187, 8, 23, 2, 134, 142, 0, 24, 1, 1, 3, 2,
98
- 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31,
99
- 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21, 43, 22, 45, 23, 47, 24, 1, 0, 6, 1, 0, 48, 57, 3, 0,
100
- 65, 90, 95, 95, 97, 122, 7, 0, 36, 36, 38, 38, 45, 45, 48, 57, 65, 90, 95, 95, 97, 122, 2, 0, 9,
101
- 9, 32, 32, 2, 0, 10, 10, 13, 13, 2, 0, 60, 60, 62, 62, 206, 0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5,
102
- 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11, 1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0,
103
- 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1,
104
- 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31, 1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0,
105
- 0, 39, 1, 0, 0, 0, 0, 41, 1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 45, 1, 0, 0, 0, 0, 47, 1, 0, 0, 0, 1, 49, 1,
106
- 0, 0, 0, 3, 52, 1, 0, 0, 0, 5, 54, 1, 0, 0, 0, 7, 56, 1, 0, 0, 0, 9, 58, 1, 0, 0, 0, 11, 60, 1, 0, 0, 0,
107
- 13, 62, 1, 0, 0, 0, 15, 64, 1, 0, 0, 0, 17, 66, 1, 0, 0, 0, 19, 68, 1, 0, 0, 0, 21, 70, 1, 0, 0, 0, 23,
108
- 72, 1, 0, 0, 0, 25, 74, 1, 0, 0, 0, 27, 77, 1, 0, 0, 0, 29, 82, 1, 0, 0, 0, 31, 110, 1, 0, 0, 0, 33,
109
- 126, 1, 0, 0, 0, 35, 128, 1, 0, 0, 0, 37, 146, 1, 0, 0, 0, 39, 148, 1, 0, 0, 0, 41, 156, 1, 0, 0, 0,
110
- 43, 163, 1, 0, 0, 0, 45, 175, 1, 0, 0, 0, 47, 186, 1, 0, 0, 0, 49, 50, 5, 45, 0, 0, 50, 51, 5, 45,
111
- 0, 0, 51, 2, 1, 0, 0, 0, 52, 53, 5, 40, 0, 0, 53, 4, 1, 0, 0, 0, 54, 55, 5, 41, 0, 0, 55, 6, 1, 0, 0,
112
- 0, 56, 57, 5, 45, 0, 0, 57, 8, 1, 0, 0, 0, 58, 59, 5, 94, 0, 0, 59, 10, 1, 0, 0, 0, 60, 61, 5, 42, 0,
113
- 0, 61, 12, 1, 0, 0, 0, 62, 63, 5, 47, 0, 0, 63, 14, 1, 0, 0, 0, 64, 65, 5, 43, 0, 0, 65, 16, 1, 0, 0,
114
- 0, 66, 67, 5, 33, 0, 0, 67, 18, 1, 0, 0, 0, 68, 69, 5, 44, 0, 0, 69, 20, 1, 0, 0, 0, 70, 71, 5, 91,
115
- 0, 0, 71, 22, 1, 0, 0, 0, 72, 73, 5, 93, 0, 0, 73, 24, 1, 0, 0, 0, 74, 75, 5, 36, 0, 0, 75, 26, 1, 0,
116
- 0, 0, 76, 78, 7, 0, 0, 0, 77, 76, 1, 0, 0, 0, 78, 79, 1, 0, 0, 0, 79, 77, 1, 0, 0, 0, 79, 80, 1, 0, 0,
117
- 0, 80, 28, 1, 0, 0, 0, 81, 83, 7, 0, 0, 0, 82, 81, 1, 0, 0, 0, 83, 84, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0,
118
- 84, 85, 1, 0, 0, 0, 85, 86, 1, 0, 0, 0, 86, 88, 5, 46, 0, 0, 87, 89, 7, 0, 0, 0, 88, 87, 1, 0, 0, 0,
119
- 89, 90, 1, 0, 0, 0, 90, 88, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 30, 1, 0, 0, 0, 92, 93, 5, 84, 0, 0,
120
- 93, 94, 5, 82, 0, 0, 94, 95, 5, 85, 0, 0, 95, 111, 5, 69, 0, 0, 96, 97, 5, 116, 0, 0, 97, 98, 5, 114,
121
- 0, 0, 98, 99, 5, 117, 0, 0, 99, 111, 5, 101, 0, 0, 100, 101, 5, 70, 0, 0, 101, 102, 5, 65, 0, 0,
122
- 102, 103, 5, 76, 0, 0, 103, 104, 5, 83, 0, 0, 104, 111, 5, 69, 0, 0, 105, 106, 5, 102, 0, 0, 106,
123
- 107, 5, 97, 0, 0, 107, 108, 5, 108, 0, 0, 108, 109, 5, 115, 0, 0, 109, 111, 5, 101, 0, 0, 110,
124
- 92, 1, 0, 0, 0, 110, 96, 1, 0, 0, 0, 110, 100, 1, 0, 0, 0, 110, 105, 1, 0, 0, 0, 111, 32, 1, 0, 0,
125
- 0, 112, 113, 5, 85, 0, 0, 113, 114, 5, 78, 0, 0, 114, 115, 5, 75, 0, 0, 115, 116, 5, 78, 0, 0, 116,
126
- 117, 5, 79, 0, 0, 117, 118, 5, 87, 0, 0, 118, 127, 5, 78, 0, 0, 119, 120, 5, 117, 0, 0, 120, 121,
127
- 5, 110, 0, 0, 121, 122, 5, 107, 0, 0, 122, 123, 5, 110, 0, 0, 123, 124, 5, 111, 0, 0, 124, 125,
128
- 5, 119, 0, 0, 125, 127, 5, 110, 0, 0, 126, 112, 1, 0, 0, 0, 126, 119, 1, 0, 0, 0, 127, 34, 1, 0,
129
- 0, 0, 128, 129, 5, 46, 0, 0, 129, 36, 1, 0, 0, 0, 130, 134, 5, 34, 0, 0, 131, 133, 9, 0, 0, 0, 132,
130
- 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 135, 137, 1, 0,
131
- 0, 0, 136, 134, 1, 0, 0, 0, 137, 147, 5, 34, 0, 0, 138, 142, 5, 39, 0, 0, 139, 141, 9, 0, 0, 0, 140,
132
- 139, 1, 0, 0, 0, 141, 144, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 143, 145, 1, 0,
133
- 0, 0, 144, 142, 1, 0, 0, 0, 145, 147, 5, 39, 0, 0, 146, 130, 1, 0, 0, 0, 146, 138, 1, 0, 0, 0, 147,
134
- 38, 1, 0, 0, 0, 148, 152, 7, 1, 0, 0, 149, 151, 7, 2, 0, 0, 150, 149, 1, 0, 0, 0, 151, 154, 1, 0,
135
- 0, 0, 152, 150, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 40, 1, 0, 0, 0, 154, 152, 1, 0, 0, 0, 155,
136
- 157, 7, 3, 0, 0, 156, 155, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 158, 156, 1, 0, 0, 0, 158, 159, 1, 0,
137
- 0, 0, 159, 160, 1, 0, 0, 0, 160, 161, 6, 20, 0, 0, 161, 42, 1, 0, 0, 0, 162, 164, 7, 4, 0, 0, 163,
138
- 162, 1, 0, 0, 0, 164, 165, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 165, 166, 1, 0, 0, 0, 166, 167, 1, 0,
139
- 0, 0, 167, 168, 6, 21, 0, 0, 168, 44, 1, 0, 0, 0, 169, 170, 5, 124, 0, 0, 170, 176, 5, 124, 0, 0,
140
- 171, 172, 5, 38, 0, 0, 172, 176, 5, 38, 0, 0, 173, 174, 5, 62, 0, 0, 174, 176, 5, 60, 0, 0, 175,
141
- 169, 1, 0, 0, 0, 175, 171, 1, 0, 0, 0, 175, 173, 1, 0, 0, 0, 176, 46, 1, 0, 0, 0, 177, 178, 5, 61,
142
- 0, 0, 178, 187, 5, 61, 0, 0, 179, 187, 7, 5, 0, 0, 180, 181, 5, 62, 0, 0, 181, 187, 5, 61, 0, 0,
143
- 182, 183, 5, 60, 0, 0, 183, 187, 5, 61, 0, 0, 184, 185, 5, 33, 0, 0, 185, 187, 5, 61, 0, 0, 186,
144
- 177, 1, 0, 0, 0, 186, 179, 1, 0, 0, 0, 186, 180, 1, 0, 0, 0, 186, 182, 1, 0, 0, 0, 186, 184, 1, 0,
145
- 0, 0, 187, 48, 1, 0, 0, 0, 14, 0, 79, 84, 90, 110, 126, 134, 142, 146, 152, 158, 165, 175, 186,
146
- 1, 6, 0, 0];
147
- IfcExpressionLexer.DecisionsToDFA = IfcExpressionLexer._ATN.decisionToState.map((ds, index) => new antlr4_1.DFA(ds, index));
148
- exports.default = IfcExpressionLexer;
169
+ IfcExpressionLexer.vocabulary = new antlr.Vocabulary(IfcExpressionLexer.literalNames, IfcExpressionLexer.symbolicNames, []);
170
+ IfcExpressionLexer.decisionsToDFA = IfcExpressionLexer._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
149
171
  //# sourceMappingURL=IfcExpressionLexer.js.map