aboutsummaryrefslogtreecommitdiff
path: root/tests/run/classof.scala
blob: 734838b302e1c91a7cd21b11bdd0ec47e7e3ed2b (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
class ValueClass(val i: Integer) extends AnyVal
class SomeClass

object Test {
  def main(args: Array[String]): Unit = {
    val cls: Predef.Class[SomeClass] = classOf[SomeClass]
    val valCls: Predef.Class[ValueClass] = classOf[ValueClass]
    val iCls: Class[Int] = classOf[Int]

    println("Value types:")
    println(classOf[Unit])
    println(classOf[Boolean])
    println(classOf[Byte])
    println(classOf[Short])
    println(classOf[Char])
    println(classOf[Int])
    println(classOf[Long])
    println(classOf[Float])
    println(classOf[Double])

    println("\nClass types:")
    println(classOf[SomeClass])
    println(classOf[ValueClass])
    println(classOf[List[Array[Float]]])
    println(classOf[(String, Map[Int, String])])

    println("\nArrays:")
    println(classOf[Array[Unit]])
    println(classOf[Array[Int]])
    println(classOf[Array[Double]])
    println(classOf[Array[List[String]]])

    println("\nFunctions:")
    println(classOf[(Int, Int) => Unit])
    println(classOf[Int => Boolean])
  }
}