decode method Null safety

XdrLedgerEntryData decode(
  1. XdrDataInputStream stream
)

Implementation

static XdrLedgerEntryData decode(XdrDataInputStream stream) {
  XdrLedgerEntryData decodedLedgerEntryData =
      XdrLedgerEntryData(XdrLedgerEntryType.decode(stream));
  switch (decodedLedgerEntryData.discriminant) {
    case XdrLedgerEntryType.ACCOUNT:
      decodedLedgerEntryData.account = XdrAccountEntry.decode(stream);
      break;
    case XdrLedgerEntryType.TRUSTLINE:
      decodedLedgerEntryData.trustLine = XdrTrustLineEntry.decode(stream);
      break;
    case XdrLedgerEntryType.OFFER:
      decodedLedgerEntryData.offer = XdrOfferEntry.decode(stream);
      break;
    case XdrLedgerEntryType.DATA:
      decodedLedgerEntryData.data = XdrDataValue.decode(stream);
      break;
    case XdrLedgerEntryType.CLAIMABLE_BALANCE:
      decodedLedgerEntryData.claimableBalance =
          XdrClaimableBalanceEntry.decode(stream);
      break;
    case XdrLedgerEntryType.LIQUIDITY_POOL:
      decodedLedgerEntryData.liquidityPool =
          XdrLiquidityPoolEntry.decode(stream);
      break;
    case XdrLedgerEntryType.CONTRACT_DATA:
      decodedLedgerEntryData.contractData =
          XdrContractDataEntry.decode(stream);
      break;
    case XdrLedgerEntryType.CONTRACT_CODE:
      decodedLedgerEntryData.contractCode =
          XdrContractCodeEntry.decode(stream);
      break;
    case XdrLedgerEntryType.CONFIG_SETTING:
      decodedLedgerEntryData.configSetting =
          XdrConfigSettingEntry.decode(stream);
      break;
  }
  return decodedLedgerEntryData;
}