Я работаю над проектом анализа Bytecode, для которого я использую ASM. Все идет хорошо, я могу разобрать, получить информацию о классе и методе.
Но я застрял в понимании представления байт-кода для Generics. Вот один пример из java.util.list, когда я использую visitMethod из ClassVisitor для печати информации, это то, что я получаю для одной из сигнатур метода:
(ILjava/util/Collection<+TE;>;)Z
Здесь я пытаюсь разобрать один за другим и понять аргументы метода:
-
Iозначает int -
Ljava/util/Collectionобозначает аргумент типаCollection
Но я застрял в типе дженериков, т.е. <+TE> и т.д. Может ли кто-нибудь вести меня? Я попытался найти, но не получил достаточно информации. Если у кого-нибудь есть список имен байт-кодов, можете ли вы поделиться им?