Benutzerdefinierte Annotation zum Unterdrücken einer bestimmten FindBugs-Warnung

8

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.

%Vor%

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.

%Vor%

FindBugs zeigt korrekt eine Warnung für Code an, der null zu name zuweist.

%Vor%

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.

    
David Harkness 11.01.2013, 19:36
quelle

1 Antwort

1

(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.

%Vor%

Dann:

%Vor%

(obwohl zugegebenermaßen Eclipse keine Code-Vervollständigung durchführen möchte, wenn Sie in der Annotation nicht value= angeben)

    
paulcm 16.01.2013, 14:01
quelle

Tags und Links