@@ -3,53 +3,50 @@ import scala.language.unsafeJavaReturn
3
3
import scala .annotation .CanEqualNull
4
4
import java .{util => ju }
5
5
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