redhat-developer / redhat-developer/vscode-java

Not unboxing generic methods from dependencies

Ouverte
#2,787 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

compile
Langage dominant
TypeScript
Étoiles
2.3k
Forks
546
Merge moyen
20 h 1 min
PR mergées (30 j)
11

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Piste de recherche

Reproduisez l’exemple générique de inTransaction() en utilisant l’implémentation de la dépendance référencée dans DbQueryManager.java, puis comparez-le à une méthode générique équivalente définie dans le projet. Commencez par suivre le traitement de Java IntelliSense pour les méthodes génériques chargées depuis des fichiers .class ; c’est terminé lorsque la méthode définie dans la dépendance est unboxed et interprétée comme Boolean, tout comme la version définie dans le code source.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
java, typescript
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
42/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.