An additional checker for annotations on types.
Let registered annotation checkers adapt a tree to a given type (called by Typers.
Let registered annotation checkers adapt a tree to a given type (called by Typers.adapt). Annotation checkers that cannot do the adaption should pass the tree through unchanged.
Refine the bounds on type parameters to the given type arguments.
Let a registered annotation checker adapt the type of a return expression.
Let a registered annotation checker adapt the type of a return expression.
Annotation checkers that cannot do the adaptation should simply return
the default
argument.
Note that the result is undefined if more than one annotation checker
returns an adapted type which is not a subtype of default
.
Register an annotation checker.
Register an annotation checker. Typically these are added by compiler plugins.
Let all annotations checkers add extra annotations to this tree's type.
Check that the annotations on two types conform.
Check that the annotations on two types conform. To do so, consult all registered annotation checkers.
Refine the computed greatest lower bound of a list of types.
Refine the computed greatest lower bound of a list of types. All this should do is add annotations.
Refine the computed least upper bound of a list of types.
Refine the computed least upper bound of a list of types. All this should do is add annotations.
Find out whether any annotation checker can adapt a tree to a given type.
Find out whether any annotation checker can adapt a tree to a given type. Called by Typers.adapt.
Remove all annotation checkers
Additions to the type checker that can be added at run time. Typically these are added by compiler plugins.