encode method Null safety

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

Implementation

static void encode(XdrDataOutputStream stream, XdrHostFunction encoded) {
  stream.writeInt(encoded.discriminant.value);
  switch (encoded.discriminant) {
    case XdrHostFunctionType.HOST_FUNCTION_TYPE_INVOKE_CONTRACT:
      int vecSize = encoded.invokeArgs!.length;
      stream.writeInt(vecSize);
      for (int i = 0; i < vecSize; i++) {
        XdrSCVal.encode(stream, encoded.invokeArgs![i]);
      }
      break;
    case XdrHostFunctionType.HOST_FUNCTION_TYPE_CREATE_CONTRACT:
      XdrCreateContractArgs.encode(stream, encoded.createContractArgs!);
      break;
    case XdrHostFunctionType.HOST_FUNCTION_TYPE_INSTALL_CONTRACT_CODE:
      XdrInstallContractCodeArgs.encode(
          stream, encoded.installContractCodeArgs!);
      break;
  }
}