anchor.diff:      node = super.visitMethodInvocation(node);
   
       Member target = node.interfaceTarget;
  -    if ((target != null) && (target is! Field)) {
  +    if ((target != null) &&
  +        (target is! Field) &&
  +        !_objectMemberNames.contains(target.name)) {
         Member singleTarget =
             _hierarchy.getSingleTargetForInterfaceInvocation(target);
         if ((singleTarget is Procedure) && !singleTarget.isGetter) {
  
positive.code:   /// Toggles tracing (useful for debugging).
    static const _trace = const bool.fromEnvironment('trace.devirtualization');
  
    ClosedWorldClassHierarchy _hierarchy;
  
    _DevirtualizationTransformer(Program program)
        : _hierarchy = new ClosedWorldClassHierarchy(program) {}
  
    @override
    TreeNode visitLibrary(Library node) {
  
negative.code:     node = super.visitPropertyGet(node);
  
      Member target = node.interfaceTarget;
      if ((target != null) && !_objectMemberNames.contains(target.name)) {
        Member singleTarget =
            _hierarchy.getSingleTargetForInterfaceInvocation(target);
        if (singleTarget != null) {
  