shortenFullyQualifiedTypes does not shorten all the fully qualified types
- Lingua principale
- Java
- Stelle
- 5.6k
- Fork
- 559
- Merge medio
- 1g 13h
- PR unite (30g)
- 34
Descrizione
## Summary
`shortenFullyQualifiedTypes` shortens a fully-qualified reference into the simple name of a type declared in the same compilation unit. The result does not compile.
## Reproducer
`spotless-gradle-plugin` 8.10.1, with `shortenFullyQualifiedTypes` as one of the steps:
### Test example 1:
```java
import java.lang.management.BufferPoolMXBean;
import java.util.List;
public class ClassA
{
public void methodA()
{
final List pools = java.lang.management.ManagementFactory.getPlatformMXBeans(BufferPoolMXBean.class);
}
}
```
#### Actual behavior of example 1:
Type `java.lang.management.ManagementFactory` used in code is not shortened.
### Test example 2:
```java
public class classB {
final List connectionProps = List.of(new CustomTypeProperty().name("host")
.type(pkg.models.CustomTypeProperty.TypeEnum.STRING));
}
```
#### Actual behavior of example 2:
Type `pkg.models.CustomTypeProperty` used in code is not shortened.
## Expected behavior
All FQT should be shortened.
FYI @maxandersen
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Start with the `shortenFullyQualifiedTypes` step in the spotless-gradle-plugin and reproduce the two Java examples from the issue using version 8.10.1. Trace why fully qualified references such as `ManagementFactory` and `pkg.models.CustomTypeProperty.TypeEnum` remain unchanged, then verify that all fully qualified types are shortened and the resulting code compiles.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- build-system, tooling
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 68/100