removeUnusedImport check fails when there are pattern matching switch expressions with inner classes
- Lenguaje dominante
- Java
- Estrellas
- 5.7k
- Forks
- 561
- Merge medio
- 1 d 14 h
- PR fusionados (30 d)
- 43
Descripción
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)
Guía de contribución
Línea de trabajo
Comienza reproduciendo el fallo de la expresión switch en src/main/java/daomephsta/unpick/impl/constantmappers/datadriven/ExpressionEvaluator.java, centrándote en la comprobación removeUnusedImport y en el error indicado en la línea 142. Sigue cómo se analiza este switch con pattern matching y verifica que la comprobación se completa sin el error «se esperaba '.class'».
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- tooling
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100