| }
AspectSystem system = SystemLoader.getSystem(calleeClass.getClassLoader());
system.initialize();
ClassInfo calleeClassInfo = JavaClassInfo.getClassInfo(calleeClass);
ReflectionInfo reflectionInfo = null;
switch (joinPointType) {
case JoinPointType.METHOD_EXECUTION:
reflectionInfo = calleeClassInfo.getMethod(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.METHOD_EXECUTION,
PointcutType.EXECUTION,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.METHOD_CALL:
reflectionInfo = calleeClassInfo.getMethod(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.METHOD_CALL,
PointcutType.CALL,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.FIELD_GET:
reflectionInfo = calleeClassInfo.getField(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.FIELD_GET,
PointcutType.GET,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.FIELD_SET:
reflectionInfo = calleeClassInfo.getField(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.FIELD_SET,
PointcutType.SET,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.CONSTRUCTOR_EXECUTION:
reflectionInfo = calleeClassInfo.getConstructor(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.CONSTRUCTOR_EXECUTION,
PointcutType.EXECUTION,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.CONSTRUCTOR_CALL:
reflectionInfo = calleeClassInfo.getConstructor(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.CONSTRUCTOR_CALL,
PointcutType.CALL,
callerClass,
callerMethodName,
callerMethodDesc,
callerMethodModifiers,
calleeClass,
calleeMemberName,
calleeMemberDesc,
calleeMemberModifiers,
joinPointSequence,
joinPointHash,
reflectionInfo,
system,
calleeClassInfo
);
break;
case JoinPointType.HANDLER:
// FIXME wrong reflection info
reflectionInfo = calleeClassInfo.getMethod(joinPointHash);
doLoadJoinPoint(
joinPointClassName,
JoinPointType.HANDLER,
PointcutType.HANDLER,
callerClass,
|