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).
Decide whether this analyzer plugin 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).
Selectively activate this analyzer plugin, e.g.
Let analyzer plugins change the expected type before type checking a tree.
Let analyzer plugins change the types assigned to definitions.
is the definition for which the type was computed. The different cases are outlined below. Note that this type is untyped (for methods and values with inferred type, the typed rhs trees are available in analyzer.transformed).
Case defTree: Template
Case defTree: ClassDef
Case defTree: ModuleDef
Case defTree: DefDef
Case defTree: ValDef
Case defTree: TypeDef
Modify the types of field accessors.
The method type created by the namer for the accessor
The typer for the ValDef (not for the rhs)
The ValDef corresponding to the accessor
The accessor method symbol (getter, setter, beanGetter or beanSetter)
Let analyzer plugins modify the type that has been computed for a tree.
The type inferred by the type checker, initially (for first plugin)
The yper that type checked
The type-checked tree
Mode that was used for typing
Expected type that was used for typing
Modify the type of a return expression.
The type of the return expression
The typer that was used for typing the return tree
The typed return expression tree
The return type of the enclosing method