readFieldBegin method

  1. @override
TField readFieldBegin()
override

Implementation

@override
TField readFieldBegin() {
  int type = readByte();
  if (type == TType.STOP) {
    return TSTOP;
  }

  int fieldId;
  int modifier = ((type & 0xF0) >> 4).toSigned(16);
  if (modifier == 0) {
    fieldId = readI16();
  } else {
    fieldId = (lastFieldId_ + modifier).toSigned(16);
  }

  TField field = TField("", getTType((type & 0x0F).toSigned(8)), fieldId);

  if (isBoolType(type)) {
    boolValue_ = (type & 0x0F).toSigned(8) == Types.BOOLEAN_TRUE;
  }

  lastFieldId_ = field.id;
  return field;
}