anchor.diff:        if (scripts.isEmpty) {
           return [];
         }
  -      var script = scripts[0];
  +      var script = scripts.first;
         await script.load();
         if (!lineStrComplete) {
           // Complete the line.
  
positive.code:   }
  
    static Future<DebuggerLocation> _parseScriptLine(
        Debugger debugger, Match match) async {
      var scriptName = match.group(1);
      if (scriptName != null) {
        scriptName = scriptName.substring(0, scriptName.length - 1);
      }
  
negative.code:   DebuggerLocation.error(this.errorMessage);
  
    static RegExp sourceLocMatcher = new RegExp(r'^([^\d:][^:]+:)?(\d+)(:\d+)?');
    static RegExp packageLocMatcher =
        new RegExp(r'^package:([^\d:][^:]+:)?(\d+)(:\d+)?');
    static RegExp functionMatcher = new RegExp(r'^([^.]+)([.][^.]+)?');
  
    /// Parses a source location description.
    ///
    /// Formats:
    ///   ''                     -  current position
    ///   13                     -  line 13, current script
    ///   13:20                  -  line 13, col 20, current script
    ///   script.dart:13         -  line 13, script.dart
    ///   script.dart:13:20      -  line 13, col 20, script.dart
    ///   package:a/b.dart:13    -  line 13, "b.dart" in package "a".
    ///   package:a/b.dart:13:20 -  line 13, col 20, "b.dart" in package "a".
    ///   main                   -  function
    ///   FormatException        -  constructor
    ///   _SHA1._updateHash      -  method
    static Future<DebuggerLocation> parse(Debugger debugger, String locDesc) {
      if (locDesc == '') {
        // Special case: '' means return current location.
  