En utilisant le Checker Framework, les méthodes utilisées par le constructeur peuvent prendre les paramètres annotés @UnderInitialization
.Checker Framework transmettant la valeur @Initialized en tant que paramètre @UnderInitialization
L'appel d'une telle méthode à partir d'un non-constructeur et passer un paramètre de résultats @Initialized
dans l'erreur suivante:
error: [argument.type.incompatible] incompatible types in argument.
found : @Initialized <Object>
required: @UnderInitialization <Object>
Je ne suis pas sûr que ce soit un problème puisque le passage d'une valeur @Initialized
ne doit pas avoir des effets secondaires malades.
Quelle est la bonne façon d'adresser cette erreur?