anchor.diff:        method.parameters.any((p) => isPotentiallyNonNullable(p.type));
   }
   
  +extension on int {
  +  String get ordinal {
  +    final remainder = this % 10;
  +    switch (remainder) {
  +      case (1):
  +        return '${this}st';
  +      case (2):
  +        return '${this}nd';
  +      case (3):
  +        return '${this}rd';
  +      default:
  +        return '${this}th';
  +    }
  +  }
  +}
  +
   bool _needsOverrideForVoidStub(ExecutableElement method) =>
       method.returnType.isVoid || method.returnType.isFutureOfVoid;
  
positive.code:     }
      final customMocksField = generateMocksValue.getField('customMocks');
      if (customMocksField != null && !customMocksField.isNull) {
        mockTargets.addAll(customMocksField
            .toListValue()!
            .map((mockSpec) => _mockTargetFromMockSpec(mockSpec, entryLib)));
      }
      return mockTargets;
    }
  
    static _MockTarget _mockTargetFromMockSpec(
        DartObject mockSpec, LibraryElement entryLib,
        {bool nice = false}) {
      final mockSpecType = mockSpec.type as analyzer.InterfaceType;
      assert(mockSpecType.typeArguments.length == 1);
      final typeToMock = mockSpecType.typeArguments.single;
      if (typeToMock.isDynamic) {
        throw InvalidMockitoAnnotationException(
            'Mockito cannot mock `dynamic`; be sure to declare type '
            'arguments on MockSpec(), in @GenerateMocks.');
      }
      var type = _determineDartType(typeToMock, entryLib.typeProvider);
  
  
negative.code:       throw InvalidMockitoAnnotationException(
            'The GenerateNiceMocks "mockSpecs" argument is missing');
      }
      return mockSpecsField.toListValue()!.mapIndexed((index, mockSpec) =>
          _mockTargetFromMockSpec(mockSpec, entryLib, index, nice: true));
    }
  
    static Map<String, ExecutableElement> _extractFallbackGenerators(
  