2016-06-05 4 views
1

빠른 질문이 있습니다. Javassist을 사용하여 클래스에 메소드를 추가 한 다음 jar 파일을 다시 작성합니다.Javassist - 컴파일러에 플래그를 전달하십시오.

JavassistJavac을 컴파일 코드에 사용합니다. 하지만 컴파일 후 으로 Javassist을 호출하면 에 도달 할 수 없습니다. LocalVariableTable 예 : javap.

나는이 플래그를 읽었습니다 - 컴파일시 컴파일러에을 설정해야합니다.

처럼, 자기 정의 플래그로 컴파일 할 와 Javassist에 강제하는 방법을 알고 있나요 - g을?

감사합니다.

답변

0

답변을 찾았습니다.

JavacJavassist의 내부 컴파일러입니다. Javac 클래스에는 recordLocalVariables이라는 메서드가 있습니다.

  • CtBehavior.insertAt
  • CtBehavior.insertAfter

    • CtBehavior.insertBefore :

      recordLocalVariables은 전체 라이브러리에 3 번 호출 (뿐만 아니라 공공 방법이다)에있다

    로컬 변수가 바이트 코드와 함께 저장되도록하려면 새 메소드를 만드는 동안 해당 메소드 중 하나만 사용하십시오.

  • 관련 문제