redhat-developer / redhat-developer/vscode-java

Not unboxing generic methods from dependencies

Abierto
#2,787 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

compile
Lenguaje dominante
TypeScript
Estrellas
2.3k
Forks
546
Merge medio
20 h 1 min
PR fusionados (30 d)
11

Descripción

I believe the Intellisense is not properly unboxing generic methods when the is defined in a dependency (.class file).

Environment
  • Operating System: MacOS
  • JDK version: Oracle version 19
  • Visual Studio Code version: 1.73.0
  • Java extension version: v0.25.2022110400
More Information

I am not a very experienced Java developer and I've inherited a fairly large project so please forgive me if I'm not totally wrong or not making sense here.

In my case, using the inTransaction() function defined here

if(inTransaction(new DbTransactionUser<Boolean, Object>() {
    public Boolean useTransaction() {
         return true;
   }
}) {

}

the above code cannot unbox the generic inTransaction and interpret it as a Boolean although if I define a similar generic function within my project, it seems to unbox correctly. This leads me to assume that it can unbox when reading from .java but cannot unbox when reading from .class files.

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Línea de trabajo

Reproduce el ejemplo genérico de inTransaction() utilizando la implementación de la dependencia enlazada en DbQueryManager.java y compáralo con un método genérico equivalente definido en el proyecto. Empieza rastreando el manejo de Java IntelliSense para métodos genéricos cargados desde archivos .class; se considerará terminado cuando el método definido en la dependencia se descomprima y se interprete como Boolean, igual que la versión definida en el código fuente.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java, typescript
Área
devtools
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
42/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.