redhat-developer / redhat-developer/vscode-java

Visual Studio Code's Java Compiler Not Showing Certain Errors

Ouverte
#1,185 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

Description of the Issue

When running Java code I have noticed that certain compile time errors will not be displayed.

Environment
  • Operating System: Windows x64 10
  • JDK version: 11.0.4.11
  • Visual Studio Code version: 1.41.1
  • Java extension version: 0.8.1
  • Java Debugger extension version: 0.23.0
Steps To Reproduce
  1. Declare the HashMap like,
    HashMap<dataTypeA, dataTypeB> name = new HashMap<dataTypeC, dataTypeD>();
    Where dataType A - D could be any data type I want it to be.

  2. The bug only occurs when dataTypeC is different from dataTypeA and or dataTypeD is different from dataTypeB.

Current Result

The compiler displays,
`Exception in thread "main" java.lang.Error: Unresolved compilation problem:

    at Test.main(Test.java:10)`
Expected Result

The compiler should display,
Unresolved compilation problems: Type mismatch: cannot convert from HashMap<dataTypeA,dataTypeB> to HashMap<dataTypeC,dataTypeD> The method put(dataTypeA,dataTypeB) in the type HashMap<dataTypeC,dataTypeD> is not applicable for the arguments (dataTypeA,dataTypeB)

Additional Informations

If I want to see the error message then I have to read the class file in order to determine what the error is and what line it is on. The bug will only occur if the data structure is declared as a class member. I have been able to reproduce this bug with other data structures such as ArrayList, 1D list, and 2D list.

VSCodeBugReport

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

Commencez par reproduire l’incompatibilité de types génériques de HashMap dans Visual Studio Code avec une déclaration de membre de classe, en utilisant les versions de Java et de l’extension indiquées. Comparez la sortie du compilateur affichée avec les diagnostics attendus d’incompatibilité de types et d’arguments de méthode ; la tâche est terminée lorsque ces erreurs et leurs emplacements dans le code source sont affichés, y compris pour les autres cas de collections indiqués.

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

Évaluation

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

Recevez les nouvelles issues par e-mail

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