używałem javap
studiować kod wyprodukowany dla jednego z moich klas i zauważyłem następujący wynik:„fałszywe” wpisy w wyjściu javap lokalnej tabeli
...
frame_type = 255 /* full_frame */
offset_delta = 11
locals = [ class Test, double, int, double, double, bogus, bogus, int, int, class "[D" ]
stack = []
...
Jaki jest sens tych „podrobiony” typ/zmienne wpisy w tabeli locals
? Jak są one spowodowane? Jaki jest ich wpływ na wynikowy kod?
Plik klasy został utworzony przy użyciu kompilatora Eclipse 3.7, a javap
pochodzi z OpenJDK-1.6b22.
można udostępnić źródło tej metody? A może także kod bajtowy? Domyślam się, że pochodzi on z foreach, switch (enum) lub jednej z innych funkcji wymagających kodu wygenerowanego automatycznie przez kompilator. –