All Downloads are FREE. Search and download functionalities are using the official Maven repository.

scala.tools.nsc.transform.Transform.scala Maven / Gradle / Ivy

The newest version!
/* NSC -- new Scala compiler
 * Copyright 2005-2013 LAMP/EPFL
 * @author Martin Odersky
 */

package scala.tools.nsc
package transform

/** 

* A base class for transforms. *

*

* A transform contains a compiler phase which applies a tree transformer. *

* * @author Martin Odersky * @version 1.0 */ trait Transform extends SubComponent { /** The transformer factory */ protected def newTransformer(unit: global.CompilationUnit): global.Transformer /** Create a new phase which applies transformer */ def newPhase(prev: scala.tools.nsc.Phase): StdPhase = new Phase(prev) /** The phase defined by this transform */ class Phase(prev: scala.tools.nsc.Phase) extends StdPhase(prev) { def apply(unit: global.CompilationUnit) { newTransformer(unit).transformUnit(unit) } } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy