private static boolean needParen(Exp[] args) { return !(args.length == 1 && args[0] instanceof FunCall && ((FunCall) args[0]).getSyntax() == Syntax.Parentheses); }
FunCall call = (FunCall) exp; if (call.getFunName().equals("-") && call.getSyntax() == Syntax.Prefix)
private static Exp normalizeSlicerExpression(Exp exp) { Exp slicer = exp; if (slicer instanceof LevelExpr || slicer instanceof HierarchyExpr || slicer instanceof DimensionExpr) { slicer = new UnresolvedFunCall( "DefaultMember", Syntax.Property, new Exp[] { slicer}); } if (slicer == null) { ; } else if (slicer instanceof FunCall && ((FunCall) slicer).getSyntax() == Syntax.Parentheses) { slicer = new UnresolvedFunCall( "{}", Syntax.Braces, new Exp[] {slicer}); } else { slicer = new UnresolvedFunCall( "{}", Syntax.Braces, new Exp[] { new UnresolvedFunCall( "()", Syntax.Parentheses, new Exp[] { slicer})}); } return slicer; }
if (exp instanceof FunCall) { FunCall call2 = (FunCall) exp; if (call2.getSyntax() == Syntax.Infix && call2.getFunName().equals("AS"))