interactions between type annotations and language model APIs.

Jonathan Gibbons jonathan.gibbons at
Mon May 5 19:52:37 UTC 2014

In cleaning up the reference implementation of type annotations, we've 
uncovered some questions pertaining to the interactions between the type 
annotations and language model APIs.

In particular, TypeMirror is now an AnnotatedConstruct, and various 
methods in javax.lang.model.util.Types return computed TypeMirrors -- 
for example, capture(TypeMirror), directSupertypes(TypeMirror), 
erasure(TypeMirror), etc.

In cases where the argument has type annotations, what type annotations 
(if any) should appear on the return value?

It would help to see clarification added to the specifications, either 
generally, or on a case-by-case basis for the affected methods.

-- Jon

More information about the compiler-dev mailing list