Lassen Sie den Java-Compiler warnen, wenn eine mit Anmerkungen versehene Methode verwendet wird (z. B. @deprecated)

Angenommen, ich definiere eine benutzerdefinierte Anmerkung mit dem Namen@Unsafe.

Ich möchte einen Annotation-Prozessor bereitstellen, der @ erkennVerweis zu mit @ kommentierten Method@Unsafe und gib eine Warnung aus.

Zum Beispiel diesen Code gegeben ...

public class Foo {
  @Unsafe
  public void doSomething() { ... }
}

public class Bar {
  public static void main(String[] args) {
    new Foo().doSomething();
  }
}

... Ich möchte, dass der Compiler so etwas ausgibt wie:

WARN > Bar.java, line 3 : Call to Unsafe API - Foo.doSomething()

s ist sehr ähnlich im Geist zu@Deprecated, aber meine Anmerkung kommuniziert etwas anderes, daher kann ich @ nicht verwend@Deprecated direkt. Gibt es eine Möglichkeit, dies mit einem Anmerkungsprozessor zu erreichen? Die Annotation-Prozessor-API scheint sich eher auf die Entities @ zu konzentrierebewirbt sic die Anmerkungen Foo.java in meinem Beispiel) als Entitäten, dieReferen Kommentierte Mitglieder.

Diese Frag bietet eine Technik, um dies als separaten Erstellungsschritt mit ASM zu erreichen. Aber ich frage mich, ob ich es mit Javac & Annotation Processing auf natürlichere Weise tun kann?