redhat-developer / redhat-developer/vscode-java

Generified method call shows "cannot convert from Object to boolean" error

Ouverte
#4,211 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

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

Description

Extracted this issue from https://github.com/redhat-developer/vscode-java/issues/3830#issuecomment-2519729457, from @sworthiness

Error:

Type mismatch: cannot convert from Object to boolean Java(16777233)

Environment:

(VS Codium - SSH remote development)

  • Version: 1.95.3
  • Release: 24321
  • Commit: dc5a551c256719475d2d0959270e3836c9bbb632
  • Date: 2024-11-16T09:16:49.983Z
  • Electron: 32.2.5
  • ElectronBuildId: undefined
  • Chromium: 128.0.6613.186
  • Node.js: 20.18.0
  • V8: 12.8.374.38-electron.0
  • OS: Windows_NT x64 10.0.19045
  • JDK: 17
Steps to reproduce
public class Test {
  public <T> T someMethod() {
    return (T) Boolean.TRUE;
  }

  public void someOtherMethod() {
    if (this.someMethod()) { // Type mismatch: cannot convert from Object to boolean Java(16777233)
    }
  }
}
Current Result

The following compilation error is shown in vs-codium:
Type mismatch: cannot convert from Object to boolean Java(16777233)
The error is not seen if the result of this.someMethod() is stored in a Boolean var first

Expected Result

No compilation error should be seen here

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’extrait Java dans VS Codium avec JDK 17 et examinez le diagnostic produit pour l’appel de méthode générique. C’est terminé lorsque l’utilisation directe de someMethod() dans la condition if ne signale plus d’erreur de conversion, tandis que la reproduction présentée reste couverte par une vérification de régression.

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

Évaluation

Stack technique
java
Domaine
devtools
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Clairement spécifiée
Accessibilité débutants
45/100

Recevez les nouvelles issues par e-mail

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