private IExpression Visit(VBAConditionalCompilationParser.CcExpressionContext context) { if (context.literal() != null) { return(Visit(context.literal())); } else if (context.name() != null) { return(Visit(context.name())); } else if (context.LPAREN() != null) { return(Visit(context.ccExpression()[0])); } else if (context.MINUS() != null && context.ccExpression().Count == 1) { return(VisitUnaryMinus(context)); } else if (context.NOT() != null) { return(VisitUnaryNot(context)); } else if (context.PLUS() != null) { return(VisitPlus(context)); } else if (context.MINUS() != null && context.ccExpression().Count == 2) { return(VisitMinus(context)); } else if (context.MULT() != null) { return(VisitMult(context)); } else if (context.DIV() != null) { return(VisitDiv(context)); } else if (context.INTDIV() != null) { return(VisitIntDiv(context)); } else if (context.MOD() != null) { return(VisitMod(context)); } else if (context.POW() != null) { return(VisitPow(context)); } else if (context.AMPERSAND() != null) { return(VisitConcat(context)); } else if (context.EQ() != null) { return(VisitEq(context)); } else if (context.NEQ() != null) { return(VisitNeq(context)); } else if (context.LT() != null) { return(VisitLt(context)); } else if (context.GT() != null) { return(VisitGt(context)); } else if (context.LEQ() != null) { return(VisitLeq(context)); } else if (context.GEQ() != null) { return(VisitGeq(context)); } else if (context.AND() != null) { return(VisitAnd(context)); } else if (context.OR() != null) { return(VisitOr(context)); } else if (context.XOR() != null) { return(VisitXor(context)); } else if (context.EQV() != null) { return(VisitEqv(context)); } else if (context.IMP() != null) { return(VisitImp(context)); } else if (context.IS() != null) { return(VisitIs(context)); } else if (context.LIKE() != null) { return(VisitLike(context)); } else { return(VisitLibraryFunction(context)); } }