begins reading the fields of an annotation , returning the number of fields . the caller must follow up by making alternating calls to #readannotationname and another read method . for example , this readsan annotation whose fields are all bytes : int fieldcount = readannotation ; int annotationtype = getannotationtype ; for int i = 0 ; i concode_field_sep int ENCODED_NULL concode_elem_sep ByteInput in concode_elem_sep int ENCODED_SHORT concode_elem_sep int ENCODED_TYPE concode_elem_sep int ENCODED_LONG concode_elem_sep int annotationType concode_elem_sep int ENCODED_STRING concode_elem_sep int ENCODED_METHOD concode_elem_sep int ENCODED_INT concode_elem_sep int MUST_READ concode_elem_sep int ENCODED_ARRAY concode_elem_sep int arg concode_elem_sep int ENCODED_FLOAT concode_elem_sep int ENCODED_BOOLEAN concode_elem_sep int ENCODED_CHAR concode_elem_sep int ENCODED_FIELD concode_elem_sep int ENCODED_ENUM concode_elem_sep int ENCODED_BYTE concode_elem_sep int ENCODED_ANNOTATION concode_elem_sep int ENCODED_DOUBLE concode_elem_sep int type concode_field_sep void skipValue concode_elem_sep void checkType concode_elem_sep int getAnnotationType concode_elem_sep int readString concode_elem_sep int readAnnotationName concode_elem_sep char readChar concode_elem_sep int peek concode_elem_sep long readLong concode_elem_sep int readEnum concode_elem_sep short readShort concode_elem_sep double readDouble concode_elem_sep int readMethod concode_elem_sep float readFloat concode_elem_sep int readField concode_elem_sep int readArray concode_elem_sep int readType concode_elem_sep void readNull concode_elem_sep boolean readBoolean concode_elem_sep byte readByte concode_elem_sep int readInt
int function ( ) { checkType ( ENCODED_ANNOTATION ) ; type = MUST_READ ; annotationType = Leb128 . readUnsignedLeb128 ( in ) ; return Leb128 . readUnsignedLeb128 ( in ) ; }