Constructors
Members
Check that tp
is a class type.
Also, if traitReq
is true, check that tp
is a trait.
Also, if stablePrefixReq
is true and phase is not after RefChecks,
ch...
Check that tp
is a class type.
Also, if traitReq
is true, check that tp
is a trait.
Also, if stablePrefixReq
is true and phase is not after RefChecks,
check that class prefix is stable.
Verify classes extending AnyVal meet the requirements
Verify classes extending AnyVal meet the requirements
Check that any top-level type arguments in this type are feasible, i.e. that their lower bound conforms to their upper bound. If a type argument is infe...
Check that any top-level type arguments in this type are feasible, i.e. that their lower bound conforms to their upper bound. If a type argument is infeasible, issue and error and continue with upper bound.
Check that any top-level type arguments in this type are feasible, i.e. that their lower bound conforms to their upper bound. If a type argument is infe...
Check that any top-level type arguments in this type are feasible, i.e. that their lower bound conforms to their upper bound. If a type argument is infeasible, issue and error and continue with upper bound.
Check that a non-implicit parameter making up the first parameter section of an implicit conversion is not a singleton type.
Check that a non-implicit parameter making up the first parameter section of an implicit conversion is not a singleton type.
Check that tree
is a pure expression of constant type
Check that tree
is a pure expression of constant type
Check that class does not define same symbol twice
Check that class does not define same symbol twice
Check that method parameter types do not reference their own parameter or later parameters in the same parameter section.
Check that method parameter types do not reference their own parameter or later parameters in the same parameter section.
Check that tpt
does not refer to a singleton type
Check that tpt
does not refer to a singleton type
Check that tpt
does not define a higher-kinded type
Check that tpt
does not define a higher-kinded type
Check that type tp
is stable.
Check that type tp
is stable.
Given a parent parent
of a class cls
, if parent
is a trait check that
the superclass of cls
derived from the superclass of parent
.
An exception is made...
... extends Any with java.io.Serializable
Given a parent parent
of a class cls
, if parent
is a trait check that
the superclass of cls
derived from the superclass of parent
.
An exception is made if cls
extends Any
, and parent
is java.io.Serializable
or java.lang.Comparable
. These two classes are treated by Scala as universal
traits. E.g. the following is OK:
... extends Any with java.io.Serializable
The standard library relies on this idiom.