Community
Participate
Working Groups
Issue found in a Roo project. There is a problem if an annotation value is of this form: Class<? extends Something> value() and there are 2 kinds of aspect around. The first is a declare parents matching on existence of an annotation, the second is making certain types extend 'Something'. If the type specified for an annotation value hasn't yet been through declare parents that adds 'Something' then at the point the annotation is resolved to satisfy the other declare parents we will find a bounds violation.
we can avoid full annotation resolution to address this problem - we only need the annotation type name to check if the declare parents are matching, we don't need the values to also be resolved. If we extended the syntax for declare parents to
... <rest of that comment> ... support matching on annotation values, we will have problems as we can't resolve annotation values that early. test and fix committed