redhat-developer / redhat-developer/vscode-java
Recognize contractual non-nullness of standard library functions
Personne n'a encore pris cette issue.
- Langage dominant
- TypeScript
- Étoiles
- 2.3k
- Forks
- 546
- Merge moyen
- 20 h 1 min
- PR mergées (30 j)
- 11
Description
The nullness analyzer does not recognize that certain standard library functions will, contractually, never return null. A common example would be Integer::toString.
These methods will generate unchecked cast warnings if assigned to a @Nonnull field.
As I understand, the plugin relies on Eclipse JDT for nullness analysis. I have come across LastNPE, which publishes JDT-compatible external null annotation files for many common libraries.
Would it be possible to include these annotations by default? Alternatively, if this is not desirable, could EAA files be supported by the plugin?
Environment
- Operating System: Windows 10 Enterprise
- JDK version: openjdk 11.0.12 2021-07-20
- Visual Studio Code version: 1.71.2
- Java extension version: v1.11.0
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Aucun fichier source ni test n’est nommé dans l’issue. Commencez par examiner comment l’extension délègue l’analyse de nullité à Eclipse JDT et comparez les annotations compatibles avec JDT de LastNPE avec la prise en charge d’EAA demandée ; le travail est terminé lorsque les méthodes de la bibliothèque standard telles que Integer::toString ne produisent plus d’avertissements de cast non vérifié lorsqu’elles sont affectées à des champs @Nonnull.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java, typescript, vscode
- Domaine
- tooling
- Type d'issue
- Fonctionnalité
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 42/100