aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorChristopher Vogt <oss.nsp@cvogt.org>2017-03-02 02:27:34 +0000
committerChristopher Vogt <oss.nsp@cvogt.org>2017-03-02 02:27:34 +0000
commit5b6f9f6e69fa15e1a731ec689e00ffdd9d139a9d (patch)
tree579fef264055ced3f59e2b806af3bffa4ee416d6 /plugins
parent092d7652d30a5c6648ef0e17d3cdf4027d6180eb (diff)
downloadcbt-5b6f9f6e69fa15e1a731ec689e00ffdd9d139a9d.tar.gz
cbt-5b6f9f6e69fa15e1a731ec689e00ffdd9d139a9d.tar.bz2
cbt-5b6f9f6e69fa15e1a731ec689e00ffdd9d139a9d.zip
TypeTag instead of ClassTag for DynamicOverride as preparation for supporting multiple traits
Diffstat (limited to 'plugins')
-rw-r--r--plugins/essentials/DynamicOverrides.scala10
1 files changed, 6 insertions, 4 deletions
diff --git a/plugins/essentials/DynamicOverrides.scala b/plugins/essentials/DynamicOverrides.scala
index 274cdd1..8d67be7 100644
--- a/plugins/essentials/DynamicOverrides.scala
+++ b/plugins/essentials/DynamicOverrides.scala
@@ -13,10 +13,12 @@ trait DynamicOverrides extends BaseBuild{
protected [cbt] def overrides: String = ""
// TODO: add support for Build inner classes
- def newBuild[T <: DynamicOverrides:scala.reflect.ClassTag]: T = newBuild[T](context)("")
- def newBuild[T <: DynamicOverrides:scala.reflect.ClassTag](body: String): T = newBuild[T](context)(body)
- def newBuild[T <: DynamicOverrides:scala.reflect.ClassTag](context: Context)(body: String): T = {
- val mixinClass = scala.reflect.classTag[T].runtimeClass
+ import scala.reflect.runtime.universe._
+ def newBuild[T <: DynamicOverrides:TypeTag]: T = newBuild[T](context)("")
+ def newBuild[T <: DynamicOverrides:TypeTag](body: String): T = newBuild[T](context)(body)
+ def newBuild[T <: DynamicOverrides:TypeTag](context: Context)(body: String): T = {
+ val tag = typeTag[T]
+ val mixinClass = tag.mirror.runtimeClass(tag.tpe)
assert(mixinClass.getTypeParameters.size == 0)
val mixin = if(
mixinClass == classOf[Nothing]