parseLine method

LineCol parseLine (String text)

Implementation

static LineCol parseLine(String text) {
  var match;
  if (new RegExp("\\s*at ").hasMatch(text)) {
    // chrome syntax
    match = new RegExp("\\s*at [^(]+ \\((.*):(\\d+):(\\d+)\\)").firstMatch(text);
  } else if (new RegExp("@").hasMatch(text)){
    // safari syntax
    match = new RegExp("\\s*[^@]+\\@(.*):(\\d+):(\\d+)").firstMatch(text);
  } else {
    // stack_trace package syntax
    match = new RegExp("(.*)\\s+(\\d+):(\\d+)\\s+.*").firstMatch(text);
  }
  if (match == null) {
    return null;
  }

  var line = int.parse(match[2] as String);
  var column = int.parse(match[3] as String);
  return new LineCol(line, column);
}