From 0360313494dced3a072685aadc13d2a275bde1a8 Mon Sep 17 00:00:00 2001 From: Den Shabalin Date: Fri, 2 Nov 2012 13:09:03 +0100 Subject: Fixes example in Type.asSeenFrom It was written in some form of non-executable pseudo-code before and that might be quite confusing for people who are not familiar with scala reflection. --- src/reflect/scala/reflect/api/Types.scala | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/reflect/scala/reflect/api/Types.scala b/src/reflect/scala/reflect/api/Types.scala index f3201ae328..143438b8f5 100644 --- a/src/reflect/scala/reflect/api/Types.scala +++ b/src/reflect/scala/reflect/api/Types.scala @@ -171,10 +171,26 @@ trait Types { self: Universe => * * Example: * {{{ - * class D[T] { def m: T } - * class C extends p.D[Int] - * T.asSeenFrom(ThisType(C), D) // (where D is the owner of m) - * = Int + * scala> import scala.reflect.runtime.universe._ + * import scala.reflect.runtime.universe._ + * + * scala> class D[T] { def m: T = ??? } + * defined class D + * + * scala> class C extends D[Int] + * defined class C + * + * scala> val D = typeOf[D[_]].typeSymbol.asClass + * D: reflect.runtime.universe.ClassSymbol = class D + * + * scala> val C = typeOf[C].typeSymbol.asClass + * C: reflect.runtime.universe.ClassSymbol = class C + * + * scala> val T = D.typeParams(0).asType.toType + * T: reflect.runtime.universe.Type = T + * + * scala> T.asSeenFrom(ThisType(C), D) + * res0: reflect.runtime.universe.Type = scala.Int * }}} */ def asSeenFrom(pre: Type, clazz: Symbol): Type -- cgit v1.2.3