writeToStringBuffer method

void writeToStringBuffer(
  1. StringBuffer buffer
)

Implementation

void writeToStringBuffer(StringBuffer buffer) {
  var printedField = false;
  void printField(String name, dynamic value) {
    buffer
      ..writeln(printedField ? ',' : '')
      ..write('  ')
      ..write(name)
      ..write(': ')
      ..write(value);
    printedField = true;
  }

  buffer.write('StackTraceHeader(');
  if (_vmStart != null) {
    printField('vmStart', _vmStart!.toRadixString(16));
  }
  if (_isolateStart != null) {
    printField('isolateStart', _isolateStart!.toRadixString(16));
  }
  if (_isolateDsoBase != null) {
    printField('isolateDsoBase', _isolateDsoBase!.toRadixString(16));
  }
  if (_arch != null) {
    final b = StringBuffer();
    if (_simulated == true) {
      b.write('SIM');
    }
    b.write(_arch!.toUpperCase());
    if (_compressed == true) {
      b.write('C');
    }
    printField('arch', b.toString());
  } else {
    if (_simulated != null) {
      printField('simulated', _simulated);
    }
    if (_compressed != null) {
      printField('compressed', _compressed);
    }
  }
  if (_buildId != null) {
    printField('buildId', "'$_buildId'");
  }
  if (_units != null) {
    final b = StringBuffer();
    b.writeln('{');
    for (final unitId in _units!.keys) {
      b.write('    $unitId => ');
      _units![unitId]!.writeToStringBuffer(b);
      b.writeln(',');
    }
    b.write('}');
    printField('units', b.toString());
  }
  buffer.write(')');
}