diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 12:26:32 +0100 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2012-11-24 12:26:32 +0100 |
commit | d301bea1ca478652ae86397ee3655bc6e4332589 (patch) | |
tree | 3badcf79e3f930eb02364678e3dbdb5271a29d48 /src/main/scala/scala/async/AsyncAnalysis.scala | |
parent | ad75c04daa8521b066c755f2b3cf0b130441adbe (diff) | |
download | scala-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.scala | 9 |
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 |