anchor.diff:    /// Emits the section that installs tear-off getters.
     js.Statement emitInstallTearOffs(Fragment fragment) {
       List<js.Statement> inits = <js.Statement>[];
  +    js.Expression temp;
   
       for (Library library in fragment.libraries) {
         for (StaticMethod method in library.statics) {
  
positive.code:         }
        }
        for (Class cls in library.classes) {
          for (InstanceMethod method in cls.methods) {
            if (method.needsTearOff) {
              js.Expression container = js.js("#.prototype", classReference(cls));
              inits.add(emitInstallTearOff(container, method));
            }
          }
        }
      }
  
negative.code:         {
            "container": container,
            "getterName": js.quoteName(method.tearOffName),
            // 'Truthy' values are ok for `isStatic` and `isIntercepted`.
            "isStatic": js.number(method.isStatic ? 1 : 0),
            "isIntercepted": js.number(isIntercepted ? 1 : 0),
            "requiredParameterCount": js.number(requiredParameterCount),
            "optionalParameterDefaultValues": optionalParameterDefaultValues,
            "callNames": callNameArray,
  