@@ -12,6 +12,19 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
12
12
def isScala33 = scalaVersion.isScala33
13
13
def isScala34 = scalaVersion.isScala34
14
14
15
+ test(" capture value class" ) {
16
+ val source =
17
+ """ |package example
18
+ |
19
+ |class A(val x: Int) extends AnyVal:
20
+ | def foo =
21
+ | class B:
22
+ | def bar = x
23
+ |""" .stripMargin
24
+ val decoder = TestingDecoder (source, scalaVersion)
25
+ decoder.assertDecodeField(" example.A$B$1" , " int $this$1" , " A.foo.B.x.<capture>: Int" , generated = true )
26
+ }
27
+
15
28
test(" capture inline method" ) {
16
29
val source =
17
30
""" |package example
@@ -27,7 +40,6 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
27
40
| }
28
41
|""" .stripMargin
29
42
val decoder = TestingDecoder (source, scalaVersion)
30
- decoder.showFields(" example.A$B$1" )
31
43
decoder.assertNotFoundField(" example.A$B$1" , " example.C x$1$1" )
32
44
}
33
45
@@ -39,7 +51,6 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
39
51
| lazy val (a, b) = (1, 2)
40
52
|""" .stripMargin
41
53
val decoder = TestingDecoder (source, scalaVersion)
42
- // decoder.showFields("example.A$$anon$2")
43
54
decoder.assertDecodeField(" example.A" , " java.lang.Object $1$$lzy1" , " A.<anon>: (Int, Int)" )
44
55
}
45
56
@@ -63,7 +74,7 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
63
74
}
64
75
65
76
test(" lazy ref" ) {
66
- val source2 =
77
+ val source =
67
78
""" |package example
68
79
|trait C
69
80
|
@@ -74,26 +85,13 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
74
85
| def ct = c
75
86
|}
76
87
|""" .stripMargin
77
- val source =
78
- """ |package example
79
- |trait C
80
- |
81
- |class A {
82
- | def foo =
83
- | given C: C = new C {}
84
- | class B:
85
- | def cc = summon[C]
86
- |}
87
- |""" .stripMargin
88
- val decoder = TestingDecoder (source2, scalaVersion)
89
- decoder.showFields(" example.A$B$1" )
88
+ val decoder = TestingDecoder (source, scalaVersion)
90
89
decoder.assertDecodeField(
91
90
" example.A$B$1" ,
92
91
" scala.runtime.LazyRef c$lzy1$3" ,
93
92
" A.foo.B.c.<capture>: C" ,
94
93
generated = true
95
94
)
96
-
97
95
}
98
96
99
97
test(" ambiguous indirect captures" ) {
@@ -113,7 +111,6 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
113
111
|
114
112
|""" .stripMargin
115
113
val decoder = TestingDecoder (source, scalaVersion)
116
- // decoder.showFields("example.A$B$1")
117
114
decoder.assertAmbiguousField(" example.A$B$1" , " int x$3" )
118
115
decoder.assertAmbiguousField(" example.A$B$1" , " int x$4" )
119
116
}
@@ -131,7 +128,6 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
131
128
|
132
129
|""" .stripMargin
133
130
val decoder = TestingDecoder (source, scalaVersion)
134
- // decoder.showFields("example.A$B$1")
135
131
decoder.assertDecodeField(" example.A$B$1" , " int x$2" , " A.foo.B.x.<capture>: Int" , generated = true )
136
132
}
137
133
@@ -141,13 +137,12 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
141
137
|
142
138
|trait C
143
139
|
144
- |class A:
145
- | private class B (using C):
146
- | def foo = summon[C]
140
+ |class B (using C):
141
+ | def foo = summon[C]
147
142
|
148
143
|""" .stripMargin
149
144
val decoder = TestingDecoder (source, scalaVersion)
150
- decoder.assertDecodeField(" example.A$ B" , " example.C x$1" , " A. B.x$1: C" )
145
+ decoder.assertDecodeField(" example.B" , " example.C x$1" , " B.x$1: C" )
151
146
152
147
}
153
148
@@ -389,9 +384,6 @@ abstract class BinaryDecoderTests(scalaVersion: ScalaVersion) extends BinaryDeco
389
384
decoder.assertDecodeField(" example.B$Y$Z" , " example.B$Y $outer" , " B.Y.Z.<outer>: Y" , generated = true )
390
385
}
391
386
392
- abstract class Others (scalaVersion : ScalaVersion ) extends BinaryDecoderSuite :
393
- def isScala33 = scalaVersion.isScala33
394
- def isScala34 = scalaVersion.isScala34
395
387
test(" mixin and static forwarders" ) {
396
388
val source =
397
389
""" |package example
0 commit comments