import IfcExpressionVisitor from "../gen/parser/IfcExpressionVisitor.js"; import { ArrayElementListContext, ArrayExprContext, BooleanLiteralContext, ExprContext, ExprListContext, FunctionCallContext, LiteralContext, LogicalLiteralContext, MethodCallChainEndContext, MethodCallChainInnerContext, NumLiteralContext, SEAddSubContext, SEArrayExprContext, SEBooleanBinaryOpContext, SEComparisonContext, SEFunctionCallContext, SELiteralContext, SEMethodCallContext, SEMulDivContext, SENotContext, SEParenthesisContext, SEPowerContext, SEUnaryMinusContext, SEUnaryMultipleMinusContext, SEVariableRefContext, StringLiteralContext, VariableRefContext } from "../gen/parser/IfcExpressionParser.js"; import { Expr } from "../expression/Expr.js"; import { TypeManager } from "./TypeManager.js"; import { ExprManager } from "./ExprManager.js"; export declare class ExprCompiler extends IfcExpressionVisitor> { private readonly methodCallTargetStack; private readonly typeManager; private readonly exprManager; constructor(typeManager: TypeManager); getExprManager(): ExprManager; visitExpr: (ctx: ExprContext) => Expr; private associateContextAndReturn; visitVariableRef: (ctx: VariableRefContext) => Expr; visitSEComparison: (ctx: SEComparisonContext) => Expr; visitSEMethodCall: (ctx: SEMethodCallContext) => Expr; visitSELiteral: (ctx: SELiteralContext) => Expr; visitSEVariableRef: (ctx: SEVariableRefContext) => Expr; visitSEArrayExpr: (ctx: SEArrayExprContext) => Expr; visitSEFunctionCall: (ctx: SEFunctionCallContext) => Expr; visitSEParenthesis: (ctx: SEParenthesisContext) => Expr; visitMethodCallChainInner: (ctx: MethodCallChainInnerContext) => Expr; visitMethodCallChainEnd: (ctx: MethodCallChainEndContext) => Expr; visitSEAddSub: (ctx: SEAddSubContext) => Expr; private makePlusExpr; visitSEMulDiv: (ctx: SEMulDivContext) => Expr; visitStringLiteral: (ctx: StringLiteralContext) => Expr; visitNumLiteral: (ctx: NumLiteralContext) => Expr; visitSEUnaryMultipleMinus: (ctx: SEUnaryMultipleMinusContext) => Expr; visitSEPower: (ctx: SEPowerContext) => Expr; visitSEUnaryMinus: (ctx: SEUnaryMinusContext) => Expr; visitSEBooleanBinaryOp: (ctx: SEBooleanBinaryOpContext) => Expr; visitBooleanLiteral: (ctx: BooleanLiteralContext) => Expr; visitLogicalLiteral: (ctx: LogicalLiteralContext) => Expr; visitSENot: (ctx: SENotContext) => Expr; visitArrayExpr: (ctx: ArrayExprContext) => Expr; collectArrayElements: (ctx: ArrayElementListContext) => Array>; visitFunctionCall: (ctx: FunctionCallContext) => Expr; collectFunctionArguments: (ctx: ExprListContext, resultSoFar?: Array>) => Array>; private static failNode; visitLiteral: (ctx: LiteralContext) => Expr; }