/* (non-Javadoc) * @see org.aspectj.weaver.reflect.GenericSignatureInformationProvider#getGenericParameterTypes(org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl) */ public UnresolvedType[] getGenericParameterTypes( ReflectionBasedResolvedMemberImpl resolvedMember) { JavaLangTypeToResolvedTypeConverter typeConverter = new JavaLangTypeToResolvedTypeConverter(world); Type[] pTypes = new Type[0]; Member member = resolvedMember.getMember(); if (member instanceof Method) { pTypes = ((Method) member).getGenericParameterTypes(); } else if (member instanceof Constructor) { pTypes = ((Constructor) member).getGenericParameterTypes(); } return typeConverter.fromTypes(pTypes); }
/* (non-Javadoc) * @see org.aspectj.weaver.reflect.GenericSignatureInformationProvider#getGenericReturnType(org.aspectj.weaver.reflect.ReflectionBasedResolvedMemberImpl) */ public UnresolvedType getGenericReturnType(ReflectionBasedResolvedMemberImpl resolvedMember) { JavaLangTypeToResolvedTypeConverter typeConverter = new JavaLangTypeToResolvedTypeConverter(world); Member member = resolvedMember.getMember(); if (member instanceof Field) { return typeConverter.fromType(((Field) member).getGenericType()); } else if (member instanceof Method) { return typeConverter.fromType(((Method) member).getGenericReturnType()); } else if (member instanceof Constructor) { return typeConverter.fromType(((Constructor) member).getDeclaringClass()); } else { throw new IllegalStateException("unexpected member type: " + member); } }