public Object visit(ASTCall node, Object data)
{
try
{
if (!(node.getBehavior() instanceof ASTConstructor)) return Boolean.FALSE;
ASTConstructor astCon = (ASTConstructor) node.getBehavior();
// do simple checks to avoid loading CtClasses
if (astCon.getClazz().isSimple())
{
if (!astCon.getClazz().matches(call.getClassName())) return Boolean.FALSE;
}
CtConstructor calledCon = call.getConstructor();
ClassAdvisor calledAdvisor = AspectManager.instance().getTempClassAdvisor(calledCon.getDeclaringClass());
ConstructorMatcher conMatcher = new ConstructorMatcher(calledAdvisor, calledCon, null);
return conMatcher.matches(astCon);