What steps will reproduce the problem?
1. Create class as such:
@Reflect_Full
public class ReflectionPopulator {
Collection<?> collection;
List<?> list = new ArrayList<String>();
ArrayList<?> arrayList;
Set<?> set;
Map<?, ?> map = new HashMap<String, String>();
HashMap<?, ?> hashMap;
}
2. Compile and run.
What is the expected output? What do you see instead?
ArrayList correctly gets List, Cloneable, Serializable (although should
theoretically also have Iterable and RandomAccess)
Set correctly gets Collection (although should theoretically have Iterable too)
HashMap on the other hand only gets Cloneable and Serializable and not Map.
What version of the product are you using? On what operating system?
1.0RC1 on Windows 7 and Gentoo Linux.
Please provide any additional information below.
At a minimum I would think that these would also already have reflection
information generated for them. If I don't have it this way and I don't
reference Collection anywhere else there is an @Reflect* annotation, List also
does not list Collection as one of its interfaces. This does kind of break
things especially when you have a class that mimics Class.isAssignableFrom by
checking superinterfaces and superclasses against another class (i.e. in this
case using List.class and all its interfaces against Collection.class).
Original issue reported on code.google.com by ke...@kjordan.net on 8 Apr 2011 at 4:01
Original issue reported on code.google.com by
ke...@kjordan.net
on 8 Apr 2011 at 4:01