redhat-developer / redhat-developer/vscode-java
instanceof pattern inside lambda causes issues.
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2.3k
- Forks
- 546
- Merge medio
- 20 h 1 min
- PR fusionados (30 d)
- 11
Descripción
Using instanceof pattern inside of lambdas breaks multiple features. Examples:
- hovering over elements stops showing the signature
- Renaming from inside the method with the pattern pops an internal error (https://pastebin.com/iTZDjVq0)
- Attempting to Go To Definition of a field or method doesn't work inside the method with the pattern
- Sometime intellisense stops suggesting things
Environment
- Operating System: Windows 10 PRO 1909
- JDK version: Graalvm Java 16 21.1.0
- Visual Studio Code version: 1.59.1(2021-08-19)
- Java extension version: v0.81.0
[Please attach a sample project reproducing the error]
public class Test {
public static final void bug() {
Optional.empty().ifPresent(o-> {
if(o instanceof byte[] array) {
Object local = null;
}
});
}
}
https://pastebin.com/iTZDjVq0
https://pastebin.com/bc7rGyfE
Additional Informations
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Empieza abriendo el ejemplo de Java proporcionado en VS Code con la Java extension indicada y reproduciendo los fallos de hovering, rename, Go To Definition e IntelliSense. Habilita los Java extension logs mediante la guía de troubleshooting enlazada y compara el comportamiento con los dos pastebins enlazados. Se considera terminado cuando estas funciones del lenguaje funcionan dentro del patrón instanceof utilizado en el lambda.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java, typescript
- Área
- developer-experience, devtools
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 52/100