|
Scala example source code file (TemplateTraverseComponent.scala)
The Scala TemplateTraverseComponent.scala source codepackage plugintemplate import scala.tools.nsc._ import scala.tools.nsc.plugins.PluginComponent /** This class implements a plugin component using a tree * traverser */ class TemplateTraverseComponent (val global: Global) extends PluginComponent { import global._ import global.definitions._ val runsAfter = List[String]("refchecks") /** The phase name of the compiler plugin * @todo Adapt to specific plugin. */ val phaseName = "plugintemplatetraverse" def newPhase(prev: Phase): Phase = new TraverserPhase(prev) class TraverserPhase(prev: Phase) extends StdPhase(prev) { def apply(unit: CompilationUnit) { newTraverser().traverse(unit.body) } } def newTraverser(): Traverser = new ForeachTreeTraverser(check) def check(tree: Tree): Unit = tree match { case Apply(fun, args) => println("traversing application of "+ fun) case _ => () } } Other Scala examples (source code examples)Here is a short list of links related to this Scala TemplateTraverseComponent.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.