encode method Null safety

void encode(
  1. XdrDataOutputStream stream,
  2. XdrSCStatus encoded
)

Implementation

static void encode(XdrDataOutputStream stream, XdrSCStatus encoded) {
  stream.writeInt(encoded.discriminant.value);
  switch (encoded.discriminant) {
    case XdrSCStatusType.SST_OK:
      break;
    case XdrSCStatusType.SST_UNKNOWN_ERROR:
      XdrSCUnknownErrorCode.encode(stream, encoded.unknownCode!);
      break;
    case XdrSCStatusType.SST_HOST_VALUE_ERROR:
      XdrSCHostValErrorCode.encode(stream, encoded.valCode!);
      break;
    case XdrSCStatusType.SST_HOST_OBJECT_ERROR:
      XdrSCHostObjErrorCode.encode(stream, encoded.objCode!);
      break;
    case XdrSCStatusType.SST_HOST_FUNCTION_ERROR:
      XdrSCHostFnErrorCode.encode(stream, encoded.fnCode!);
      break;
    case XdrSCStatusType.SST_HOST_STORAGE_ERROR:
      XdrSCHostStorageErrorCode.encode(stream, encoded.storageCode!);
      break;
    case XdrSCStatusType.SST_HOST_CONTEXT_ERROR:
      XdrSCHostStorageErrorCode.encode(stream, encoded.storageCode!);
      break;
    case XdrSCStatusType.SST_HOST_CONTEXT_ERROR:
      XdrSCHostContextErrorCode.encode(stream, encoded.contextCode!);
      break;
    case XdrSCStatusType.SST_VM_ERROR:
      XdrSCVmErrorCode.encode(stream, encoded.vmCode!);
      break;
    case XdrSCStatusType.SST_CONTRACT_ERROR:
      XdrUint32.encode(stream, encoded.contractCode!);
      break;
    case XdrSCStatusType.SST_HOST_AUTH_ERROR:
      XdrSCHostAuthErrorCode.encode(stream, encoded.authCode!);
      break;
  }
}