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