diffplug / diffplug/spotless

removeUnusedImport check fails when there are pattern matching switch expressions with inner classes

Offen
#2,492 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Java
Sterne
5.6k
Forks
559
Ø Merge
1 T. 14 Std.
Gemergte PRs (30 T.)
43

Beschreibung

I have the following switch expression
```java
result = switch (literal) {
case Literal.Integer(int value, int ignored) -> value;
case Literal.Long(long value, int ignored) -> value;
case Literal.Float(float value) -> value;
case Literal.Double(double value) -> value;
case Literal.Character(char value) -> value;
case Literal.String(String value) -> value;
};
```

and it causes the `removeUnusedImport` rule to fail with the following message:
```
src/main/java/daomephsta/unpick/impl/constantmappers/datadriven/ExpressionEvaluator.java:L142 removeUnusedImports(removeUnusedImports) error: '.class' expected
```

[full code](https://github.com/FabricMC/unpick/blob/5523cc9d5dceecf929df4db9888eead201ddb8ce/src/main/java/daomephsta/unpick/impl/constantmappers/datadriven/ExpressionEvaluator.java#L141)

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, den Fehler aus dem switch-Ausdruck in src/main/java/daomephsta/unpick/impl/constantmappers/datadriven/ExpressionEvaluator.java zu reproduzieren, wobei du dich auf die Prüfung removeUnusedImport und den gemeldeten Fehler in Zeile 142 konzentrierst. Verfolge, wie dieser Pattern-Matching-switch geparst wird, und überprüfe, dass die Prüfung ohne den Fehler „.class erwartet“ abgeschlossen wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
tooling
Issue-Typ
Bug
Schwierigkeit
3/5
Geschätzter Aufwand
1-2 Tage
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.