ASM [ASM] 클래스 - 만들기 참조: http://download.fr.forge.objectweb.org/asm/asm-guide.pdf ClassWriter만 사용해서 클래스를 만들수 있다. ClassWriter cw = new ClassWriter(0); cw.visit(V1_5, ACC_PUBLIC + ACC_ABSTRACT + ACC_INTERFACE,
ASM [ASM] 개요 참조: http://download.fr.forge.objectweb.org/asm/asm-guide.pdf – 프로그램 분석: 파싱에서 부터 애플리케이션의 잠재적인 버그를 찾거나, 사용하지 않는 코드나 역공학에 사용할 수 있다. – 프로그램 생성: 일반 컴파일러나 Just in Time 컴파일러 같이 분산 프로그래밍에서 사용할 스텁, 스켈레톤 컴파일러가 사용할
ASM [ASM] 클래스 - 파싱하기 참조: http://download.fr.forge.objectweb.org/asm/asm-guide.pdf ClassVisitor 인터페이스를 구현하여 간단하게 파싱하는 클래스 작성 가능. public class ClassPrinter implements ClassVisitor { public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) {
ASM [ASM] 클래스 - 인터페이스와 구성요소 참조: http://download.fr.forge.objectweb.org/asm/asm-guide.pdf 컴파일된 클래스 생성 또는 변경할 때 사용하는 핵심 API는 ClassVisitor 인터페이스. 이 API는 다음 순서대로 사용해야 함. 1. visit 호출. 2. visitSource 최대 한번 호출 가능. 3. visitOuterClass 최대 한번 호출 가능. 4.
ASM [ASM] 클래스 - 구조 참조: http://download.fr.forge.objectweb.org/asm/asm-guide.pdf 컴파일 된 클래스 구성요소 – 클래스의 접근자, 이름, 상위 클래스, 인터페이스, 애노테이션 – 클래스에 선언한 필드당 한 섹션. 각 섹션에는 필드의 접근자, 이름, 타입, 애노테이션 – 클래스의 메서드와 생성자 당 한 섹션. 각 섹션에는