@@ -3,53 +3,50 @@ import scala.language.unsafeJavaReturn
33import scala .annotation .CanEqualNull
44import java .{util => ju }
55
6- class S {
7-
8- def test [T <: AnyRef ](jc : JC ) = {
9- val a : Int = jc.a
10-
11- val b = jc.b // it returns String @CanEqualNull
12- val b2 : String = b
13- val b3 : String @ CanEqualNull = jc.b
14- val b4 : String = jc.b
15- val bb = jc.b == null // it's ok to compare String @CanEqualNull with Null
16- val btl = jc.b.trim().length() // String @CanEqualNull is just String, unsafe selecting
17-
18- val c = jc.c
19- val cl = c.length
20- val c2 : Array [String ] = c
21- val c3 : Array [String @ CanEqualNull ] @ CanEqualNull = jc.c
22- val c4 : Array [String ] = jc.c
23- val cml : Array [Int ] = c.map(_.length())
24-
25- val f1 : Int = jc.f1()
26-
27- val f21 : Array [Int ] @ CanEqualNull = jc.f2()
28- val f22 : Array [Int ] = jc.f2()
29- val f2n = jc.f2() == null
30-
31- val g11 : String @ CanEqualNull = jc.g1()
32- val g12 : String = jc.g1()
33- val g1n = jc.g1() == null
34- val g1tl = jc.g1().trim().length()
35-
36- val g21 : ju.List [String ] @ CanEqualNull = jc.g2()
37- val g22 : ju.List [String ] = jc.g2()
38-
39- val g31 : Array [String @ CanEqualNull ] @ CanEqualNull = jc.g3()
40- val g32 : Array [String ] = jc.g3()
41- val g3n = jc.g3() == null
42- val g3m : Array [Boolean ] = jc.g3().map(_ == null )
43-
44- val h11 : T @ CanEqualNull = jc.h1[T ]()
45- val h12 : T = jc.h1[T ]()
46- val h1n = jc.h1[T ]() == null
47-
48- val h21 : ju.List [T ] @ CanEqualNull = jc.h2[T ]()
49- val h22 : ju.List [T ] = jc.h2[T ]()
50-
51- val h31 : Array [T @ CanEqualNull ] @ CanEqualNull = jc.h3[T ]()
52- val h32 : Array [T ] = jc.h3[T ]()
53- val h3m = jc.h3[T ]().map(_ == null )
54- }
55- }
6+ def test [T <: AnyRef ](j : J ) = {
7+ val a : Int = j.a
8+
9+ val b = j.b // it returns String @CanEqualNull
10+ val b2 : String = b
11+ val b3 : String @ CanEqualNull = j.b
12+ val b4 : String = j.b
13+ val bb = j.b == null // it's ok to compare String @CanEqualNull with Null
14+ val btl = j.b.trim().length() // String @CanEqualNull is just String, unsafe selecting
15+
16+ val c = j.c
17+ val cl = c.length
18+ val c2 : Array [String ] = c
19+ val c3 : Array [String @ CanEqualNull ] @ CanEqualNull = j.c
20+ val c4 : Array [String ] = j.c
21+ val cml : Array [Int ] = c.map(_.length())
22+
23+ val f1 : Int = j.f1()
24+
25+ val f21 : Array [Int ] @ CanEqualNull = j.f2()
26+ val f22 : Array [Int ] = j.f2()
27+ val f2n = j.f2() == null
28+
29+ val g11 : String @ CanEqualNull = j.g1()
30+ val g12 : String = j.g1()
31+ val g1n = j.g1() == null
32+ val g1tl = j.g1().trim().length()
33+
34+ val g21 : ju.List [String ] @ CanEqualNull = j.g2()
35+ val g22 : ju.List [String ] = j.g2()
36+
37+ val g31 : Array [String @ CanEqualNull ] @ CanEqualNull = j.g3()
38+ val g32 : Array [String ] = j.g3()
39+ val g3n = j.g3() == null
40+ val g3m : Array [Boolean ] = j.g3().map(_ == null )
41+
42+ val h11 : T @ CanEqualNull = j.h1[T ]()
43+ val h12 : T = j.h1[T ]()
44+ val h1n = j.h1[T ]() == null
45+
46+ val h21 : ju.List [T ] @ CanEqualNull = j.h2[T ]()
47+ val h22 : ju.List [T ] = j.h2[T ]()
48+
49+ val h31 : Array [T @ CanEqualNull ] @ CanEqualNull = j.h3[T ]()
50+ val h32 : Array [T ] = j.h3[T ]()
51+ val h3m = j.h3[T ]().map(_ == null )
52+ }
0 commit comments