The selection type, which is additionally checked for accessibility.
Assign type of RefinedType.
Refinements are typed as if they were members of refinement class
An upper approximation of the given type
tp that does not refer to any symbol in
Approximation steps are:
- follow aliases and upper bounds if the original refers to a forbidden symbol
- widen termrefs that refer to a forbidden symbol
- replace ClassInfos of forbidden classes by the intersection of their parents, refined by all non-private fields, methods, and type members.
- if the prefix of a class refers to a forbidden symbol, first try to replace the prefix, if this is not possible, replace the ClassInfo as above.
- drop refinements referring to a forbidden symbol.
tpe is a named type, check that its denotation is accessible in the
current context. Return the type with those alternatives as denotations
which are accessible.
Also performs the following normalizations on the type
(1) parameter accessors are always dereferenced.
(2) if the owner of the denotation is a package object, it is assured
that the package object shows up as the prefix.
tree2's type is in the same universe as
tree1. If that's the case, return
op applied to both types.
If not, issue an error and return
The qualifying class of a this or super with prefix
qual (which might be empty).
Substitute argument type
argType for parameter
pref in type
skolemizing the argument type if it is not stable and
pref occurs in
The type of a selection with
name of a tree with type