if (macro.isFunctionLike() && macro.getArgs() > 0) { continue;
if (macro.isFunctionLike() && macro.getArgs() > 0) { continue;
if (tok.getType() != ')' || m.getArgs() > 0) { args = new ArrayList<Argument>(); if (depth == 0) { if (m.isVariadic() && /* We are building the last arg. */ args.size() == m.getArgs() - 1) { if (args.size() != m.getArgs()) { if (m.isVariadic()) { if (args.size() == m.getArgs() - 1) { args.add(new Argument()); } else { error(tok, "variadic macro " + m.getName() + " has at least " + (m.getArgs() - 1) + " parameters " + "but given " + args.size() + " args"); return false; error(tok, "macro " + m.getName() + " has " + m.getArgs() + " parameters " + "but given " + args.size() + " args");