summaryrefslogtreecommitdiff
path: root/test/files/jvm/patmat_opt_no_nullcheck/Analyzed_1.scala
blob: 1e4d564cdf1e0ac9fb42cdcec74cbd944bb9551b (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
// this class's bytecode, compiled under -optimize is analyzed by the test
// method a's bytecode should be identical to method b's bytecode
case class Foo(x: Any)

class SameBytecode {
  def a =
    (Foo(1): Any) match {
      case Foo(_: String) =>
    }

  // there's no null check
  def b: Unit = {
    val x1: Any = Foo(1)
    if (x1.isInstanceOf[Foo]) {
      val x3 = x1.asInstanceOf[Foo]
      if (x3.x.isInstanceOf[String]) {
        val x = ()
        return
      }
    }

    throw new MatchError(x1)
  }
}