blob: e241868c1c181584e8a45aa295e5da566f3fde4b (
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
|
import annotation._
@SerialVersionUID(42) @strictfp class Foo[@specialized(Int) T] extends Serializable {
def foo(t: T) = t
}
object Test extends dotty.runtime.LegacyApp {
def checkUID(cls: Class[_], expected: Long) = {
val actual = java.io.ObjectStreamClass.lookup(cls).getSerialVersionUID
assert(actual == expected, s"$actual != expected for ${cls}")
}
def checkStrictFp(cls: Class[_]) = {
import java.lang.reflect._
for (m <- cls.getDeclaredMethods) {
val isStrict = Modifier.isStrict(m.getModifiers)
assert(isStrict, cls)
}
}
def check(x: AnyRef): Unit = {
checkUID(x.getClass, 42)
checkStrictFp(x.getClass)
}
check(new Foo[String])
check(new Foo[Int])
}
|