blob: d2ef4ad3cdc40737a12e3e3c31aa97ce7085bf20 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
Type in expressions to have them evaluated.
Type :help for more information.
scala>
scala> import scala.reflect.runtime.universe._
import scala.reflect.runtime.universe._
scala> class A {
def foo1(x: Int*) = ???
def foo2(x: => Int) = ???
def foo3(x: Any) = ???
def foo4(x: AnyRef) = ???
def foo5(x: AnyVal) = ???
def foo6(x: Null) = ???
def foo7(x: Nothing) = ???
def foo8(x: Singleton) = ???
}
defined class A
scala> def test(n: Int): Unit = {
val sig = typeOf[A] member newTermName("foo" + n) typeSignature
val x = sig.asInstanceOf[MethodType].params.head
println(x.typeSignature)
}
warning: there were 1 feature warnings; re-run with -feature for details
test: (n: Int)Unit
scala> for (i <- 1 to 8) test(i)
scala.Int*
=> scala.Int
scala.Any
scala.AnyRef
scala.AnyVal
scala.Null
scala.Nothing
scala.Singleton
scala>
|