blob: f2b3ba960ca8727489ffed8643aace23dd022c4c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
import scala.language.implicitConversions
import scala.reflect.runtime.universe._
class C {
implicit val v = new C
implicit def d(x: C)(implicit c: C): Int = ???
implicit class X(val x: Int)
}
object Test extends App {
val decls = typeOf[C].typeSymbol.typeSignature.declarations.sorted.toList.filter(sym => !sym.isTerm || (sym.isMethod && !sym.asMethod.isConstructor))
println(decls map (_.isImplicit))
val param = decls.find(_.name.toString == "d").get.asMethod.paramss.last.head
param.typeSignature
println(param.isImplicit)
}
|