0

在 OPAL 框架中,是否可以手动创建带注释的方法?

我目前有以下代码:

Method(0, "signaturePolymorphicMethod",
        MethodDescriptor(ObjectType("java/lang/Object"), VoidType), Seq())

我想添加注释

@java.lang.invoke.MethodHandle$PolymorphicSignature

到这个方法。我怎样才能做到这一点?

4

1 回答 1

1

注解通常使用 JVM 的通用“属性”机制存储。

在这种情况下,注释是带有“运行时保留策略”的 MethodHandle 的非公共内部类。因此,要将方法标记为具有“多态签名”,必须将 RuntimeVisibibleAnnotations_Attribute 添加到相应方法的属性表中。但是,鉴于注释的可见性仅限于 java.lang.invoke 包,这(在这种特定情况下)可能很少有用。不过,可以查询相应包中的方法

于 2016-07-10T15:09:43.483 回答