ASM 4.1 を使用しています。メソッド visitLdcInsn にはバージョン 49 以降が必要であることは理解していますが、visitLdcInsn をバージョン 49 以下で動作させるにはどうすればよいか疑問に思っています。人々がより高いバージョンでコンパイルすることが解決策であることは知っていますが、それが人々に提案する適切な解決策であるとは思いません。インストルメントしようとすると例外が発生するテストコードを次に示します。
package mypackage;
public class JDK4TEST {
public static void main(String[] args) {
}
}
次の例外が発生します: Exception in thread "main" java.lang.VerifyError: (class: mypackage/JDK4TEST, method: __cobertura_classmap signature: (Lnet/sourceforge/cobertura/coveragedata/LightClassmapListener;)V) Illegal type in constant pool
さらにコードが必要な場合、これは github の cobertura 2.0 コードの一部です。