decode static method

Implementation

static XdrSCSpecTypeDef decode(XdrDataInputStream stream) {
  XdrSCSpecTypeDef decoded = XdrSCSpecTypeDef(XdrSCSpecType.decode(stream));
  switch (decoded.discriminant) {
    case XdrSCSpecType.SC_SPEC_TYPE_VAL:
    case XdrSCSpecType.SC_SPEC_TYPE_BOOL:
    case XdrSCSpecType.SC_SPEC_TYPE_VOID:
    case XdrSCSpecType.SC_SPEC_TYPE_ERROR:
    case XdrSCSpecType.SC_SPEC_TYPE_U32:
    case XdrSCSpecType.SC_SPEC_TYPE_I32:
    case XdrSCSpecType.SC_SPEC_TYPE_U64:
    case XdrSCSpecType.SC_SPEC_TYPE_I64:
    case XdrSCSpecType.SC_SPEC_TYPE_TIMEPOINT:
    case XdrSCSpecType.SC_SPEC_TYPE_DURATION:
    case XdrSCSpecType.SC_SPEC_TYPE_U128:
    case XdrSCSpecType.SC_SPEC_TYPE_I128:
    case XdrSCSpecType.SC_SPEC_TYPE_U256:
    case XdrSCSpecType.SC_SPEC_TYPE_I256:
    case XdrSCSpecType.SC_SPEC_TYPE_BYTES:
    case XdrSCSpecType.SC_SPEC_TYPE_STRING:
    case XdrSCSpecType.SC_SPEC_TYPE_SYMBOL:
    case XdrSCSpecType.SC_SPEC_TYPE_ADDRESS:
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_OPTION:
      decoded.option = XdrSCSpecTypeOption.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_RESULT:
      decoded.result = XdrSCSpecTypeResult.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_VEC:
      decoded.vec = XdrSCSpecTypeVec.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_MAP:
      decoded.map = XdrSCSpecTypeMap.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_TUPLE:
      decoded.tuple = XdrSCSpecTypeTuple.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_BYTES_N:
      decoded.bytesN = XdrSCSpecTypeBytesN.decode(stream);
      break;
    case XdrSCSpecType.SC_SPEC_TYPE_UDT:
      decoded.udt = XdrSCSpecTypeUDT.decode(stream);
      break;
  }
  return decoded;
}