[JSR308] Constructor Annotation Inference
Niko Matsakis
niko at alum.mit.edu
Thu Jan 15 16:17:47 EST 2009
> Before answering your email, I would like to mention a convention
> used within AnnotatedTypeFactory. Many methods in the class follow
> a naming convention: .fromFOO methods (e.g. fromTree,
> fromExpression) return types with only the annotations that the user
> explicitly inserted; .getAnnotatedType* methods (e.g.
> getAnnotatedType, getAnnotatedTypeFromTypeTree) return types with
> the annotations enforced in such trees whether explicitly inserted
> by the user or implicitly inserted by the checker.
Good to know. Perhaps I am using the wrong method. If I can't find a
better one, however, I will simply override fromExpression(). I have
to think about it a bit.
> In the checkers we have used so far, the receiver of a constructor
> isn't necessarily the type of the new class expression tree. For
> example, the constructor receiver is RAW according to the nullness
> checker, yet all new class trees are of type NonNull.
>
> If you can come up with a generalized proposal on how handle
> constructorFromUse(), we'll be happy to adopt it.
Yes, I agree that the code is correct as it is now --- it's not
obvious what the relation between constructorFromUse() and the
generated object is. I guess I will simply need to refactor the
inference code so it can be used from multiple contexts.
thanks for your help,
Niko
More information about the JSR308
mailing list