Ich möchte benutzerdefinierte Anmerkungen erstellen, um einzelne FindBugs-Warnungen zu unterdrücken, damit sie einfacher über Code-Vervollständigung verwendet werden können. Zum Beispiel ignoriert dieser Konstruktor Konstruktoren, die nicht alle @Nonnull
Felder setzen.
Ich sehe jedoch immer noch die Warnung, wenn ich die Anmerkung verwende.
%Vor% Ich habe verschiedene Aufbewahrungsrichtlinien und Elementtypen ausprobiert, indem ich die Annotation auf den Konstruktor und die Klasse und sogar auf @TypeQualifierNickname
gesetzt habe.
Dieselbe Methode funktioniert, um @Nonnull
auf alle Felder einer Klasse anzuwenden.
FindBugs zeigt korrekt eine Warnung für Code an, der null
zu name
zuweist.
Ich glaube, das Problem ist, dass @SuppressFBWarnings
nicht mit @TypeQualifier
markiert ist, während @Nonnull
ist und somit @TypeQualifierDefault
und @TypeQualifierNickname
nicht darauf zutreffen. Aber es muss einen anderen Mechanismus geben, um eine Anmerkung mithilfe einer anderen anzubringen.
(Beantworten Sie die Frage nicht speziell), aber wenn Sie nur die Code-Vervollständigung mit @SuppressFBWarnings
verbessern möchten, können Sie für jeden der Warncodes ein static final String
definieren und diese dann in der Anmerkung verwenden. z.B.
Dann:
%Vor% (obwohl zugegebenermaßen Eclipse keine Code-Vervollständigung durchführen möchte, wenn Sie in der Annotation nicht value=
angeben)
Tags und Links java annotations findbugs