捕获上的类型注释调用了什么ASM Visitor方法



我有下面的代码片段,我用ASM 对其进行了分析

   try{
    } catch (@TypeAnno7 RuntimeException re){
    }

我找不到为Annotation调用的正确方法。我以为MethodVisitor.visitTryCatchAnnotation会起作用,但它没有被调用。

那么:正确的方法是什么?对于什么样的代码,会调用上面提到的方法?

Java编译器不会为try/catch生成任何字节码,除非try主体包含一些代码(否则,catch块永远无法实际运行,因此这是一种死代码消除形式),您可以使用javac -p验证这些代码。在try正文中添加一些代码,然后应该调用visitTryCatchAnnotation。

最新更新