summaryrefslogblamecommitdiff
path: root/test/files/run/reflection-equality.check
blob: 09a08586309ec10d83be1635ba85026e4bf34cf2 (plain) (tree)
1
 


















                                                           
                             
                                   
              



                                                           
                                                                           

                                                                  
                                        
















                                             
            
scala> class X {
   def methodIntIntInt(x: Int, y: Int) = x+y
}
defined class X

scala> 

scala> import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._

scala> import scala.reflect.runtime.{ currentMirror => cm }
import scala.reflect.runtime.{currentMirror=>cm}

scala> def im: InstanceMirror = cm.reflect(new X)
im: reflect.runtime.universe.InstanceMirror

scala> val cs: ClassSymbol = im.symbol
cs: reflect.runtime.universe.ClassSymbol = class X

scala> val ts: Type = cs.info
ts: reflect.runtime.universe.Type =
scala.AnyRef {
  def <init>(): X
  def methodIntIntInt(x: scala.Int,y: scala.Int): scala.Int
}

scala> val ms: MethodSymbol = ts.decl(TermName("methodIntIntInt")).asMethod
ms: reflect.runtime.universe.MethodSymbol = method methodIntIntInt

scala> val MethodType( _, t1 ) = ms.info
t1: reflect.runtime.universe.Type = scala.Int

scala> val t2 = typeOf[scala.Int]
t2: reflect.runtime.universe.Type = Int

scala> t1 == t2
res0: Boolean = false

scala> t1 =:= t2
res1: Boolean = true

scala> t1 <:< t2
res2: Boolean = true

scala> t2 <:< t1
res3: Boolean = true

scala> :quit