anchor.diff:                function.typeParameters[j].isGenericCovariantImpl = true);
           }
         }
  +    }
  +
  +    if (debugCovariance && fixes.isNotEmpty) {
  +      print('  ${fixes.length} fix(es)');
       }
     }
   
  
positive.code: import 'package:front_end/src/fasta/type_inference/type_inferrer.dart';
  import 'package:kernel/ast.dart';
  import 'package:kernel/class_hierarchy.dart';
  import 'package:kernel/type_algebra.dart';
  import 'package:kernel/type_environment.dart';
  
  /// Type of a closure which applies a covariance annotation to a class member.
  ///
  
negative.code:         fileUri: enclosingClass.fileUri)
        ..fileOffset = enclosingClass.fileOffset
        ..parent = enclosingClass;
    }
  
    /// Returns a string describing the signature of [procedure], along with the
    /// class it's in.
    ///
    /// Only used if [debugCovariance] is `true`.
    ///
    /// If [class_] is provided, it is used instead of [procedure]'s enclosing
    /// class.
    String _printProcedure(Procedure procedure, [Class class_]) {
      class_ ??= procedure.enclosingClass;
      var buffer = new StringBuffer();
      procedure.accept(new Printer(buffer));
      var text = buffer.toString();
      var newlineIndex = text.indexOf('\n');
      if (newlineIndex != -1) {
        text = text.substring(0, newlineIndex);
      }
      return '$class_: $text';
    }
  
    /// Determines which inherited member this node resolves to.
  