anchor.diff:    }
   
     if (JS('bool', r'# instanceof TypeError', ex)) {
  -    print('In TypeError.');
       var match;
       // Using JS to give type hints to the compiler to help tree-shaking.
       // TODO(ahe): That should be unnecessary due to type inference.
  
positive.code:   // detect specific errors, so check for this first.
    if (JS('bool', '"number" in #', ex)
        && JS('bool', 'typeof #.number == "number"', ex)) {
      print('In IE error number handler.');
      int number = JS('int', '#.number', ex);
  
      // From http://msdn.microsoft.com/en-us/library/ie/hc53e755(v=vs.94).aspx
  
negative.code:       if (thrownStackTrace == null) {
          JS('void', r'#.$thrownJsError = #', error, ex);
        }
      }
      return error;
    }
  
    // Note that we are checking if the object has the property. If it
    // has, it could be set to null if the thrown value is null.
    if (ex == null) return null;
    if (JS('bool', 'typeof # !== "object"', ex)) return ex;
  
    if (JS('bool', r'"dartException" in #', ex)) {
      return saveStackTrace(JS('', r'#.dartException', ex));
    } else if (!JS('bool', r'"message" in #', ex)) {
      return ex;
    }
  
  