anchor.diff:      emitNewline();
     }
   
  -  void emitMethod(
  -      String name, int index, List<DartType> method, bool isFfiMethod) {
  -    final type = method[0].name;
  -    final methodName = '$name${isFfiMethod ? "Ffi" : ''}$index';
  -    if (isFfiMethod) {
  -      emitFfiTypedef("${name}Ffi${index}Type", method);
  -    }
  -    emitLn('$type $methodName', newline: false);
  -    emitParenWrapped(() => emitParDecls(method));
  -    if (!isFfiMethod && rollDice(10)) {
  -      // Emit a method using "=>" syntax.
  -      emit(' => ');
  -      emitExpr(0, method[0], includeSemicolon: true);
  -    } else {
  -      emitBraceWrapped(() {
  -        assert(localVars.isEmpty);
  -        if (emitStatements(0)) {
  -          emitReturn();
  -        }
  -        assert(localVars.isEmpty);
  -      });
  -    }
  -    if (isFfiMethod) {
  -      emitFfiCast("${name}${index}", "${name}Ffi${index}",
  -          "${name}Ffi${index}Type", method);
  -    }
  -    emitNewline();
  -    emitNewline();
  -  }
  -
  -  void emitMethods(String name, List<List<DartType>> methods,
  -      [List<bool> ffiStatus]) {
  +  void emitMethods(List<Method> methods) {
       for (int i = 0; i < methods.length; i++) {
  -      List<DartType> method = methods[i];
  +      Method method = methods[i];
         currentMethod = i;
  -      final bool isFfiMethod = ffiStatus != null && ffiStatus[i];
  -      emitMethod(name, i, method, isFfiMethod);
  +      methods[i].emit();
         currentMethod = null;
       }
     }
  
positive.code:     }
    }
  
    void emitFfiTypedef(String typeName, List<DartType> pars) {
      emit("typedef ${typeName} = ");
      emitFfiType(pars[0]);
      emit(' Function');
      emitParenWrapped(
  
negative.code:         for (int i = 0; i < globalMethods.length; i++) {
            final outputName = '$methodName$i';
            emitTryCatchFinally(() {
              globalMethods[i].emitCall(1, includeSemicolon: true);
            }, () {
              emitPrint('$outputName() throws');
            });
  