debugLogBreakpoints static method

String debugLogBreakpoints(
  1. List<Breakpoint>? breakpoints
)

Print a visual view of breakpoints for debugging purposes.

Implementation

static String debugLogBreakpoints(List<Breakpoint>? breakpoints) {
  if (breakpoints == null || breakpoints.isEmpty) return '| Empty |';
  List<Breakpoint> breakpointsHolder = List.from(breakpoints);
  breakpointsHolder.sort(breakpointComparator);

  var stringBuffer = StringBuffer();
  stringBuffer.write('| ');
  for (int i = 0; i < breakpointsHolder.length; i++) {
    // Convenience variable.
    Breakpoint breakpoint = breakpointsHolder[i];
    stringBuffer.write(breakpoint.start);
    stringBuffer.write(' ----- ');
    List<dynamic> attributes = [];
    String? name = breakpoint.name;
    if (name != null) attributes.add(name);
    if (attributes.isNotEmpty) {
      stringBuffer.write('(');
      for (int i = 0; i < attributes.length; i++) {
        stringBuffer.write(attributes[i]);
        if (i != attributes.length - 1) stringBuffer.write(',');
      }
      stringBuffer.write(')');
      stringBuffer.write(' ----- ');
    }
    if (breakpoint.end == double.infinity) {
      stringBuffer.write('∞');
    } else {
      stringBuffer.write(breakpoint.end);
    }
    if (i != breakpoints.length - 1) {
      stringBuffer.write(' ----- ');
    }
  }
  stringBuffer.write(' |');
  debugPrint(stringBuffer.toString());
  return stringBuffer.toString();
}