So fügen Sie das benutzerdefinierte SuppressWarns-Token in Eclipse hinzu

9

Ich schreibe ein PMD-Plug-in für Eclipse, mit dem Benutzer PMD-Warnungen unterdrücken können, indem sie Annotationen wie @SuppressWarnings("PMD.ReturnEmptyArrayRatherThanNull") hinzufügen. Da Eclipse nicht weiß, dass PMD.ReturnEmptyArrayRatherThanNull ein gültiges Token ist, warnt es, dass das Token nicht unterstützt wird, und bietet eine schnelle Lösung, um es zu entfernen.

Wie kann Eclipse wissen, dass es sich tatsächlich um ein unterstütztes SuppressWarns-Token handelt und dass es keine Warnung enthalten sollte?

Ich suche keinen Weg, wie der Benutzer die Warnung unterdrücken kann. Ich kenne die "Unhandle-Token ignorieren in SuppressWarnings" Einstellung in Eclipse. Dies ist eine Problemumgehung und hat den Nachteil, dass Eclipse überhaupt kein nicht unterstütztes Token meldet, was es z. finde einen Tippfehler in einem SuppressWarns-Token.

Ich suche nach einer Möglichkeit, wie ich als Plug-in-Entwickler Eclipse erweitern kann, damit das PMD-Token als unterstütztes Token für Unterdrückungswarnungen erkannt wird.

Bisher habe ich nur festgestellt, dass das von Eclipse unterstützte Token harte Codierung in den Eclipse-Java-Compiler , aber nicht Ich habe einen Erweiterungspunkt oder etwas anderes gefunden, mit dem ich das PMD-Token zur Liste des unterstützten SuppressWarns-Tokens hinzufügen kann.

    
eclipse-pmd 06.01.2014, 13:46
quelle

1 Antwort

0

Sie könnten ein kleines Plugin schreiben, das den Equinox Weaving Service verwendet, um diese Methodenaufrufe abzufangen und benutzerdefinierte IrritantSet-Instanzen daraus zurückzugeben. Das würde ein bisschen herumschnüffeln um Compiler-Code, sollte aber nicht zu schwierig sein.

Der Nachteil ist, dass es mit JDT-Updates brechen kann und nur in Eclipse funktioniert, in dem das Plugin installiert ist.

In diesem Tutorial erfahren Sie, wie Sie ein Plugin schreiben, das Weben verwendet Service.

    
Michał Grzejszczak 21.05.2015 16:49
quelle