computes the array length of a repeated field . we assume that in the common case repeated fields are contiguously serialized but we still correctly handle interspersed values of a repeated field but with extra allocations . rewinds to current input position before returning . concode_field_sep double EMPTY_DOUBLE_ARRAY[] concode_elem_sep int WIRETYPE_FIXED64 concode_elem_sep int WIRETYPE_END_GROUP concode_elem_sep int WIRETYPE_VARINT concode_elem_sep byte[] EMPTY_BYTES_ARRAY[] concode_elem_sep int WIRETYPE_START_GROUP concode_elem_sep int TAG_TYPE_BITS concode_elem_sep byte[] EMPTY_BYTES concode_elem_sep int WIRETYPE_FIXED32 concode_elem_sep int TAG_TYPE_MASK concode_elem_sep boolean EMPTY_BOOLEAN_ARRAY[] concode_elem_sep int WIRETYPE_LENGTH_DELIMITED concode_elem_sep String EMPTY_STRING_ARRAY[] concode_elem_sep float EMPTY_FLOAT_ARRAY[] concode_elem_sep int EMPTY_INT_ARRAY[] concode_elem_sep long EMPTY_LONG_ARRAY[] concode_field_sep boolean parseUnknownField concode_elem_sep int getTagFieldNumber concode_elem_sep int getTagWireType concode_elem_sep int makeTag
int function ( final CodedInputByteBufferNano arg0 , final int arg1 ) { int loc0 = 1 ; int loc1 = arg0 . getPosition ( ) ; arg0 . skipField ( arg1 ) ; while ( arg0 . readTag ( ) == arg1 ) { arg0 . skipField ( arg1 ) ; loc0 ++ ; } arg0 . rewindToPosition ( loc1 ) ; return loc0 ; }