finalCond = new Condition(new Inequation(finalExpr, Inequation.Predicate.FADA_NEQ, new Expression(0)));
return PROCESS_SKIP;
} else if (expr instanceof IASTUnaryExpression){
return visit ((IASTUnaryExpression)expr);
} else if (expr instanceof IASTFunctionCallExpression){
IASTFunctionCallExpression funcExpr = (IASTFunctionCallExpression)expr;
List<Expression> arguments = new ArrayList<Expression>();
for(IASTInitializerClause argument: funcExpr.getArguments()){
ExprVisitor visitor = new ExprVisitor();
argument.accept(visitor);
arguments.add(visitor.getExpr());
}
finalExpr = new Expression(Expression.Leaf.FADA_function, funcExpr.getFunctionNameExpression().getRawSignature(), arguments);
finalCond = new Condition(new Inequation(finalExpr, Inequation.Predicate.FADA_NEQ, new Expression(0)));
return PROCESS_SKIP;
} else {
System.err.println("ExprVisitor.visit: " + expr.getRawSignature() + " " + expr.getClass());