private void incrementArraySize() { if (attributeVisitors == null) { attributeVisitors = new AttributeVisitor[1]; } else { AttributeVisitor[] newAttributeVisitors = new AttributeVisitor[attributeVisitors.length + 1]; System.arraycopy(attributeVisitors, 0, newAttributeVisitors, 0, attributeVisitors.length); attributeVisitors = newAttributeVisitors; } }
/** Adds a given annotation to the annotations attribute. */ public void addAnnotation(Annotation annotation) { int annotationsCount = targetAnnotationsAttribute.u2annotationsCount; Annotation[] annotations = targetAnnotationsAttribute.annotations; // Make sure there is enough space for the new annotation. if (annotations.length <= annotationsCount) { targetAnnotationsAttribute.annotations = new Annotation[annotationsCount + 1]; System.arraycopy(annotations, 0, targetAnnotationsAttribute.annotations, 0, annotationsCount); annotations = targetAnnotationsAttribute.annotations; } // Add the annotation. annotations[targetAnnotationsAttribute.u2annotationsCount++] = annotation; }