aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scala/async/AsyncAnalysis.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2012-11-24 12:26:32 +0100
committerJason Zaugg <jzaugg@gmail.com>2012-11-24 12:26:32 +0100
commitd301bea1ca478652ae86397ee3655bc6e4332589 (patch)
tree3badcf79e3f930eb02364678e3dbdb5271a29d48 /src/main/scala/scala/async/AsyncAnalysis.scala
parentad75c04daa8521b066c755f2b3cf0b130441adbe (diff)
downloadscala-async-d301bea1ca478652ae86397ee3655bc6e4332589.tar.gz
scala-async-d301bea1ca478652ae86397ee3655bc6e4332589.tar.bz2
scala-async-d301bea1ca478652ae86397ee3655bc6e4332589.zip
Favouring composition over inheritance.
Diffstat (limited to 'src/main/scala/scala/async/AsyncAnalysis.scala')
-rw-r--r--src/main/scala/scala/async/AsyncAnalysis.scala9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/main/scala/scala/async/AsyncAnalysis.scala b/src/main/scala/scala/async/AsyncAnalysis.scala
index fa6ab58..4f5bf8d 100644
--- a/src/main/scala/scala/async/AsyncAnalysis.scala
+++ b/src/main/scala/scala/async/AsyncAnalysis.scala
@@ -7,9 +7,12 @@ package scala.async
import scala.reflect.macros.Context
import collection.mutable
-private[async] final case class AsyncAnalysis[C <: Context](override val c: C) extends TransformUtils(c) {
+private[async] final case class AsyncAnalysis[C <: Context](val c: C) {
import c.universe._
+ val utils = TransformUtils[c.type](c)
+ import utils._
+
/**
* Analyze the contents of an `async` block in order to:
* - Report unsupported `await` calls under nested templates, functions, by-name arguments.
@@ -33,7 +36,7 @@ private[async] final case class AsyncAnalysis[C <: Context](override val c: C) e
analyzer.valDefsToLift.toList
}
- private class UnsupportedAwaitAnalyzer extends super.AsyncTraverser {
+ private class UnsupportedAwaitAnalyzer extends AsyncTraverser {
override def nestedClass(classDef: ClassDef) {
val kind = if (classDef.symbol.asClass.isTrait) "trait" else "class"
if (!reportUnsupportedAwait(classDef, s"nested $kind")) {
@@ -92,7 +95,7 @@ private[async] final case class AsyncAnalysis[C <: Context](override val c: C) e
}
}
- private class AsyncDefinitionUseAnalyzer extends super.AsyncTraverser {
+ private class AsyncDefinitionUseAnalyzer extends AsyncTraverser {
private var chunkId = 0
private def nextChunk() = chunkId += 1