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