summaryrefslogtreecommitdiff
path: root/test/files/run/reflection-implicit.scala
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-09-16 23:07:54 +0200
committerEugene Burmako <xeno.by@gmail.com>2012-09-16 23:07:54 +0200
commitb41f079b42850a287b0088b74d5aa2bde7b2eb8a (patch)
tree2151039cb40a0024fdd9fc2be08b9d2391222439 /test/files/run/reflection-implicit.scala
parent997829f06cef218db227f90f2e3f781771a92bfe (diff)
downloadscala-b41f079b42850a287b0088b74d5aa2bde7b2eb8a.tar.gz
scala-b41f079b42850a287b0088b74d5aa2bde7b2eb8a.tar.bz2
scala-b41f079b42850a287b0088b74d5aa2bde7b2eb8a.zip
moves isImplicit from TermSymbol to Symbol
Because classes can also be implicit.
Diffstat (limited to 'test/files/run/reflection-implicit.scala')
-rw-r--r--test/files/run/reflection-implicit.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/files/run/reflection-implicit.scala b/test/files/run/reflection-implicit.scala
new file mode 100644
index 0000000000..637ef24e14
--- /dev/null
+++ b/test/files/run/reflection-implicit.scala
@@ -0,0 +1,15 @@
+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.params.last.head
+ param.typeSignature
+ println(param.isImplicit)
+} \ No newline at end of file