ReChecking
Value members
Concrete methods
Inherited methods
Check arguments of compiler-defined annotations
Check arguments of compiler-defined annotations
- Inherited from:
- Checking
Check that case classes are not inherited by case classes.
Check that case classes are not inherited by case classes.
- Inherited from:
- Checking
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.
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.
- Returns:
tp
itself if it is a class or trait ref, ObjectType if not.- Inherited from:
- Checking
Verify classes extending AnyVal meet the requirements
Verify classes extending AnyVal meet the requirements
- Inherited from:
- Checking
Check that tp
is a class type and 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 tp
is a class type and 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.
- Inherited from:
- Checking
Issue a feature warning if feature is not enabled
Issue a feature warning if feature is not enabled
- Inherited from:
- Checking
If sym
is an old-style implicit conversion, check that implicit conversions are enabled.
If sym
is an old-style implicit conversion, check that implicit conversions are enabled.
- Inherited from:
- Checking
If tree
is an application of a new-style implicit conversion (using the apply
method of a scala.Conversion
instance), check that implicit conversions are
enabled.
If tree
is an application of a new-style implicit conversion (using the apply
method of a scala.Conversion
instance), check that implicit conversions are
enabled.
- Inherited from:
- Checking
Check that we are in an inline context (inside an inline method or in inline code)
Check that we are in an inline context (inside an inline method or in inline code)
- Inherited from:
- Checking
Check that pattern pat
is irrefutable for scrutinee type sel.tpe
.
This means sel
is either marked @unchecked or sel.tpe
conforms to the
pattern's type. If pattern is an UnApply, do the check recursively.
Check that pattern pat
is irrefutable for scrutinee type sel.tpe
.
This means sel
is either marked @unchecked or sel.tpe
conforms to the
pattern's type. If pattern is an UnApply, do the check recursively.
- Inherited from:
- Checking
Check that path
is a legal prefix for an export clause
Check that path
is a legal prefix for an export clause
- Inherited from:
- Checking
Check that path
is a legal prefix for an import clause
Check that path
is a legal prefix for an import clause
- Inherited from:
- Checking
Check that all named types that form part of this type have a denotation.
Called on inferred (result) types of ValDefs and DefDefs.
This could fail for types where the member was originally available as part
of the self type, yet is no longer visible once the this
has been replaced
by some other prefix. See neg/i3083.scala
Check that all named types that form part of this type have a denotation.
Called on inferred (result) types of ValDefs and DefDefs.
This could fail for types where the member was originally available as part
of the self type, yet is no longer visible once the this
has been replaced
by some other prefix. See neg/i3083.scala
- Inherited from:
- Checking
Check that class does not declare same symbol twice
Check that class does not declare same symbol twice
- Inherited from:
- Checking
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.
- Inherited from:
- Checking
Check that symbol's external name does not clash with symbols defined in the same scope
Check that symbol's external name does not clash with symbols defined in the same scope
- Inherited from:
- Checking
Check that all type members of tp
have realizable bounds
Check that all type members of tp
have realizable bounds
- Inherited from:
- Checking
Check that tpt
does not define a higher-kinded type
Check that tpt
does not define a higher-kinded type
- Inherited from:
- Checking
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
.
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.
- Inherited from:
- Checking
Check that tree
is a valid infix operation. That is, if the
operator is alphanumeric, it must be declared infix
.
Check that tree
is a valid infix operation. That is, if the
operator is alphanumeric, it must be declared infix
.
- Inherited from:
- Checking
A hook to exclude selected symbols from double declaration check
A hook to exclude selected symbols from double declaration check
- Inherited from:
- Checking