summaryrefslogtreecommitdiffstats
path: root/weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java
diff options
context:
space:
mode:
Diffstat (limited to 'weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java')
-rw-r--r--weaver5/java5-src/org/aspectj/weaver/reflect/Java15AnnotationFinder.java11
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;
}