anchor.diff:      }
   
       if (name == null ||
  -        identical(interceptor,
  -            JS_INTERCEPTOR_CONSTANT(UnknownJavaScriptObject)) ||
  -        identical(interceptor, JS_INTERCEPTOR_CONSTANT(Interceptor))) {
  +        identical(interceptor, JS_INTERCEPTOR_CONSTANT(Interceptor)) ||
  +        object is UnknownJavaScriptObject) {
         // Try to do better.  If we do not find something better, leave the name
         // as 'UnknownJavaScriptObject' or 'Interceptor' (or the minified name).
         //
  
positive.code:   /// Returns the type of [object] as a string (including type arguments).
    ///
    /// In minified mode, uses the unminified names if available.
    static String objectTypeName(Object object) {
      return formatType(_objectRawTypeName(object), getRuntimeTypeInfo(object));
    }
  
negative.code:             name = decompiledName;
            }
          }
          if (name == null) name = dispatchName;
        } else {
          name = dispatchName;
        }
      }
  
      // Type inference does not understand that [name] is now always a non-null
      // String. (There is some imprecision in the negation of the disjunction.)
      name = JS('String', '#', name);
  
      // TODO(kasperl): If the namer gave us a fresh global name, we may
      // want to remove the numeric suffix that makes it unique too.
  