@@ -316,6 +316,19 @@ class MessageGenerator extends ProtobufContainer {
316316 NamedLocation (
317317 name: classname, fieldPathSegment: fieldPath, start: 'class ' .length)
318318 ], () {
319+ out.println ('factory $classname () => create();' );
320+ out.printlnAnnotated ('$classname ._() : super();' , [
321+ NamedLocation (name: classname, fieldPathSegment: fieldPath, start: 0 )
322+ ]);
323+ out.println (
324+ 'factory $classname .fromBuffer($coreImportPrefix .List<$coreImportPrefix .int> i,'
325+ ' [$protobufImportPrefix .ExtensionRegistry r = $protobufImportPrefix .ExtensionRegistry.EMPTY])'
326+ ' => create()..mergeFromBuffer(i, r);' );
327+ out.println ('factory $classname .fromJson($coreImportPrefix .String i,'
328+ ' [$protobufImportPrefix .ExtensionRegistry r = $protobufImportPrefix .ExtensionRegistry.EMPTY])'
329+ ' => create()..mergeFromJson(i, r);' );
330+
331+ out.println ();
319332 for (var oneof in _oneofNames) {
320333 out.addBlock (
321334 'static const $coreImportPrefix .Map<$coreImportPrefix .int, ${oneof .oneofEnumName }> ${oneof .byTagMapName } = {' ,
@@ -364,20 +377,6 @@ class MessageGenerator extends ProtobufContainer {
364377 }
365378
366379 out.println ();
367-
368- out.printlnAnnotated ('$classname ._() : super();' , [
369- NamedLocation (name: classname, fieldPathSegment: fieldPath, start: 0 )
370- ]);
371- out.println ('factory $classname () => create();' );
372- out.println (
373- 'factory $classname .fromBuffer($coreImportPrefix .List<$coreImportPrefix .int> i,'
374- ' [$protobufImportPrefix .ExtensionRegistry r = $protobufImportPrefix .ExtensionRegistry.EMPTY])'
375- ' => create()..mergeFromBuffer(i, r);' );
376- out.println ('factory $classname .fromJson($coreImportPrefix .String i,'
377- ' [$protobufImportPrefix .ExtensionRegistry r = $protobufImportPrefix .ExtensionRegistry.EMPTY])'
378- ' => create()..mergeFromJson(i, r);' );
379-
380- out.println ('' );
381380 out.println ('''@$coreImportPrefix .Deprecated(
382381'Using this can add significant overhead to your binary. '
383382'Use [GeneratedMessageGenericExtensions.deepCopy] instead. '
0 commit comments