encode method Null safety

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

Implementation

static void encode(
    XdrDataOutputStream stream, XdrInvokeHostFunctionResult encoded) {
  stream.writeInt(encoded.discriminant.value);
  switch (encoded.discriminant) {
    case XdrInvokeHostFunctionResultCode.INVOKE_HOST_FUNCTION_SUCCESS:
      int successSize = encoded.success!.length;
      stream.writeInt(successSize);
      for (int i = 0; i < successSize; i++) {
        XdrSCVal.encode(stream, encoded.success![i]);
      }
      break;
    case XdrInvokeHostFunctionResultCode.INVOKE_HOST_FUNCTION_MALFORMED:
    case XdrInvokeHostFunctionResultCode.INVOKE_HOST_FUNCTION_TRAPPED:
    case XdrInvokeHostFunctionResultCode.INVOKE_HOST_FUNCTION_RESOURCE_LIMIT_EXCEEDED:
      break;
    default:
      break;
  }
}