Attributes
- Companion:
- object
- Graph
- Supertypes
- Known subtypes
- class PCPCheckAndHealclass Checkertrait ReCheckingtrait NoCheckingclass Typerclass ReTyperclass InlineTyperclass Typer
Members list
Value members
Concrete methods
check that annotation annot
is applicable to symbol sym
check that annotation annot
is applicable to symbol sym
Attributes
Check arguments of compiler-defined annotations
Check arguments of compiler-defined annotations
Attributes
Check that there is an implicit capability to throw a checked exception if the saferExceptions feature is turned on. Return that capability is it exists, EmptyTree otherwise.
Check that there is an implicit capability to throw a checked exception if the saferExceptions feature is turned on. Return that capability is it exists, EmptyTree otherwise.
Attributes
Check that case classes are not inherited by case classes.
Check that case classes are not inherited by case classes.
Attributes
Check that catch can generate a good CanThrow exception
Check that catch can generate a good CanThrow exception
Attributes
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.
Attributes
- Returns:
tp
itself if it is a class or trait ref, ObjectType if not.
Verify classes extending AnyVal meet the requirements
Verify classes extending AnyVal meet the requirements
Attributes
- Check that all case classes that extend
scala.reflect.Enum
areenum
cases - Check that parameterised
enum
cases do not extend java.lang.Enum. - Check that only a static
enum
base class can extend java.lang.Enum. - Check that user does not implement an
ordinal
method in the body of an enum class.
Attributes
Check that all references coming from enum cases in an enum companion object are legal.
Check that all references coming from enum cases in an enum companion object are legal.
Attributes
- cdef
the enum companion object class
- enumCtx
the context immediately enclosing the corresponding enum
Check that the firstParent for an enum case derives from the declaring enum class, if not, adds it as a parent after emitting an error.
Check that the firstParent for an enum case derives from the declaring enum class, if not, adds it as a parent after emitting an error.
This check will have no effect on simple enum cases as their parents are inferred by the compiler.
Attributes
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.
Attributes
Issue a feature warning if feature is not enabled
Issue a feature warning if feature is not enabled
Attributes
Check that user-defined (result) type is fully applied
Check that user-defined (result) type is fully applied
Attributes
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.
Attributes
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.
Attributes
(1) Check that every named import selector refers to a type or value member of the qualifier type. (2) Check that no import selector is renamed more than once.
(1) Check that every named import selector refers to a type or value member of the qualifier type. (2) Check that no import selector is renamed more than once.
Attributes
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)
Attributes
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, also check that the extractor is
irrefutable, and 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, also check that the extractor is
irrefutable, and do the check recursively.
Attributes
Check that path
is a legal prefix for an export clause
Check that path
is a legal prefix for an export clause
Attributes
Check that path
is a legal prefix for an import clause
Check that path
is a legal prefix for an import clause
Attributes
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
Attributes
Check that class does not declare same symbol twice
Check that class does not declare same symbol twice
Attributes
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.
Attributes
Check that module sym
does not clash with a class of the same name
that is concurrently compiled in another source file.
Check that module sym
does not clash with a class of the same name
that is concurrently compiled in another source file.
Attributes
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
Attributes
Check that all type members of tp
have realizable bounds
Check that all type members of tp
have realizable bounds
Attributes
Check that all non-synthetic references of the form <ident>
or
this.<ident>
in tree
that refer to a member of badOwner
are
allowed
. Also check that there are no other explicit this
references
to badOwner
.
Check that all non-synthetic references of the form <ident>
or
this.<ident>
in tree
that refer to a member of badOwner
are
allowed
. Also check that there are no other explicit this
references
to badOwner
.
Attributes
Check that tpt
does not define a higher-kinded type
Check that tpt
does not define a higher-kinded type
Attributes
Check that type tp
is stable.
Check that type tp
is stable.
Attributes
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.
Attributes
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
.
Attributes
A hook to exclude selected symbols from double declaration check
A hook to exclude selected symbols from double declaration check