I am working on a Bytecode analysis project, for which I am using ASM. Everything is going good, I am able to parse, get class and method informations successfully.
But I am stuck in understanding bytecode representation for Generics. Here is the one example from java.util.list
when I use visitMethod
from ClassVisitor
to print the information, this is what I am getting for one of the method's signature:
(ILjava/util/Collection<+TE;>;)Z
Here I am trying to disassemble one by one and understanding the arguments of the method:
I
stands for intLjava/util/Collection
stands for it's an argument of typeCollection
But I am stuck at generics type ie <+TE>
etc. Can anyone guide me? I tried to search but not got enough information. If anyone has list of bytecode names can you please share me?