tuple.cflowExpressions = cflowExpressionList;
tuple.expressionContext = ctx;
break;
case JoinPointType.CONSTRUCTOR_EXECUTION:
ConstructorTuple constructorTuple = AspectRegistry.getConstructorTuple(declaringClass, joinPointHash);
ConstructorSignatureImpl constructorSignature = new ConstructorSignatureImpl(
constructorTuple
.getDeclaringClass(),
constructorTuple
);
tuple.signature = constructorSignature;
tuple.rtti = new ConstructorRttiImpl(constructorSignature, thisInstance, targetInstance);
ConstructorInfo constructorInfo = JavaConstructorInfo.getConstructorInfo(
constructorTuple
.getWrapperConstructor()
);
ctx = new ExpressionContext(PointcutType.EXECUTION, constructorInfo, null);
for (int i = 0; i < aspectManagers.length; i++) {
for (Iterator it = aspectManagers[i].getPointcuts(ctx).iterator(); it.hasNext();) {
Pointcut pointcut = (Pointcut)it.next();
if (pointcut.getExpressionInfo().hasCflowPointcut()) {
cflowExpressionList.add(pointcut.getExpressionInfo().getCflowExpressionRuntime());
}
}
}
tuple.cflowExpressions = cflowExpressionList;
tuple.expressionContext = ctx;
break;
case JoinPointType.CONSTRUCTOR_CALL:
constructorTuple = AspectRegistry.getConstructorTuple(declaringClass, joinPointHash);
constructorSignature = new ConstructorSignatureImpl(
constructorTuple.getDeclaringClass(),
constructorTuple
);
tuple.signature = constructorSignature;
tuple.rtti = new ConstructorRttiImpl(constructorSignature, thisInstance, targetInstance);