ASTDirective jjtn000 = new ASTDirective(this, JJTDIRECTIVE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
int argType;
int argPos = 0;
Directive d;
int directiveType;
boolean isVM = false;
boolean doItNow = false;
try {
/*
* note that if we were escaped, that is now handled by
* EscapedDirective()
*/
t = jj_consume_token(WORD);
String directiveName = t.image.substring(1);
d = (Directive) directives.get(directiveName);
/*
* Velocimacro support : if the directive is macro directive
* then set the flag so after the block parsing, we add the VM
* right then. (So available if used w/in the current template )
*/
if (directiveName.equals("macro"))
{
doItNow = true;
}
/*
* set the directive name from here. No reason for the thing to know
* about parser tokens
*/
jjtn000.setDirectiveName(directiveName);
if ( d == null)
{
/*
* if null, then not a real directive, but maybe a Velocimacro
isVM = rsvc.isVelocimacro(directiveName, currentTemplateName);
if (!isVM)
{
token_source.stateStackPop();
token_source.inDirective = false;
{if (true) return jjtn000;}
}
*/
/*
* Currently, all VMs are LINE directives
*/
directiveType = Directive.LINE;
}
else
{
directiveType = d.getType();
}
/*
* now, switch us out of PRE_DIRECTIVE
*/