Próbuję utworzyć adnotację dla zmiennej lokalnej. Wiem, że nie mogę zachować adnotacji w wygenerowanego kodu bajtowego, ale powinny mieć możliwość dostępu do informacji w czasie kompilacji, robiąc coś takiego: tylkoJak mogę utworzyć procesor adnotacji, który przetwarza zmienną lokalną?
@Target({ElementType.LOCAL_VARIABLE})
@Retention(RetentionPolicy.SOURCE)
public @interface Junk {
String value();
}
, to nie zostanie przetworzony apt lub javac kiedy podać ProcessorFactory że ma „śmieci” w to obsługiwane typy w następujących przypadkach:
class JunkTester {
public static void main(String[] args) {
@Junk String tmp = "Hello World";
System.out.println(tmp);
}
}
to będzie jednak działać, gdy poruszam adnotacji @Junk przed public static
idee i lub obejścia?
ciekawy: co chcesz zrobić ze zmiennymi lokalnymi z adnotacją @Junk? – irreputable
@Junk jest oczywiście tylko przykładem, ale ostatecznie chciałbym wygenerować kod z prawdziwej adnotacji. – apg
tak, ale jeśli to zrobisz, manipulujesz kod wewnątrz metody, prawda? to wydaje się dość trudne w procesorze adnotacji. – irreputable