blob: 764d0771ec6be9e450e3629bf8252f2eb8b639f1 (
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
|
class Foo(val x: Bar) {
def isEmpty = false
def get = x
}
object Foo {
def unapply(x: Foo) = x
}
class Bar(val x: Option[Int], val y: Option[Int]) {
def isEmpty = false
def get = this
def _1 = x
def _2 = y
}
object Bar {
def unapply(x: Bar) = x
}
object Test {
def nameBased: Unit = {
val x: AnyRef = new Foo(new Bar(Some(1), Some(2)))
x match {
case Foo(Bar(x1, x2)) => println(x1)
}
}
def main(args: Array[String]): Unit = {
nameBased
}
}
|