@@ -207,13 +207,13 @@ private void generateEncoder(
207207 generateAnnotations (indent , className , groups , out , 0 , this ::encoderName );
208208 out .append (generateDeclaration (className , implementsString , msgToken ));
209209 out .append (generateEncoderFlyweightCode (className , msgToken ));
210- out .append (generateEncoderFields (className , fields , indent ));
211210
212211 final StringBuilder sb = new StringBuilder ();
212+ generateEncoderFields (sb , className , fields , indent );
213213 generateEncoderGroups (sb , className , groups , indent , false );
214- out . append (sb );
214+ generateEncoderVarData (sb , className , varData , indent );
215215
216- out .append (generateEncoderVarData ( className , varData , indent ) );
216+ out .append (sb );
217217
218218 out .append (generateEncoderDisplay (formatClassName (decoderName (msgToken .name ())), indent ));
219219
@@ -238,14 +238,13 @@ private void generateDecoder(
238238 generateAnnotations (indent , className , groups , out , 0 , this ::decoderName );
239239 out .append (generateDeclaration (className , implementsString , msgToken ));
240240 out .append (generateDecoderFlyweightCode (className , msgToken ));
241- out .append (generateDecoderFields (fields , indent ));
242241
243242 final StringBuilder sb = new StringBuilder ();
243+ generateDecoderFields (sb , fields , indent );
244244 generateDecoderGroups (sb , className , groups , indent , false );
245+ generateDecoderVarData (sb , varData , indent );
245246 out .append (sb );
246247
247- out .append (generateDecoderVarData (varData , indent ));
248-
249248 out .append (generateDecoderDisplay (msgToken .name (), fields , groups , varData , indent ));
250249
251250 out .append ("}\n " );
@@ -283,13 +282,13 @@ private void generateDecoderGroups(
283282 final List <Token > varData = new ArrayList <>();
284283 i = collectVarData (tokens , i , varData );
285284
286- sb . append ( generateGroupDecoderProperty (groupName , groupToken , indent , isSubGroup ) );
285+ generateGroupDecoderProperty (sb , groupName , groupToken , indent , isSubGroup );
287286 generateAnnotations (indent + INDENT , groupName , tokens , sb , groupIndex + 1 , this ::decoderName );
288287 generateGroupDecoderClassHeader (sb , groupName , outerClassName , tokens , groups , groupIndex , indent + INDENT );
289288
290- sb . append ( generateDecoderFields (fields , indent + INDENT ) );
289+ generateDecoderFields (sb , fields , indent + INDENT );
291290 generateDecoderGroups (sb , outerClassName , groups , indent + INDENT , true );
292- sb . append ( generateDecoderVarData (varData , indent + INDENT ) );
291+ generateDecoderVarData (sb , varData , indent + INDENT );
293292
294293 appendGroupInstanceDecoderDisplay (sb , fields , groups , varData , indent + INDENT );
295294
@@ -329,13 +328,13 @@ private void generateEncoderGroups(
329328 final List <Token > varData = new ArrayList <>();
330329 i = collectVarData (tokens , i , varData );
331330
332- sb . append ( generateGroupEncoderProperty (groupName , groupToken , indent , isSubGroup ) );
331+ generateGroupEncoderProperty (sb , groupName , groupToken , indent , isSubGroup );
333332 generateAnnotations (indent + INDENT , groupClassName , tokens , sb , groupIndex + 1 , this ::encoderName );
334333 generateGroupEncoderClassHeader (sb , groupName , outerClassName , tokens , groups , groupIndex , indent + INDENT );
335334
336- sb . append ( generateEncoderFields (groupClassName , fields , indent + INDENT ) );
335+ generateEncoderFields (sb , groupClassName , fields , indent + INDENT );
337336 generateEncoderGroups (sb , outerClassName , groups , indent + INDENT , true );
338- sb . append ( generateEncoderVarData (groupClassName , varData , indent + INDENT ) );
337+ generateEncoderVarData (sb , groupClassName , varData , indent + INDENT );
339338
340339 sb .append (indent ).append (" }\n " );
341340 }
@@ -549,19 +548,18 @@ private void generateGroupDecoderClassDeclaration(
549548 {
550549 final String className = formatClassName (groupName );
551550
551+ generateTypeJavadoc (sb , indent , groupToken );
552552 sb .append (String .format ("\n " +
553- "%1$s" +
554- indent + "public static class %2$s\n " +
555- indent + " implements Iterable<%2$s>, java.util.Iterator<%2$s>\n " +
553+ indent + "public static class %1$s\n " +
554+ indent + " implements Iterable<%1$s>, java.util.Iterator<%1$s>\n " +
556555 indent + "{\n " +
557- indent + " public static final int HEADER_SIZE = %3 $d;\n " +
558- indent + " private final %4 $s parentMessage;\n " +
559- indent + " private %5 $s buffer;\n " +
556+ indent + " public static final int HEADER_SIZE = %2 $d;\n " +
557+ indent + " private final %3 $s parentMessage;\n " +
558+ indent + " private %4 $s buffer;\n " +
560559 indent + " private int count;\n " +
561560 indent + " private int index;\n " +
562561 indent + " private int offset;\n " +
563562 indent + " private int blockLength;\n " ,
564- generateTypeJavadoc (indent , groupToken ),
565563 className ,
566564 dimensionHeaderSize ,
567565 parentMessageClassName ,
@@ -604,17 +602,16 @@ private void generateGroupEncoderClassDeclaration(
604602 {
605603 final String className = formatClassName (encoderName (groupName ));
606604
605+ generateTypeJavadoc (sb , indent , groupToken );
607606 sb .append (String .format ("\n " +
608- "%1$s" +
609- indent + "public static class %2$s\n " +
607+ indent + "public static class %1$s\n " +
610608 indent + "{\n " +
611- indent + " public static final int HEADER_SIZE = %3 $d;\n " +
612- indent + " private final %4 $s parentMessage;\n " +
613- indent + " private %5 $s buffer;\n " +
609+ indent + " public static final int HEADER_SIZE = %2 $d;\n " +
610+ indent + " private final %3 $s parentMessage;\n " +
611+ indent + " private %4 $s buffer;\n " +
614612 indent + " private int count;\n " +
615613 indent + " private int index;\n " +
616614 indent + " private int offset;\n " ,
617- generateTypeJavadoc (indent , groupToken ),
618615 className ,
619616 dimensionHeaderSize ,
620617 parentMessageClassName ,
@@ -646,10 +643,13 @@ private void generateGroupEncoderClassDeclaration(
646643 sb .append (indent ).append (" }\n \n " );
647644 }
648645
649- private static CharSequence generateGroupDecoderProperty (
650- final String groupName , final Token token , final String indent , final boolean isSubGroup )
646+ private static void generateGroupDecoderProperty (
647+ final StringBuilder sb ,
648+ final String groupName ,
649+ final Token token ,
650+ final String indent ,
651+ final boolean isSubGroup )
651652 {
652- final StringBuilder sb = new StringBuilder ();
653653 final String className = formatClassName (groupName );
654654 final String propertyName = formatPropertyName (token .name ());
655655
@@ -699,14 +699,15 @@ private static CharSequence generateGroupDecoderProperty(
699699 className ,
700700 propertyName ,
701701 actingVersionGuard ));
702-
703- return sb ;
704702 }
705703
706- private CharSequence generateGroupEncoderProperty (
707- final String groupName , final Token token , final String indent , final boolean isSubGroup )
704+ private void generateGroupEncoderProperty (
705+ final StringBuilder sb ,
706+ final String groupName ,
707+ final Token token ,
708+ final String indent ,
709+ final boolean isSubGroup )
708710 {
709- final StringBuilder sb = new StringBuilder ();
710711 final String className = formatClassName (encoderName (groupName ));
711712 final String propertyName = formatPropertyName (groupName );
712713
@@ -737,14 +738,11 @@ private CharSequence generateGroupEncoderProperty(
737738 generateGroupEncodePropertyJavadoc (indent + INDENT , token , className ),
738739 className ,
739740 propertyName ));
740-
741- return sb ;
742741 }
743742
744- private CharSequence generateDecoderVarData (final List <Token > tokens , final String indent )
743+ private void generateDecoderVarData (
744+ final StringBuilder sb , final List <Token > tokens , final String indent )
745745 {
746- final StringBuilder sb = new StringBuilder ();
747-
748746 for (int i = 0 , size = tokens .size (); i < size ;)
749747 {
750748 final Token token = tokens .get (i );
@@ -791,14 +789,11 @@ private CharSequence generateDecoderVarData(final List<Token> tokens, final Stri
791789
792790 i += token .componentTokenCount ();
793791 }
794-
795- return sb ;
796792 }
797793
798- private CharSequence generateEncoderVarData (final String className , final List <Token > tokens , final String indent )
794+ private void generateEncoderVarData (
795+ final StringBuilder sb , final String className , final List <Token > tokens , final String indent )
799796 {
800- final StringBuilder sb = new StringBuilder ();
801-
802797 for (int i = 0 , size = tokens .size (); i < size ;)
803798 {
804799 final Token token = tokens .get (i );
@@ -841,8 +836,6 @@ private CharSequence generateEncoderVarData(final String className, final List<T
841836
842837 i += token .componentTokenCount ();
843838 }
844-
845- return sb ;
846839 }
847840
848841 private void generateDataDecodeMethods (
@@ -1453,7 +1446,7 @@ private CharSequence generateEnumValues(final List<Token> tokens)
14531446 {
14541447 final Encoding encoding = token .encoding ();
14551448 final CharSequence constVal = generateLiteral (encoding .primitiveType (), encoding .constValue ().toString ());
1456- sb . append ( generateTypeJavadoc (INDENT , token ) );
1449+ generateTypeJavadoc (sb , INDENT , token );
14571450 sb .append (INDENT ).append (token .name ()).append ('(' ).append (constVal ).append ("),\n \n " );
14581451 }
14591452
@@ -1644,14 +1637,14 @@ else if (tokens.get(index).signal() == Signal.END_GROUP && --level < 0)
16441637 private static CharSequence generateDeclaration (
16451638 final String className , final String implementsString , final Token typeToken )
16461639 {
1647- return String . format (
1648- "%s" +
1649- "@SuppressWarnings( \" all \" ) \n " +
1650- "public class %s%s \n " +
1651- "{ \n " ,
1652- generateTypeJavadoc ( BASE_INDENT , typeToken ),
1653- className ,
1654- implementsString );
1640+ final StringBuilder sb = new StringBuilder ();
1641+
1642+ generateTypeJavadoc ( sb , BASE_INDENT , typeToken );
1643+ sb . append ( "@SuppressWarnings( \" all \" ) \n " )
1644+ . append ( "public class " ). append ( className ). append ( implementsString ). append ( '\n' )
1645+ . append ( "{ \n " );
1646+
1647+ return sb . toString ( );
16551648 }
16561649
16571650 private void generatePackageInfo () throws IOException
@@ -1703,9 +1696,12 @@ private void generateMetaAttributeEnum() throws IOException
17031696
17041697 private static CharSequence generateEnumDeclaration (final String name , final Token typeToken )
17051698 {
1706- return
1707- generateTypeJavadoc (BASE_INDENT , typeToken ) +
1708- "public enum " + name + "\n {\n " ;
1699+ final StringBuilder sb = new StringBuilder ();
1700+
1701+ generateTypeJavadoc (sb , BASE_INDENT , typeToken );
1702+ sb .append ("public enum " ).append (name ).append ("\n {\n " );
1703+
1704+ return sb .toString ();
17091705 }
17101706
17111707 private CharSequence generatePrimitiveDecoder (
@@ -2614,11 +2610,9 @@ private CharSequence generateEncoderFlyweightCode(final String className, final
26142610 CodecType .ENCODER , className , token , wrapMethod + wrapAndApplyMethod , mutableBuffer );
26152611 }
26162612
2617- private CharSequence generateEncoderFields (
2618- final String containingClassName , final List <Token > tokens , final String indent )
2613+ private void generateEncoderFields (
2614+ final StringBuilder sb , final String containingClassName , final List <Token > tokens , final String indent )
26192615 {
2620- final StringBuilder sb = new StringBuilder ();
2621-
26222616 Generators .forEachField (
26232617 tokens ,
26242618 (fieldToken , typeToken ) ->
@@ -2654,14 +2648,10 @@ private CharSequence generateEncoderFields(
26542648 break ;
26552649 }
26562650 });
2657-
2658- return sb ;
26592651 }
26602652
2661- private CharSequence generateDecoderFields (final List <Token > tokens , final String indent )
2653+ private void generateDecoderFields (final StringBuilder sb , final List <Token > tokens , final String indent )
26622654 {
2663- final StringBuilder sb = new StringBuilder ();
2664-
26652655 Generators .forEachField (
26662656 tokens ,
26672657 (fieldToken , typeToken ) ->
@@ -2696,8 +2686,6 @@ private CharSequence generateDecoderFields(final List<Token> tokens, final Strin
26962686 break ;
26972687 }
26982688 });
2699-
2700- return sb ;
27012689 }
27022690
27032691 private static void generateFieldIdMethod (final StringBuilder sb , final Token token , final String indent )
0 commit comments