|
Scala example source code file (ThePlugin.scala)
The Scala ThePlugin.scala source codepackage scala.test.plugins import scala.tools.nsc import nsc.Global import nsc.Phase import nsc.plugins.Plugin import nsc.plugins.PluginComponent class ThePlugin(val global: Global) extends Plugin { import global._ val name = "cyclicdependency" val description = "Declares two phases that have a cyclic dependency" val components = List[PluginComponent](thePhase1,thePhase2) private object thePhase1 extends PluginComponent { val global = ThePlugin.this.global val runsAfter = List[String]("tailcalls","cyclicdependency2") val phaseName = ThePlugin.this.name + "1" def newPhase(prev: Phase) = new ThePhase(prev) } private object thePhase2 extends PluginComponent { val global = ThePlugin.this.global val runsAfter = List[String]("dce","cyclicdependency1") val phaseName = ThePlugin.this.name + "2" def newPhase(prev: Phase) = new ThePhase(prev) } private class ThePhase(prev: Phase) extends Phase(prev) { def name = ThePlugin.this.name def run {} } } Other Scala examples (source code examples)Here is a short list of links related to this Scala ThePlugin.scala source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2024 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.