anchor.diff:        new Map<String, FunctionSetNode>();
     FunctionSet(this.compiler);
   
  +  ClassWorld get classWorld => compiler.world;
  +
     FunctionSetNode newNode(String name)
         => new FunctionSetNode(name);
   
  
positive.code:     // If we cannot ensure a method will be found at runtime, we also
      // add [noSuchMethod] implementations that apply to [mask] as
      // potential targets.
      if (noSuchMethods != null
          && mask.needsNoSuchMethodHandling(selector, classWorld)) {
        FunctionSetQuery noSuchMethodQuery = noSuchMethods.query(
            Selectors.noSuchMethod_,
            mask,
            compiler,
            null);
        if (!noSuchMethodQuery.functions.isEmpty) {
          if (functions == null) {
            functions = new Setlet<Element>.from(noSuchMethodQuery.functions);
  
negative.code:       : this.selector = selector,
          this.mask = mask,
          this.hashCode =
              Hashing.mixHashCodeBits(selector.hashCode, mask.hashCode) {
      assert(mask != null);
    }
  
    String get name => selector.name;
  
    bool applies(Element element, ClassWorld classWorld) {
      if (!selector.appliesUnnamed(element, classWorld)) return false;
      return mask.canHit(element, selector, classWorld);
    }
  
    bool needsNoSuchMethodHandling(ClassWorld classWorld) {
      return mask.needsNoSuchMethodHandling(selector, classWorld);
    }
  
    bool operator ==(other) {
  