Recheck

dotty.tools.dotc.transform.Recheck
See theRecheck companion class
object Recheck

Attributes

Companion
class
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Recheck.type

Members list

Value members

Concrete fields

Attachment key for rechecked types of TypeTrees

Attachment key for rechecked types of TypeTrees

Attributes

A flag used to indicate that a ParamAccessor has been temporarily made not-private Only used at the start of the Recheck phase, reset at its end. The flag repurposes the Scala2ModuleVar flag. No confusion is possible since Scala2ModuleVar cannot be also ParamAccessors.

A flag used to indicate that a ParamAccessor has been temporarily made not-private Only used at the start of the Recheck phase, reset at its end. The flag repurposes the Scala2ModuleVar flag. No confusion is possible since Scala2ModuleVar cannot be also ParamAccessors.

Attributes

Extensions

Extensions

extension (sym: Symbol)
def isUpdatedAfter(phase: Phase)(using Context): Boolean

Does symbol have a new denotation valid from phase.next that is different from the denotation it had before?

Does symbol have a new denotation valid from phase.next that is different from the denotation it had before?

Attributes

def updateInfoBetween(prevPhase: DenotTransformer, lastPhase: DenotTransformer, newInfo: Type)(using Context): Unit

Update symbol's info to newInfo from prevPhase.next to lastPhase. Reset to previous info for phases after lastPhase.

Update symbol's info to newInfo from prevPhase.next to lastPhase. Reset to previous info for phases after lastPhase.

Attributes

extension (tpe: Type)
def mapExprType(using Context): Type

Map ExprType => T to () ?=> T (and analogously for pure versions). Even though this phase runs after ElimByName, ExprTypes can still occur as by-name arguments of applied types. See note in doc comment for ElimByName phase. Test case is bynamefun.scala.

Map ExprType => T to () ?=> T (and analogously for pure versions). Even though this phase runs after ElimByName, ExprTypes can still occur as by-name arguments of applied types. See note in doc comment for ElimByName phase. Test case is bynamefun.scala.

Attributes

extension [T <: Tree](tree: T)

The remembered type of the tree, or if none was installed, the original type

The remembered type of the tree, or if none was installed, the original type

Attributes

def rememberType(tpe: Type)(using Context): Unit

Remember tpe as the type of tree, which might be different from the type stored in the tree itself, unless a type was already remembered for tree.

Remember tpe as the type of tree, which might be different from the type stored in the tree itself, unless a type was already remembered for tree.

Attributes

def rememberTypeAlways(tpe: Type)(using Context): Unit

Remember tpe as the type of tree, which might be different from the type stored in the tree itself

Remember tpe as the type of tree, which might be different from the type stored in the tree itself

Attributes

def withKnownType(using Context): T