From: adrian Date: Wed, 15 Mar 2006 17:59:07 +0000 (+0000) Subject: Need to also keep the parameter annotations after a prune. X-Git-Tag: rel_3_17_1_ga~368 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=e8fe862862d838438fc09786bd5102a654593575;p=javassist.git Need to also keep the parameter annotations after a prune. git-svn-id: http://anonsvn.jboss.org/repos/javassist/trunk@260 30ef5769-5b8d-40dd-aea6-55b5d6557bb3 --- diff --git a/src/main/javassist/bytecode/MethodInfo.java b/src/main/javassist/bytecode/MethodInfo.java index 10c77be0..87b8e76a 100644 --- a/src/main/javassist/bytecode/MethodInfo.java +++ b/src/main/javassist/bytecode/MethodInfo.java @@ -126,33 +126,48 @@ public final class MethodInfo { void prune(ConstPool cp) { LinkedList newAttributes = new LinkedList(); + AttributeInfo invisibleAnnotations = getAttribute(AnnotationsAttribute.invisibleTag); if (invisibleAnnotations != null) { invisibleAnnotations = invisibleAnnotations.copy(cp, null); newAttributes.add(invisibleAnnotations); - } + } AttributeInfo visibleAnnotations = getAttribute(AnnotationsAttribute.visibleTag); if (visibleAnnotations != null) { visibleAnnotations = visibleAnnotations.copy(cp, null); newAttributes.add(visibleAnnotations); - } + } + + AttributeInfo parameterInvisibleAnnotations + = getAttribute(ParameterAnnotationsAttribute.invisibleTag); + if (parameterInvisibleAnnotations != null) { + parameterInvisibleAnnotations = parameterInvisibleAnnotations.copy(cp, null); + newAttributes.add(parameterInvisibleAnnotations); + } - AnnotationDefaultAttribute defaultAttribute - = (AnnotationDefaultAttribute) getAttribute(AnnotationDefaultAttribute.tag); - if (defaultAttribute != null) - newAttributes.add(defaultAttribute); + AttributeInfo parameterVisibleAnnotations + = getAttribute(ParameterAnnotationsAttribute.visibleTag); + if (parameterVisibleAnnotations != null) { + parameterVisibleAnnotations = parameterVisibleAnnotations.copy(cp, null); + newAttributes.add(parameterVisibleAnnotations); + } + + AnnotationDefaultAttribute defaultAttribute + = (AnnotationDefaultAttribute) getAttribute(AnnotationDefaultAttribute.tag); + if (defaultAttribute != null) + newAttributes.add(defaultAttribute); - ExceptionsAttribute ea = getExceptionsAttribute(); - if (ea != null) - newAttributes.add(ea); + ExceptionsAttribute ea = getExceptionsAttribute(); + if (ea != null) + newAttributes.add(ea); - attribute = newAttributes; - name = cp.addUtf8Info(getName()); - descriptor = cp.addUtf8Info(getDescriptor()); - constPool = cp; + attribute = newAttributes; + name = cp.addUtf8Info(getName()); + descriptor = cp.addUtf8Info(getDescriptor()); + constPool = cp; } /**