anchor.diff:        constantInterceptor = backend.jsStringClass;
       } else if (input.isArray(compiler)) {
         constantInterceptor = backend.jsArrayClass;
  -    } else if (input.isNumber(compiler)
  -        && !interceptedClasses.contains(backend.jsIntClass)
  -        && !interceptedClasses.contains(backend.jsDoubleClass)) {
  +    } else if (input.isNumber(compiler) &&
  +        !interceptedClasses.contains(backend.jsIntClass) &&
  +        !interceptedClasses.contains(backend.jsDoubleClass)) {
         // If the method being intercepted is not defined in [int] or [double] we
         // can safely use the number interceptor.  This is because none of the
         // [int] or [double] methods are called from a method defined on [num].
  
positive.code: 
        // If we found that we need number, we must still go through all
        // uses to check if they require int, or double.
        if (interceptedClasses.contains(backend.jsNumberClass)
            && !(interceptedClasses.contains(backend.jsDoubleClass)
                 || interceptedClasses.contains(backend.jsIntClass))) {
          for (HInstruction user in node.usedBy) {
            if (user is! HInvoke) continue;
            Set<ClassElement> intercepted =
  
negative.code:     return false;
    }
  
    bool canUseSelfForInterceptor(HInstruction receiver,
                                  Set<ClassElement> interceptedClasses) {
      JavaScriptBackend backend = compiler.backend;
      if (receiver.canBePrimitive(compiler)) {
        // Primitives always need interceptors.
        return false;
      }
      if (receiver.canBeNull() &&
          interceptedClasses.contains(backend.jsNullClass)) {
        // Need the JSNull interceptor.
        return false;
      }
  
      // All intercepted classes extend `Interceptor`, so if the receiver can't be
      // a class extending `Interceptor` then it can be called directly.
      return new TypeMask.nonNullSubclass(backend.jsInterceptorClass)
          .intersection(receiver.instructionType, compiler)
          .isEmpty;
    }
  
    HInstruction tryComputeConstantInterceptor(
  