removeUnusedImport check fails when there are pattern matching switch expressions with inner classes
- 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
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