summaryrefslogtreecommitdiff
path: root/test/pending/run/deprecated.scala
blob: 122e339d2f35fbd4e6358188330c42e901d4fec2 (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
object Test {
  abstract class AbstractStuff {
    def dostuff: Unit
  }

  [postabstract]
  class BlueStuff extends AbstractStuff {
    [deprecated] def dostuff = Console.println("blue")
    def five = "five"
  }

  class LightBlueStuff extends BlueStuff {
    [deprecated] override def dostuff = {Console.println("light blue")}

    // warning: deprecated method overrides a concrete method
    [deprecated] override def five = "light five"
  }

  // warning: not marked as postabstract
  class RedStuff extends AbstractStuff {
    [deprecated] def dostuff = Console.println("red")
  }


  def main(args: Array[String]) {
    //  warning: BlueStuff will be abstract after deprecated methods are removed
    val blue = new BlueStuff

    //  warning: RedStuff will be abstract after deprecated methods are removed
    val red = new RedStuff

    //  warning: dostuff is deprecated
    blue.dostuff
  }
}