2011-12-30 8 views
8

Sé que it's not possible to extends Java annotations.¿Puedo hacer una anotación Java que "amplíe" @SuppressWarnings?

He creado una anotación para un campo privado, lo que significa que es probable que el campo no se use en la clase en la que está declarado. Por esta razón, recibo muchas advertencias de "campo no usado" en mis campos anotados.

¿Hay alguna manera de dar a mi anotación el comportamiento de @SuppressWarnings("unused") para que no tenga que anotar doblemente cada campo que tenga @MyAnnotation?

+2

Si tiene la idea de IntelliJ, puede configurar el verificador para ignorar cualquier campo que tenga su anotación. Esa no es una solución para su problema, pero podría ser una solución. – Thomas

+0

@Thomas gracias - como dices no es una solución, pero es útil :) – Armand

Respuesta

0

La respuesta rápida es "no". El compilador de Java no sabe nada acerca de su anotación, por lo que no la procesará de la manera que desee.


Pero la respuesta honesta es "sí". En este article puede encontrar una descripción detallada de cómo escribir el complemento del compilador. Lo más probable es que pueda escribir un plugin que, en caso de encontrar su anotación, lo manejará y no pasará el campo al verificador no utilizado.

Cuestiones relacionadas