I have done further reading on how this is implemented by the compiler and finally found
out the answer I was looking for.
You can defenitely do that with javaassist. The key class is
javassist.bytecode.SignatureAttribute.
From a CtMethod, i've obtained the methodInfo I add a Signature
attribute. You can do it with something like:
CtMethod method = ....
| MethodInfo methodInfo = method.getMethodInfo();
| SignatureAttribute signatureAttribute = new
SignatureAttribute(methodInfo.getConstPool(),
| "()Ljava/util/List<Ljava/lang/String;>;");
| methodInfo.addAttribute(signatureAttribute);
If your more interesed in reading the signature with the generics inside, you can use the
methodInfo.getAttribute(SignatureAttribute.tag).
I hope this helped.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4114787#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...