anchor.diff:      fuzzer.emitNewline();
     }
   
  -  void emitCall(int depth,
  -      {RhsFilter rhsFilter,
  -      bool includeSemicolon = false,
  -      bool extensionApplication = false}) {
  +  String emitCall(int depth,
  +      {RhsFilter rhsFilter, bool includeSemicolon = false}) {
       String outputName = name;
       fuzzer.emitLn(outputName, newline: false);
       fuzzer.emitExprList(depth + 1, parameters, rhsFilter: rhsFilter);
       if (includeSemicolon) {
         fuzzer.emit(';');
       }
  +    return outputName;
     }
   
     // Main emitter for a method.
  
positive.code:       {RhsFilter rhsFilter}) {
      for (int i = m - 1; i >= 0; i--) {
        if (tp == methods[i].returnType) {
          bool extensionApplication = methods[i] is ExtensionMethod && coinFlip();
          methods[i].emitCall(depth + 1,
              rhsFilter: rhsFilter, extensionApplication: extensionApplication);
          return true;
        }
      }
  
negative.code: 
          // Call each global method once.
          for (int i = 0; i < globalMethods.length; i++) {
            String outputName;
            emitTryCatchFinally(
                () => outputName =
                    globalMethods[i].emitCall(1, includeSemicolon: true),
                () => emitPrint('$outputName() throws'));
            emitNewline();
          }
  
          // Call each class method once.
          for (int i = 0; i < classMethods.length; i++) {
            for (int j = 0; j < classMethods[i].length; j++) {
              String outputName;
              emitNewline();
              emitTryCatchFinally(
                  () => outputName =
                      classMethods[i][j].emitCall(1, includeSemicolon: true),
                  () => emitPrint('${outputName} throws'));
            }
            // Call each virtual class method once.
            int parentClass = classParents[i];
  