Adapt a tree that has an annotated type to the given type tp, taking into account the given mode (see method adapt in trait Typers).
Adapt a tree that has an annotated type to the given type tp, taking into account the given mode (see method adapt in trait Typers). An implementation cannot rely on canAdaptAnnotations being called before. If the implementing class cannot do the adaptiong, it should return the tree unchanged.
Refine the bounds on type parameters to the given type arguments.
Adapt the type of a return expression.
Adapt the type of a return expression. The decision of an annotation checker
whether the type should be adapted is based on the type of the expression
which is returned, as well as the result type of the method (pt).
By default, this method simply returns the passed default
type.
Modify the type that has thus far been inferred for a tree.
Modify the type that has thus far been inferred for a tree. All this should do is add annotations.
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.
Decide whether this annotation checker can adapt a tree that has an annotated type to the given type tp, taking into account the given mode (see method adapt in trait Typers).
An additional checker for annotations on types. Typically these are registered by compiler plugins with the addAnnotationChecker method.