anchor.diff:      // TODO(paulberry): handle cases where the property access is represented
       // as a PrefixedIdentifier.
       super.visitPropertyAccess(node);
  -    treeShaker.addSelector(new Selector.getter(node.propertyName.name, null));
  -  }
  -}
  +    analysis.invokes.add(new Selector.getter(node.propertyName.name, null));
  +  }
  +}
  
positive.code:       //   }
        // TODO(paulberry): for the moment we are assuming it's a toplevel
        // function.
        treeShaker.addElement(staticElement);
      } else if (staticElement is MultiplyDefinedElement) {
        // TODO(paulberry): do we have to deal with this case?
        throw new UnimplementedError();
  
negative.code:       // TODO(paulberry): Really we should enqueue the constructor, and then
        // when we visit it add the class to the class bucket.
        ClassElement classElement = staticElement.enclosingElement;
        analysis.instantiates.add(classElement);
      } else {
        // TODO(paulberry): deal with this situation.  This can happen, for
        // example, in the case "main() => new Unresolved();" (which is a
  