Java 바이트 코드를 생성하는 데 ASM을 사용하고 있습니다. 기본적으로 모든 종류의 메서드를 추가 후 처리로 재정의 할 수있는 동적 프록시를 만들 필요가 있습니다. 나는 그것을 모두 할 수 있지만 좋은 방법으로하는 방법을 볼 수없는 한 가지가 있습니다.ASM : 유형에 따라 적절한 Opcode를 쉽게 얻는 방법
난 아무것도 할 수있다 무시하고 메서드의 첫 번째 매개 변수의 유형, 그래서는 ASM 코드에서 ALOAD
을 사용할 수 없습니다,하지만 난 ILOAD
, LLOAD
, FLOAD
등 내 질문을 사용할 필요가 있습니다 기반 내가로드 할 매개 변수 유형에 쉽게 유효한 LOAD 명령 오피 알 수있는 방법이있다, 그래서 내가 좋아하는 뭔가를 할 필요가 없습니다 :
if (parameterType == int.class)
mv.visitVarInsn(ILOAD, 1);
else if
...
else
mv.visitVarInsn(ALOAD, 1);
어떤 코드를 생성하려고합니까? 인수를로드하고 즉시 다른 함수를 호출합니까? – Antimony
사실,이 단계에서는 맞습니다. 다른 메소드 호출 및 호출 후 콜백 실행 (동일한 메소드에서) –