trackerString method

  1. @override
String? trackerString(
  1. TrackerField field
)
override

Returns a formatted String value associated with field in this object.

Implementation

@override
String? trackerString(TrackerField field) {
  switch (field.title) {
    case Axi5WChannelTracker.timeField:
      return Simulator.time.toString();
    case Axi5WChannelTracker.dataField:
      return data.isNotEmpty
          ? data.map((e) => e.data.toRadixString(16)).join(',')
          : '';
    case Axi5WChannelTracker.lastField:
      return data.isNotEmpty
          ? data.map((e) => e.last?.toString() ?? '1').join(',')
          : '';
    case Axi5WChannelTracker.strbField:
      return data.isNotEmpty
          ? data.map((e) => e.strb?.toRadixString(16) ?? 'N/A').join(',')
          : '';
    case Axi5WChannelTracker.poisonField:
      return data.isNotEmpty
          ? data.map((e) => e.poison?.toRadixString(16) ?? 'N/A').join(',')
          : '';
    case Axi5WChannelTracker.tagField:
      return tag?.tag?.toRadixString(16) ?? '';
    case Axi5WChannelTracker.tagUpdateField:
      return tag?.tagUpdate?.toRadixString(16) ?? '';
    case Axi5WChannelTracker.tagMatchField:
      return tag?.tagMatch?.toRadixString(16) ?? '';
    case Axi5WChannelTracker.compField:
      return tag?.comp?.toString() ?? '';
    case Axi5WChannelTracker.persistField:
      return tag?.persist?.toString() ?? '';
    case Axi5WChannelTracker.traceField:
      return debug?.trace?.toString() ?? '';
    case Axi5WChannelTracker.loopField:
      return debug?.loop?.toRadixString(16) ?? '';
    case Axi5WChannelTracker.userField:
      return user?.user?.toRadixString(16) ?? '';
    default:
      return '';
  }
}