OPAL:手动创建带注释的方法

时间:2016-07-10 09:38:47

标签: scala static-analysis opal-framework

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

我目前有以下代码:

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

我要添加注释

@java.lang.invoke.MethodHandle$PolymorphicSignature

这个方法。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

注释通常使用JVM的一般“属性”机制进行存储。

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