return new Boolean(val || ((Boolean) orChild.jjtAccept(this, Boolean.FALSE)).booleanValue());
}
public Object visit(ASTCFlow node, Object data)
{
AspectManager manager = null;
if (invocation.getAdvisor() == null)
manager = AspectManager.instance();
else
manager = invocation.getAdvisor().getManager();
CFlowStack cflow = manager.getCFlowStack(node.getPointcutName());
//Use the current advisor to guess the classloader
ClassLoader cl = invocation.getAdvisor().getClassLoader();
if (cl == null)
{
//Fall back to context classloader if null
cl = SecurityActions.getContextClassLoader();
}
if (cflow != null) return new Boolean(cflow.matches(getStack(), cl));
DynamicCFlow dcflow = manager.getDynamicCFlow(node.getPointcutName(), cl);
return new Boolean(dcflow.shouldExecute(invocation));
}