public RuntimeVisibleAnnotationsAttribute Parse(Stream attributeDataStream, uint attributeDataLength, ClassReaderState readerState, AttributeScope scope) { var attribute = new RuntimeVisibleAnnotationsAttribute(); var annotationsCount = Binary.BigEndian.ReadUInt16(attributeDataStream); attribute.Annotations.Capacity = annotationsCount; for (var i = 0; i < annotationsCount; i++) { attribute.Annotations.Add(AnnotationNode.Parse(attributeDataStream, readerState)); } return(attribute); }
public RuntimeVisibleParameterAnnotationsAttribute Parse(Stream attributeDataStream, uint attributeDataLength, ClassReaderState readerState, AttributeScope scope) { var attribute = new RuntimeVisibleParameterAnnotationsAttribute(); var parametersCount = attributeDataStream.ReadByteFully(); attribute.Parameters.Capacity = parametersCount; for (var i = 0; i < parametersCount; i++) { var parameter = new ParameterAnnotations(); var annotationsCount = Binary.BigEndian.ReadUInt16(attributeDataStream); parameter.Annotations.Capacity = annotationsCount; for (var j = 0; j < annotationsCount; j++) { parameter.Annotations.Add(AnnotationNode.Parse(attributeDataStream, readerState)); } attribute.Parameters.Add(parameter); } return(attribute); }