Currently, WildcardType extends the marker interface ReferenceType.
This doesn't accurately reflect the treatment of wildcards in the
upcoming JLS 3. It should directly extend TypeMirror instead.
This has the added advantage of aligning the interface more closely
with its java.lang.reflect counterpart.
Since ReferenceType is a marker interface, there's basically no code
that needs to be changed; mostly it's just signatures being changed.
In the following updated spec, the relevent occurrences of ReferenceType
have been changed to TypeMirror:
In WildcardType itself:
public interface WildcardType extends TypeMirror
public Collection<TypeMirror> getActualTypeArguments();
In the Types utility interface:
getDeclaredType(TypeDeclaration decl, TypeMirror... typeArgs) ;
TypeDeclaration decl, TypeMirror... typeArgs);
* Visits a wildcard type.
* The implementation simply invokes visitTypeMirror.
public void visitWildcardType(WildcardType t);