Constructors
Members
The selection type, which is additionally checked for accessibility.
The selection type, which is additionally checked for accessibility.
Assign type of RefinedType.
Refinements are typed as if they were members of refinement class refineCls
.
Assign type of RefinedType.
Refinements are typed as if they were members of refinement class refineCls
.
An upper approximation of the given type tp
that does not refer to any symbol in symsToAvoid
.
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.
An upper approximation of the given type tp
that does not refer to any symbol in symsToAvoid
.
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.
If 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...
If 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 tpe
.
(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.
The qualifying class of a this or super with prefix qual
(which might be empty).
The qualifying class of a this or super with prefix qual
(which might be empty).
Substitute argument type argType
for parameter pref
in type tp
,
skolemizing the argument type if it is not stable and pref
occurs in tp
.
Substitute argument type argType
for parameter pref
in type tp
,
skolemizing the argument type if it is not stable and pref
occurs in tp
.
The type of a selection with name
of a tree with type site
.
The type of a selection with name
of a tree with type site
.