diff options
author | acolyer <acolyer> | 2005-12-06 01:11:13 +0000 |
---|---|---|
committer | acolyer <acolyer> | 2005-12-06 01:11:13 +0000 |
commit | 5611db4f27a752ef5b65f61b614eb3d5ca30bb01 (patch) | |
tree | 9b5d55879d5d1f1f22e9e786e057513fa59da0a5 /weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java | |
parent | 278718a6d3bd0c15ebdb9fcf149811575fc99454 (diff) | |
download | aspectj-5611db4f27a752ef5b65f61b614eb3d5ca30bb01.tar.gz aspectj-5611db4f27a752ef5b65f61b614eb3d5ca30bb01.zip |
fixes getGenericXXX methods in Reflection-based resolved member impl, GenericSignatureInformationProvider allows this to work across both 1.4 and 1.5
Diffstat (limited to 'weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java')
-rw-r--r-- | weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java b/weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java index 40985bd26..1453e05ff 100644 --- a/weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java +++ b/weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java @@ -36,6 +36,7 @@ public class Java15AnnotationFinder implements AnnotationFinder { private Repository bcelRepository; private ClassLoader classLoader; + private World world; // must have no-arg constructor for reflective construction public Java15AnnotationFinder() { @@ -46,6 +47,10 @@ public class Java15AnnotationFinder implements AnnotationFinder { this.classLoader = aLoader; } + public void setWorld(World aWorld) { + this.world = aWorld; + } + /* (non-Javadoc) * @see org.aspectj.weaver.reflect.AnnotationFinder#getAnnotation(org.aspectj.weaver.ResolvedType, java.lang.Object) */ @@ -109,9 +114,9 @@ public class Java15AnnotationFinder implements AnnotationFinder { bcelRepository.clear(); if (anns == null) anns = new org.aspectj.apache.bcel.classfile.annotation.Annotation[0]; // convert to our Annotation type - Set<UnresolvedType> annSet = new HashSet<UnresolvedType>(); + Set<ResolvedType> annSet = new HashSet<ResolvedType>(); for (int i = 0; i < anns.length; i++) { - annSet.add(UnresolvedType.forName(anns[i].getTypeName())); + annSet.add(UnresolvedType.forName(anns[i].getTypeName()).resolve(world)); } return annSet; } catch (ClassNotFoundException cnfEx) { @@ -123,7 +128,7 @@ public class Java15AnnotationFinder implements AnnotationFinder { Annotation[] anns = ao.getDeclaredAnnotations(); Set<UnresolvedType> annSet = new HashSet<UnresolvedType>(); for (int i = 0; i < anns.length; i++) { - annSet.add(UnresolvedType.forName(anns[i].annotationType().getName())); + annSet.add(UnresolvedType.forName(anns[i].annotationType().getName()).resolve(world)); } return annSet; } |