A type comparer that can record traces of subtype operations
Constructors
Members
Add constraint param <: bound
if fromBelow
is false, param >: bound
otherwise.
bound
is assumed to be in normalized form, as specified in firstTry
and
s...
Add constraint param <: bound
if fromBelow
is false, param >: bound
otherwise.
bound
is assumed to be in normalized form, as specified in firstTry
and
secondTry
of TypeComparer
. In particular, it should not be an alias type,
lazy ref, typevar, wildcard type, error type. In addition, upper bounds may
not be AndTypes and lower bounds may not be OrTypes. This is assured by the
way isSubType is organized.
Subtype test for the hk application tp2 = tycon2[args2]
.
Subtype test for the hk application tp2 = tycon2[args2]
.
A new type comparer of the same type as this one, using the given context.
A new type comparer of the same type as this one, using the given context.
The greatest lower bound of two types
The greatest lower bound of two types
Does type tp1
have a member with name name
whose normalized type is a subtype of
the normalized type of the refinement tp2
?
Normalization is as follows:...
Does type tp1
have a member with name name
whose normalized type is a subtype of
the normalized type of the refinement tp2
?
Normalization is as follows: If tp2
contains a skolem to its refinement type,
rebase both itself and the member info of tp
on a freshly created skolem type.
A hook for showing subtype traces. Overridden in ExplainingTypeComparer
A hook for showing subtype traces. Overridden in ExplainingTypeComparer