blob: 6a5850aeb09d23b9b9c178a90148eb2b223f1ece (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
class Type
class Symbol
case class PolyType(tps: List[Symbol], res: Type) extends Type
class OtherType extends Type
// case class NullaryMethodType(tp: Type) extends Type
object NullaryMethodType {
def apply(resTpe: Type): Type = PolyType(List(), resTpe)
def unapply(tp: Type): Option[(Type)] = None
}
object Test {
def TEST(tp: Type): String =
tp match {
case PolyType(ps1, PolyType(ps2, res @ PolyType(a, b))) => "1"+tp // couldn't find a simpler version that still crashes
case NullaryMethodType(meh) => "2"+meh
}
}
|