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;
}
}