メソッドパラメータにアノテーションを追加する必要があります。このメソッドは、以前は次のようなjavassistで作成されていました。
CtClass cc2 = pool.makeClass("Dummy");
CtMethod method = CtNewMethod.make("public java.lang.String dummyMethod( java.lang.String oneparam){ return null; }", cc2);
追加したい注釈は非常に単純です。
@Target(ElementType.PARAMETER)
@Retention(RetentionPolicy.RUNTIME)
public @interface Param {
/** Name of the parameter */
String name() default "";
}
1)メソッド作成でアノテーションを書くとスロー
javassist.CannotCompileException: [source error] syntax error near "myMethod(@Param
2)この解決策を見つけましたが、私の場合はnullを返す行に基づいています:
AttributeInfo paramAtrributeInfo = methodInfo.getAttribute(ParameterAnnotationsAttribute.visibleTag); // or inVisibleTag
私はこれを達成する方法に迷っています。新しいメソッドを作成し、そのパラメーターにアノテーションを追加する方法を見つけた人はいますか?
前もって感謝します。