skipField method

bool skipField(
  1. int tag
)

Implementation

bool skipField(int tag) {
  final tagType = getTagWireType(tag);

  if (isAtEnd() || tagType == WIRETYPE_END_GROUP) {
    return false;
  }

  switch (getTagWireType(tag)) {
    case WIRETYPE_VARINT:
      readInt64();
      return true;
    case WIRETYPE_FIXED64:
      readFixed64();
      return true;
    case WIRETYPE_LENGTH_DELIMITED:
      readBytesAsView();
      return true;
    case WIRETYPE_FIXED32:
      readFixed32();
      return true;
    case WIRETYPE_START_GROUP:
      readUnknownFieldSetGroup(getTagFieldNumber(tag));
      return true;
    default:
      throw InvalidProtocolBufferException.invalidWireType();
  }
}