summaryrefslogtreecommitdiff
path: root/test/files/jvm/javaReflection/Classes_1.scala
blob: 11963e2770ea572f5f9814848249f7fc147d79d1 (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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
// See Test.scala for comments

trait T { def f = 1 }

class A {
  // member class
  class B
  // member trait
  trait C
  // member object
  object D {
    class B
    trait C
    object D
    new T { }
    (() => -1)
    def f = { class KB }
  }

  // anonymous class, not a member
  new T { }

  // anonymous function, not a member
  (() => 1)

  def f = {
    class E
    trait F
    object G
    new T { }
    (() => 2)

    if (new Object().hashCode == 1) {
      class H
      trait I
      object J
      new T { }
      (() => 3)
    } else {
      ()
    }
  }

  {
    class K
    trait L
    object M
    new T { }
    (() => 4)
  }

  val x = {
    class N
    trait O
    object P
    new T { }
    (() => 5)
  }

  def this(x: Int) {
    this()
    class Q
    trait R
    object S
    new T { }
    (() => () => 5)
  }
}

object AO {
  class B
  trait C
  object D
  new T { }
  (() => 1)
}

trait AT {
  class B
  trait C
  object D
  new T { }
  (() => 1)
}