저는 ASM을 사용하고있는 바이트 코드 분석 프로젝트를 진행하고 있습니다. 모든 것이 잘 진행되고 있으며, 구문 분석하고 클래스 및 메소드 정보를 성공적으로 가져올 수 있습니다.Java의 바이트 코드 분석
하지만 제네릭에 대한 바이트 코드 표현을 이해해야합니다.
다음(ILjava/util/Collection<+TE;>;)Z
내가 하나 하나를 분해하려고 노력하고 이해하고있다 : 여기가 정보를 인쇄 할 수 ClassVisitor
에서 visitMethod
를 사용 java.util.list
의 한 예이며, 이것은 내가 메소드의 서명 중 하나 얻고 무엇인가 메소드의 인수 : 그것을 위해 INT
Ljava/util/Collection
스탠드에 대한
I
스탠드 형의 인수의Collection
그러나 나는 제네릭 유형 즉 <+TE>
등등에 갇혀 있습니다. 아무도 나를 안내 할 수 있습니까? 검색을 시도했지만 정보가 충분하지 않았습니다. 누구든지 바이트 코드 이름 목록을 가지고 있다면 나에게 이야기 해 주시겠습니까?
Collection<? extends E> -> Ljava/util/Collection<+TE;>
asm user guide 섹션에서보세요 :
정말 고맙습니다. 이것은 충분해야합니다, 나는 그것을 앞으로 가져갈 것입니다. :) –