class InterceptedMethods
extends MiniPhaseTransform

Replace member references as follows:

  • x != y for != in class Any becomes !(x == y) with == in class Any.
  • x.## for ## in NullClass becomes 0
  • x.## for ## in Any becomes calls to ScalaRunTime.hash, using the most precise overload available
  • x.getClass for getClass in primitives becomes x.getClass with getClass in class Object.

Constructors

InterceptedMethods ( )

Members

[+] var Any_## : Symbol
[+] private var primitiveGetClassMethods : Set [ Symbol ]
[+] def Any_##_= ( x$1: Symbol ) : Unit
[+] 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
[+] private def poundPoundValue ( tree: Tree ) ( implicit ctx: Context ) : Tree
[+] override def prepareForUnit ( tree: Tree ) ( implicit ctx: Context ) : TreeTransform

perform context-dependant initialization

perform context-dependant initialization

[+] private def primitiveGetClassMethods_= ( x$1: Set [ Symbol ] ) : Unit
[+] override def transformApply ( tree: Apply ) ( implicit ctx: Context , info: TransformerInfo ) : Tree
[+] override def transformSelect ( tree: Select ) ( implicit ctx: Context , info: TransformerInfo ) : Tree