diff --git a/packages/freezed/lib/src/templates/copy_with.dart b/packages/freezed/lib/src/templates/copy_with.dart index c1af5f15..3306ef79 100644 --- a/packages/freezed/lib/src/templates/copy_with.dart +++ b/packages/freezed/lib/src/templates/copy_with.dart @@ -61,12 +61,16 @@ ${_abstractDeepCopyMethods().join()} String get abstractCopyWithGetter { if (cloneableProperties.isEmpty) return ''; - return ''' + return _maybeOverride( + doc: ''' /// Create a copy of ${data.name} /// with the given fields replaced by the non-null parameter values. -${_hasSuperClass ? '@override\n' : ''}@JsonKey(ignore: true) +''', + ''' +@JsonKey(ignore: true) $_abstractClassName${genericsParameter.append('$clonedClassName$genericsParameter')} get copyWith => throw $privConstUsedErrorVarName; -'''; +''', + ); } String get concreteCopyWithGetter { @@ -361,8 +365,11 @@ $returnType get ${cloneableProperty.name} { return '$name${cloneableProperty.genericParameters.append('\$Res')}'; } - String _maybeOverride(String res) { - return _hasSuperClass ? '@override $res' : res; + String _maybeOverride( + String res, { + String doc = '', + }) { + return _hasSuperClass ? '$doc@override $res' : '$doc$res'; } String get _abstractClassName => interfaceNameFrom(clonedClassName);