OPAL:手动创建带注释的方法
OPAL: Manually creating an annotated method
在OPAL框架中,是否可以手动创建注解方法?
我目前有以下代码:
Method(0, "signaturePolymorphicMethod",
MethodDescriptor(ObjectType("java/lang/Object"), VoidType), Seq())
我想添加注释
@java.lang.invoke.MethodHandle$PolymorphicSignature
这个方法。我该怎么做?
通常使用 JVM 的通用 "Attributes" 机制存储注释。
在这种情况下,注释是具有 "Runtime Retention Policy" 的 MethodHandle 的非 public 内部 class。因此,要将方法标记为具有 "Polymorphic Signature",必须将 RuntimeVisibibleAnnotations_Attribute 添加到相应方法的属性 table。但是,鉴于注释的可见性仅限于 java.lang.invoke 包,这(在这种特定情况下)可能很少有用。不过,可以在相应的包中查询方法
在OPAL框架中,是否可以手动创建注解方法?
我目前有以下代码:
Method(0, "signaturePolymorphicMethod",
MethodDescriptor(ObjectType("java/lang/Object"), VoidType), Seq())
我想添加注释
@java.lang.invoke.MethodHandle$PolymorphicSignature
这个方法。我该怎么做?
通常使用 JVM 的通用 "Attributes" 机制存储注释。
在这种情况下,注释是具有 "Runtime Retention Policy" 的 MethodHandle 的非 public 内部 class。因此,要将方法标记为具有 "Polymorphic Signature",必须将 RuntimeVisibibleAnnotations_Attribute 添加到相应方法的属性 table。但是,鉴于注释的可见性仅限于 java.lang.invoke 包,这(在这种特定情况下)可能很少有用。不过,可以在相应的包中查询方法