ExpressionKind.BitwiseOr => VisitBITOR(pExpr as ExprBinOp),
ExpressionKind.Addr => VisitADDR(pExpr as ExprUnaryOp),
ExpressionKind.DecimalInc => VisitDECIMALINC(pExpr as ExprUnaryOp),
ExpressionKind.LogicalNot => VisitLOGNOT(pExpr as ExprUnaryOp),
ExpressionKind.UnaryPlus => VisitUPLUS(pExpr as ExprUnaryOp),
// Unary operators ExpressionKind.True => VisitTRUE(pExpr as ExprUnaryOp),
ExpressionKind.Inc => VisitINC(pExpr as ExprUnaryOp),
ExpressionKind.Sequence => VisitSEQUENCE(pExpr as ExprBinOp),
ExpressionKind.Save => VisitSAVE(pExpr as ExprBinOp),
ExpressionKind.LogicalAnd => VisitLOGAND(pExpr as ExprBinOp),
ExpressionKind.LogicalOr => VisitLOGOR(pExpr as ExprBinOp),
ExpressionKind.RightShift => VisitRSHIFT(pExpr as ExprBinOp),
ExpressionKind.LeftShirt => VisitLSHIFT(pExpr as ExprBinOp),
ExpressionKind.BitwiseExclusiveOr => VisitBITXOR(pExpr as ExprBinOp),
ExpressionKind.DelegateSubtract => VisitDELEGATESUB(pExpr as ExprBinOp),
ExpressionKind.Swap => VisitSWAP(pExpr as ExprBinOp),
ExpressionKind.Eq => VisitEQ(pExpr as ExprBinOp),
ExpressionKind.Indir => VisitINDIR(pExpr as ExprBinOp),
ExpressionKind.False => VisitFALSE(pExpr as ExprUnaryOp),
ExpressionKind.StringEq => VisitSTRINGEQ(pExpr as ExprBinOp),
ExpressionKind.Dec => VisitDEC(pExpr as ExprUnaryOp),
ExpressionKind.StringNotEq => VisitSTRINGNE(pExpr as ExprBinOp),
ExpressionKind.Negate => VisitNEG(pExpr as ExprUnaryOp),
ExpressionKind.DelegateEq => VisitDELEGATEEQ(pExpr as ExprBinOp),
ExpressionKind.BitwiseNot => VisitBITNOT(pExpr as ExprUnaryOp),
ExpressionKind.DelegateNotEq => VisitDELEGATENE(pExpr as ExprBinOp),
ExpressionKind.DecimalNegate => VisitDECIMALNEG(pExpr as ExprUnaryOp),
ExpressionKind.DelegateAdd => VisitDELEGATEADD(pExpr as ExprBinOp),
ExpressionKind.DecimalDec => VisitDECIMALDEC(pExpr as ExprUnaryOp),
ExpressionKind.BitwiseAnd => VisitBITAND(pExpr as ExprBinOp),