class CheckReentrant
extends MiniPhaseTransform

A no-op transform that checks whether the compiled sources are re-entrant. If -Ycheck:reentrant is set, the phase makes sure that there are no variables that are accessible from a global object. It excludes from checking paths that are labeled with one of the annotations

Constructors

CheckReentrant ( )

Members

private var indent : Int
private var seen : Set [ ClassSymbol ]
private val sharableAnnot : CtxLazy [ ClassSymbol ]
private var shared : Set [ Symbol ]
private val unsharedAnnot : CtxLazy [ ClassSymbol ]
def addVars ( cls: ClassSymbol ) ( implicit ctx: Context ) : Unit
private def indent_= ( x$1: Int ) : Unit
def isIgnored ( sym: Symbol ) ( implicit ctx: Context ) : Boolean
[+] override def phaseName : String

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

A name given to the Phase that can be used to debug the compiler. For instance, it is possible to print trees after a given phase using:

$ ./bin/dotc -Xprint:<phaseNameHere> sourceFile.scala
def scanning ( sym: Symbol ) ( op: => Unit ) ( implicit ctx: Context ) : Unit
private def seen_= ( x$1: Set [ ClassSymbol ] ) : Unit
private def shared_= ( x$1: Set [ Symbol ] ) : Unit
override def transformTemplate ( tree: Template ) ( implicit ctx: Context , info: TransformerInfo ) : Tree