{
directive.init( rsvc, context, this );
}
catch (TemplateInitException die)
{
throw new TemplateInitException(die.getMessage(),
(ParseException) die.getWrappedThrowable(),
die.getTemplateName(),
die.getColumnNumber() + getColumn(),
die.getLineNumber() + getLine());
}
isDirective = true;
}
else
{
// this is a fake block macro call without a body. e.g. #@foo
// just render as it is
isDirective = false;
}
}
else
{
/**
* Create a new RuntimeMacro
*/
directive = new RuntimeMacro(directiveName);
directive.setLocation(getLine(), getColumn(), getTemplateName());
/**
* Initialize it
*/
try
{
directive.init( rsvc, context, this );
}
/**
* correct the line/column number if an exception is caught
*/
catch (TemplateInitException die)
{
throw new TemplateInitException(die.getMessage(),
(ParseException) die.getWrappedThrowable(),
die.getTemplateName(),
die.getColumnNumber() + getColumn(),
die.getLineNumber() + getLine());
}