anchor.diff:        }
       }
       return Future.wait(pending).then((_) {
  -      var matches = <Script>[];
  +      var matches = <Script>{};
         for (var lib in isolate.libraries) {
           for (var script in lib.scripts) {
  +          final String haystack = useUri ? script.uri : script.name;
             if (allowPrefix) {
  -            if (script.name.startsWith(name)) {
  +            if (haystack.startsWith(name)) {
                 matches.add(script);
               }
             } else {
  -            if (name == script.name) {
  +            if (name == haystack) {
                 matches.add(script);
               }
             }
  
positive.code:       if (scripts.isEmpty) {
          return [];
        }
        var script = scripts[0];
        await script.load();
        if (!lineStrComplete) {
          // Complete the line.
  
negative.code:     var match = sourceLocMatcher.firstMatch(locDesc);
      if (match != null) {
        return _parseScriptLine(debugger, match);
      }
      match = packageLocMatcher.firstMatch(locDesc);
      if (match != null) {
        return _parseScriptLine(debugger, match, package: true);
      }
      match = functionMatcher.firstMatch(locDesc);
      if (match != null) {
  