if (haveUnpackedParameterAnnotations) {
return;
}
// Find attributes that contain parameter annotation data
List<Attribute> attrs = getAttributes();
RuntimeParamAnnos paramAnnVisAttr = null;
RuntimeParamAnnos paramAnnInvisAttr = null;
for (Attribute attribute : attrs) {
if (attribute instanceof RuntimeParamAnnos) {
if (!hasParameterAnnotations) {
param_annotations = new List[parameterTypes.length];
for (int j = 0; j < parameterTypes.length; j++) {
param_annotations[j] = new ArrayList<AnnotationGen>();
}
}
hasParameterAnnotations = true;
RuntimeParamAnnos rpa = (RuntimeParamAnnos) attribute;
if (rpa.areVisible()) {
paramAnnVisAttr = rpa;
} else {
paramAnnInvisAttr = rpa;
}
for (int j = 0; j < parameterTypes.length; j++) {
// This returns Annotation[] ...
AnnotationGen[] annos = rpa.getAnnotationsOnParameter(j);
// ... which needs transforming into an AnnotationGen[] ...
// List<AnnotationGen> mutable = makeMutableVersion(immutableArray);
// ... then add these to any we already know about
for (AnnotationGen anAnnotation : annos) {
param_annotations[j].add(anAnnotation);