/* BSD 2-Clause License - see OPAL/LICENSE for details. */ package org.opalj package bi package reader import java.io.DataInputStream import org.opalj.control.fillArraySeq import scala.collection.immutable.ArraySeq /** * Generic parser to parse a list of annotations. This reader is intended to be used in * conjunction with the Runtime(In)Visible(Parameter)Annotations_attributeReaders. */ trait AnnotationsReader extends AnnotationsAbstractions { // // TYPE DEFINITIONS AND FACTORY METHODS // // NONE... // // IMPLEMENTATION // type Annotations = ArraySeq[Annotation] /** * Reads the annotations of a annotations attributes. * * ''' From the Specification''' *
* annotation { * u2 type_index; * u2 num_element_value_pairs; * { u2 element_name_index; * element_value value; * } element_value_pairs[num_element_value_pairs] * } **/ def Annotations(cp: Constant_Pool, in: DataInputStream): Annotations = { fillArraySeq[Annotation](in.readUnsignedShort) { Annotation(cp, in) } } }