5
@elidable(FINEST) def f1()
6
@elidable(SEVERE) def f2()
7
@elidable(FINEST) def f3() = assert(false, "Should have been elided.")
12
def f1() = println("Good for me, I was not elided. C.f1")
13
def f2() = println("Good for me, I was not elided. C.f2")
14
@elidable(FINEST) def f4() = assert(false, "Should have been elided.")
18
@elidable(FINEST) def f1() = assert(false, "Should have been elided.")
19
@elidable(INFO) def f2() = assert(false, "Should have been elided.")
20
@elidable(SEVERE) def f3() = println("Good for me, I was not elided. O.f3")
21
@elidable(INFO) def f4 = assert(false, "Should have been elided (no parens).")
5
25
@elidable(FINEST) def f1() = assert(false, "Should have been elided.")
6
26
@elidable(INFO) def f2() = assert(false, "Should have been elided.")
7
@elidable(SEVERE) def f3() = println("Good for me, I was not elided.")
27
@elidable(SEVERE) def f3() = println("Good for me, I was not elided. Test.f3")
8
28
@elidable(INFO) def f4 = assert(false, "Should have been elided (no parens).")
30
@elidable(FINEST) def f5() = {}
31
@elidable(FINEST) def f6() = true
32
@elidable(FINEST) def f7() = 1:Byte
33
@elidable(FINEST) def f8() = 1:Short
34
@elidable(FINEST) def f9() = 1:Char
35
@elidable(FINEST) def fa() = 1
36
@elidable(FINEST) def fb() = 1l
37
@elidable(FINEST) def fc() = 1.0f
38
@elidable(FINEST) def fd() = 1.0
39
@elidable(FINEST) def fe() = "s"
10
41
def main(args: Array[String]): Unit = {
57
// make sure a return value is still available when eliding a call
69
// this one won't show up in the output because a call to f1 is elidable when accessed through T
72
// Test whether the method definitions are still available.
73
List("Test", "Test$", "O", "O$", "C", "T") foreach { className =>
74
List("f1", "f2", "f3", "f4") foreach { methodName =>
75
Class.forName(className).getMethod(methodName)
78
List("Test", "Test$") foreach { className =>
79
List("f5", "f6", "f7", "f8", "f9", "fa", "fb", "fc", "fd", "fe") foreach { methodName =>
80
Class.forName(className).getMethod(methodName)
83
Class.forName("T$class").getMethod("f3", classOf[T])