CheckNonCyclicMap

class CheckNonCyclicMap(sym: Symbol, reportErrors: Boolean)(using x$3: Context) extends TypeMap

A type map which checks that the only cycles in a type are F-bounds and that protects all F-bounded references by LazyRefs.

class TypeMap
trait Type => Type
class Object
trait Matchable
class Any

Value members

Concrete methods

def apply(tp: Type): Type
def checkInfo(tp: Type): Type

Check info tp for cycles. Throw CyclicReference for illegal cycles, break direct cycle with a LazyRef for legal, F-bounded cycles.

Check info tp for cycles. Throw CyclicReference for illegal cycles, break direct cycle with a LazyRef for legal, F-bounded cycles.

Inherited methods

def andThen(f: Type => Type): TypeMap
Inherited from
TypeMap
def andThen[A](g: Type => A): Type => A
Inherited from
Function1
inline protected
def atVariance[T](v: Int)(op: => T): T
Inherited from
VariantTraversal
def compose[A](g: A => Type): A => Type
Inherited from
Function1
protected
Inherited from
TypeMap
protected
def derivedAndType(tp: AndType, tp1: Type, tp2: Type): Type
Inherited from
TypeMap
protected
def derivedAnnotatedType(tp: AnnotatedType, underlying: Type, annot: Annotation): Type
Inherited from
TypeMap
protected
def derivedAppliedType(tp: AppliedType, tycon: Type, args: List[Type]): Type
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
def derivedExprType(tp: ExprType, restpe: Type): Type
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
def derivedLambdaType(tp: LambdaType)(formals: List[PInfo], restpe: Type): Type
Inherited from
TypeMap
protected
def derivedMatchType(tp: MatchType, bound: Type, scrutinee: Type, cases: List[Type]): Type
Inherited from
TypeMap
protected
def derivedOrType(tp: OrType, tp1: Type, tp2: Type): Type
Inherited from
TypeMap
protected
def derivedRecType(tp: RecType, parent: Type): Type
Inherited from
TypeMap
protected
def derivedRefinedType(tp: RefinedType, parent: Type, info: Type): Type
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
def derivedSuperType(tp: SuperType, thistp: Type, supertp: Type): Type
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
Inherited from
TypeMap
protected

Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.

Can the prefix of this static reference be omitted if the reference itself can be omitted? Overridden in TypeOps#avoid.

Inherited from
VariantTraversal
protected
def mapArgs(args: List[Type], tparams: List[ParamInfo]): List[Type]
Inherited from
TypeMap
protected

Can be overridden. By default, only the prefix is mapped.

Can be overridden. By default, only the prefix is mapped.

Inherited from
TypeMap
def mapOver(tree: Tree): Tree
Inherited from
TypeMap
Inherited from
TypeMap
def mapOver(scope: Scope): Scope
Inherited from
TypeMap
def mapOver(syms: List[Symbol]): List[Symbol]
Inherited from
TypeMap
def mapOver(tp: Type): Type

Map this function over given type

Map this function over given type

Inherited from
TypeMap
protected
Inherited from
TypeMap
protected
Inherited from
VariantTraversal
Inherited from
VariantTraversal
override
Definition Classes
Function1 -> Any
Inherited from
Function1

Concrete fields

The last type top-level type checked when a CyclicReference occurs.

The last type top-level type checked when a CyclicReference occurs.

A diagnostic output string that indicates the position of the last part of a type bounds checked by checkInfo. Possible choices: alias, lower bound, upper bound.

A diagnostic output string that indicates the position of the last part of a type bounds checked by checkInfo. Possible choices: alias, lower bound, upper bound.

Implicits

Inherited implicits

implicit protected
Inherited from
TypeMap