Ich versuche eine Annotation für eine lokale Variable zu erstellen. Ich weiß, dass ich die Annotation im generierten Bytecode nicht behalten kann, aber ich sollte in der Lage sein, auf die Informationen zur Kompilierzeit zugreifen zu können, indem ich etwas wie folgt mache:
%Vor%wird dies nicht von apt oder javac verarbeitet, wenn ich eine ProcessorFactory mit "Junk" in den folgenden unterstützten Typen angabe:
%Vor% Es wird jedoch funktionieren, wenn ich die @ Junk Annotation vor public static
Gedanken und / oder Umgehungslösungen?
Es scheint, dass die Typanmerkungsspezifikation (JSR 308) dieses Thema hoffentlich anspricht in der Zukunft ( JDK 8 ?).
Ab Java 8 werden lokale Variablenanmerkungen in der Klassendatei gespeichert.
Ein standardmäßiger Java-Annotationsprozessor verarbeitet die Körper von Methoden nicht. Mit dem Checker-Framework können Sie jedoch einen Annotationsprozessor schreiben, der alle Annotationen einschließlich lokaler Variablen verarbeitet. Seine Annotationsprozessoren können sogar jede Aussage des Programms überprüfen, ob mit Anmerkungen versehen oder nicht.
Tags und Links java annotations