blob: b18dc2f17157fb933e790aa5c42b3034cba10c39 (
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
|
package org.perl8
package object test {
import language.implicitConversions
implicit def intToPlan (p: Int): Plan =
NumericPlan(p)
sealed trait Plan {
val plan: Int
val skipAll: Boolean
val message: Option[String]
}
case class NumericPlan (plan: Int) extends Plan {
val skipAll = false
val message = None
}
case object NoPlan extends Plan {
val plan = 0
val skipAll = false
val message = None
}
case class SkipAll (msg: String) extends Plan {
val plan = 0
val skipAll = true
val message = Some(msg)
}
case object SkipAllNoMessage extends Plan {
val plan = 0
val skipAll = true
val message = None
}
object SkipAll {
def apply () = SkipAllNoMessage
}
case class BailOutException (
message: String
) extends RuntimeException(message)
}
|