File: reflection-idtc.scala

package info (click to toggle)
scala 2.11.12-5
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 62,828 kB
  • sloc: javascript: 28,808; java: 13,415; xml: 3,250; sh: 1,620; python: 756; makefile: 38; awk: 36; ansic: 6
file content (16 lines) | stat: -rw-r--r-- 508 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import scala.reflect.runtime.universe._
import scala.reflect.runtime.{currentMirror => cm}
import scala.tools.reflect.ToolBox

object Test extends App {
  val tb = cm.mkToolBox()
  val idsym = tb.typecheck(q"type Id[X] = X").symbol.asType
  val idTC1 = idsym.info
  println(idTC1)
  println(appliedType(idTC1, List(typeOf[Int])))
  println("===")
  val idTC2 = idsym.toType.etaExpand
  println(idTC2)
  println(appliedType(idTC2, List(typeOf[Int])))
  println(appliedType(idTC2, List(typeOf[Int])).dealias)
}