{
/* if #macro and it's the 0th arg, ok */
}
else if (isVM)
{
{if (true) throw new MacroParseException("Invalid arg #"
+ argPos + " in VM " + t.image, currentTemplateName, t);}
}
/* if #foreach and it's the 2nd arg, ok */
else if (d != null && (!directiveName.equals("foreach") || argPos != 1))
{
{if (true) throw new MacroParseException("Invalid arg #"
+ argPos + " in directive " + t.image, currentTemplateName, t);}
}
else
{
/* either schmoo or a late-defined macro,
* VelocimacroProxy will have to check for latter. */
}
}
else
{
if (doItNow && argPos == 0)
{
/* if a VM and it's the 0th arg, not ok */
{if (true) throw new MacroParseException("Invalid first arg"
+ " in #macro() directive - must be a"
+ " word token (no \' or \" surrounding)", currentTemplateName, t);}
}
}
argPos++;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[12] = jj_gen;
;
}
jj_consume_token(RPAREN);
if (directiveType == Directive.LINE)
{
{if (true) return jjtn000;}
}
} else {
if (doItNow) // doItNow is true if the directive is "macro"
{
// VELOCITY-667 We get here if we have a "#macro" construct
// without parenthesis which is a parse error
{if (true) throw new MacroParseException("A macro declaration requires at least a name argument"
, currentTemplateName, t);}
}
/**
* Not a directive