Skip to content

Commit 3492fed

Browse files
vincenzobazmlachkar
authored andcommitted
Use a more general regexp and enrich tests
1 parent 5fa1bd2 commit 3492fed

File tree

3 files changed

+635
-3
lines changed

3 files changed

+635
-3
lines changed

scalafix-rules/src/main/scala/scalafix/internal/rule/RemoveUnused.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ class RemoveUnused(config: RemoveUnusedConfig)
5353
val isUnusedImport = mutable.Set.empty[Position]
5454
val isUnusedPattern = mutable.Set.empty[Position]
5555

56-
val unusedPatterExpr = raw"^pattern var .* in [a-z]+ <.+> is never used".r
56+
val unusedPatterExpr = raw"^pattern var .* in (value|method) .* is never used".r
5757

5858
doc.diagnostics.foreach { diagnostic =>
5959
if (config.imports && diagnostic.message == "Unused import") {

scalafix-tests/input/src/main/scala-2.13/test/RemoveUnusedPatternVars.scala

Lines changed: 317 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ case class AB(a: Int, b: String)
88
case class XY(x: Int, y: Int)
99
case class YZ(xy: XY, z: String)
1010

11-
object Unusedmatchargs {
11+
object ob {
1212
// Add code that needs fixing here.
1313
val example = AB(42, "lol")
1414

@@ -56,4 +56,320 @@ object Unusedmatchargs {
5656
}
5757
}
5858
}
59+
60+
def a: Unit = {
61+
example match {
62+
case AB(_, _) => println("Not used, good")
63+
}
64+
example match {
65+
case AB(a, b) => println("Not used, wrong")
66+
}
67+
example match {
68+
case AB(_, b) => println("b is not used, wrong")
69+
}
70+
example match {
71+
case AB(a, _) => println("a is not used, wrong")
72+
}
73+
74+
example match {
75+
case AB(a, b) => println(s"$a $b used, good")
76+
}
77+
example match {
78+
case AB(_, b) => println(s"$b is used, good")
79+
}
80+
example match {
81+
case AB(a, _) => println(s"$a is used, good")
82+
}
83+
84+
example match {
85+
case AB(a, _) if a < Int.MaxValue =>
86+
println("Do not delete")
87+
}
88+
89+
example match {
90+
case AB(a, _) =>
91+
val a = 5
92+
println(a)
93+
}
94+
}
95+
96+
val b = {
97+
example match {
98+
case AB(_, _) => println("Not used, good")
99+
}
100+
example match {
101+
case AB(a, b) => println("Not used, wrong")
102+
}
103+
example match {
104+
case AB(_, b) => println("b is not used, wrong")
105+
}
106+
example match {
107+
case AB(a, _) => println("a is not used, wrong")
108+
}
109+
110+
example match {
111+
case AB(a, b) => println(s"$a $b used, good")
112+
}
113+
example match {
114+
case AB(_, b) => println(s"$b is used, good")
115+
}
116+
example match {
117+
case AB(a, _) => println(s"$a is used, good")
118+
}
119+
120+
example match {
121+
case AB(a, _) if a < Int.MaxValue =>
122+
println("Do not delete")
123+
}
124+
125+
example match {
126+
case AB(a, _) =>
127+
val a = 5
128+
println(a)
129+
}
130+
}
59131
}
132+
133+
trait tr {
134+
// Add code that needs fixing here.
135+
val example = AB(42, "lol")
136+
137+
example match {
138+
case AB(_, _) => println("Not used, good")
139+
}
140+
example match {
141+
case AB(a, b) => println("Not used, wrong")
142+
}
143+
example match {
144+
case AB(_, b) => println("b is not used, wrong")
145+
}
146+
example match {
147+
case AB(a, _) => println("a is not used, wrong")
148+
}
149+
150+
example match {
151+
case AB(a, b) => println(s"$a $b used, good")
152+
}
153+
example match {
154+
case AB(_, b) => println(s"$b is used, good")
155+
}
156+
example match {
157+
case AB(a, _) => println(s"$a is used, good")
158+
}
159+
160+
example match {
161+
case AB(a, _) if a < Int.MaxValue =>
162+
println("Do not delete")
163+
}
164+
165+
example match {
166+
case AB(a, _) =>
167+
val a = 5
168+
println(a)
169+
}
170+
171+
val anotherExample = YZ(XY(1, 2), "3")
172+
173+
anotherExample match {
174+
case YZ(el, b) =>
175+
el match {
176+
case XY(b, _) => {
177+
println(b)
178+
}
179+
}
180+
}
181+
182+
def a: Unit = {
183+
example match {
184+
case AB(_, _) => println("Not used, good")
185+
}
186+
example match {
187+
case AB(a, b) => println("Not used, wrong")
188+
}
189+
example match {
190+
case AB(_, b) => println("b is not used, wrong")
191+
}
192+
example match {
193+
case AB(a, _) => println("a is not used, wrong")
194+
}
195+
196+
example match {
197+
case AB(a, b) => println(s"$a $b used, good")
198+
}
199+
example match {
200+
case AB(_, b) => println(s"$b is used, good")
201+
}
202+
example match {
203+
case AB(a, _) => println(s"$a is used, good")
204+
}
205+
206+
example match {
207+
case AB(a, _) if a < Int.MaxValue =>
208+
println("Do not delete")
209+
}
210+
211+
example match {
212+
case AB(a, _) =>
213+
val a = 5
214+
println(a)
215+
}
216+
}
217+
218+
val b = {
219+
example match {
220+
case AB(_, _) => println("Not used, good")
221+
}
222+
example match {
223+
case AB(a, b) => println("Not used, wrong")
224+
}
225+
example match {
226+
case AB(_, b) => println("b is not used, wrong")
227+
}
228+
example match {
229+
case AB(a, _) => println("a is not used, wrong")
230+
}
231+
232+
example match {
233+
case AB(a, b) => println(s"$a $b used, good")
234+
}
235+
example match {
236+
case AB(_, b) => println(s"$b is used, good")
237+
}
238+
example match {
239+
case AB(a, _) => println(s"$a is used, good")
240+
}
241+
242+
example match {
243+
case AB(a, _) if a < Int.MaxValue =>
244+
println("Do not delete")
245+
}
246+
247+
example match {
248+
case AB(a, _) =>
249+
val a = 5
250+
println(a)
251+
}
252+
}
253+
}
254+
255+
class cl {
256+
// Add code that needs fixing here.
257+
val example = AB(42, "lol")
258+
259+
example match {
260+
case AB(_, _) => println("Not used, good")
261+
}
262+
example match {
263+
case AB(a, b) => println("Not used, wrong")
264+
}
265+
example match {
266+
case AB(_, b) => println("b is not used, wrong")
267+
}
268+
example match {
269+
case AB(a, _) => println("a is not used, wrong")
270+
}
271+
272+
example match {
273+
case AB(a, b) => println(s"$a $b used, good")
274+
}
275+
example match {
276+
case AB(_, b) => println(s"$b is used, good")
277+
}
278+
example match {
279+
case AB(a, _) => println(s"$a is used, good")
280+
}
281+
282+
example match {
283+
case AB(a, _) if a < Int.MaxValue =>
284+
println("Do not delete")
285+
}
286+
287+
example match {
288+
case AB(a, _) =>
289+
val a = 5
290+
println(a)
291+
}
292+
293+
val anotherExample = YZ(XY(1, 2), "3")
294+
295+
anotherExample match {
296+
case YZ(el, b) =>
297+
el match {
298+
case XY(b, _) => {
299+
println(b)
300+
}
301+
}
302+
}
303+
304+
def a: Unit = {
305+
example match {
306+
case AB(_, _) => println("Not used, good")
307+
}
308+
example match {
309+
case AB(a, b) => println("Not used, wrong")
310+
}
311+
example match {
312+
case AB(_, b) => println("b is not used, wrong")
313+
}
314+
example match {
315+
case AB(a, _) => println("a is not used, wrong")
316+
}
317+
318+
example match {
319+
case AB(a, b) => println(s"$a $b used, good")
320+
}
321+
example match {
322+
case AB(_, b) => println(s"$b is used, good")
323+
}
324+
example match {
325+
case AB(a, _) => println(s"$a is used, good")
326+
}
327+
328+
example match {
329+
case AB(a, _) if a < Int.MaxValue =>
330+
println("Do not delete")
331+
}
332+
333+
example match {
334+
case AB(a, _) =>
335+
val a = 5
336+
println(a)
337+
}
338+
}
339+
340+
val b = {
341+
example match {
342+
case AB(_, _) => println("Not used, good")
343+
}
344+
example match {
345+
case AB(a, b) => println("Not used, wrong")
346+
}
347+
example match {
348+
case AB(_, b) => println("b is not used, wrong")
349+
}
350+
example match {
351+
case AB(a, _) => println("a is not used, wrong")
352+
}
353+
354+
example match {
355+
case AB(a, b) => println(s"$a $b used, good")
356+
}
357+
example match {
358+
case AB(_, b) => println(s"$b is used, good")
359+
}
360+
example match {
361+
case AB(a, _) => println(s"$a is used, good")
362+
}
363+
364+
example match {
365+
case AB(a, _) if a < Int.MaxValue =>
366+
println("Do not delete")
367+
}
368+
369+
example match {
370+
case AB(a, _) =>
371+
val a = 5
372+
println(a)
373+
}
374+
}
375+
}

0 commit comments

Comments
 (0)