@@ -553,9 +553,9 @@ private void generateEncodeDecodeOpen(
553553 final Boolean isMessage ,
554554 final Boolean isExtensible )
555555 {
556- generateEncodeHeader (encode , varName , typeName , isMessage );
556+ generateEncodeHeader (encode , varName , typeName , isMessage , false );
557557 generateDecodeHeader (decode , varName , typeName , isMessage , isExtensible );
558- generateRangeCheckHeader (rangeCheck , varName , typeName );
558+ generateRangeCheckHeader (rangeCheck , varName , typeName , false );
559559 generateInitHeader (init , varName , typeName );
560560 }
561561
@@ -809,7 +809,7 @@ private void generateEnumEncodeDecode(
809809 }
810810
811811 // Encode
812- generateEncodeHeader (sb , varName , enumName + "Enum" , false );
812+ generateEncodeHeader (sb , varName , enumName + "Enum" , false , true );
813813 sb .append (String .format (
814814 "\t if err := _m.Write%1$s(_w, %2$s(%3$s)); err != nil {\n " +
815815 "\t \t return err\n " +
@@ -835,7 +835,7 @@ private void generateEnumEncodeDecode(
835835 // struct to check which are legitimate
836836 imports .add ("fmt" );
837837 imports .add ("reflect" );
838- generateRangeCheckHeader (sb , varName , enumName + "Enum" );
838+ generateRangeCheckHeader (sb , varName , enumName + "Enum" , true );
839839
840840 // For enums we can add new fields so if we're decoding a
841841 // newer version then the content is definitionally ok.
@@ -867,7 +867,7 @@ private void generateChoiceEncodeDecode(
867867 final char varName = Character .toLowerCase (choiceName .charAt (0 ));
868868
869869 // Encode
870- generateEncodeHeader (sb , varName , choiceName , false );
870+ generateEncodeHeader (sb , varName , choiceName , false , false );
871871
872872 sb .append (String .format (
873873 "\t var wireval uint%1$d = 0\n " +
@@ -902,7 +902,8 @@ private void generateEncodeHeader(
902902 final StringBuilder sb ,
903903 final char varName ,
904904 final String typeName ,
905- final Boolean isMessage )
905+ final Boolean isMessage ,
906+ final Boolean isEnum )
906907 {
907908 // Only messages get the rangeCheck flag
908909 String messageArgs = "" ;
@@ -912,11 +913,12 @@ private void generateEncodeHeader(
912913 }
913914
914915 sb .append (String .format (
915- "\n func (%1$s %2$s) Encode(_m *SbeGoMarshaller, _w io.Writer" +
916+ "\n func (%1$s %3$s% 2$s) Encode(_m *SbeGoMarshaller, _w io.Writer" +
916917 messageArgs +
917918 ") error {\n " ,
918919 varName ,
919- typeName ));
920+ typeName ,
921+ (isEnum ? "" : "*" )));
920922 }
921923
922924 private void generateDecodeHeader (
@@ -962,12 +964,14 @@ private void generateDecodeHeader(
962964 private void generateRangeCheckHeader (
963965 final StringBuilder sb ,
964966 final char varName ,
965- final String typeName )
967+ final String typeName ,
968+ final boolean isEnum )
966969 {
967970 sb .append (String .format (
968- "\n func (%1$s %2$s) RangeCheck(actingVersion uint16, schemaVersion uint16) error {\n " ,
971+ "\n func (%1$s %3$s% 2$s) RangeCheck(actingVersion uint16, schemaVersion uint16) error {\n " ,
969972 varName ,
970- typeName ));
973+ typeName ,
974+ (isEnum ? "" : "*" )));
971975 }
972976
973977 private void generateInitHeader (
@@ -1363,10 +1367,10 @@ private void generateVarDataDescriptors(
13631367
13641368 generateSinceActingDeprecated (sb , typeName , propertyName , token );
13651369 sb .append (String .format (
1366- "\n func (%1$s % 2$s) %3$sCharacterEncoding() string {\n " +
1370+ "\n func (%2$s) %3$sCharacterEncoding() string {\n " +
13671371 "\t return \" %4$s\" \n " +
13681372 "}\n " +
1369- "\n func (%1$s % 2$s) %3$sHeaderLength() uint64 {\n " +
1373+ "\n func (%2$s) %3$sHeaderLength() uint64 {\n " +
13701374 "\t return %5$s\n " +
13711375 "}\n " ,
13721376 varName ,
@@ -1399,7 +1403,7 @@ private void generateChoiceSet(final List<Token> tokens) throws IOException
13991403
14001404 // EncodedLength
14011405 sb .append (String .format (
1402- "\n func (%1$s % 2$s) EncodedLength() int64 {\n " +
1406+ "\n func (%2$s) EncodedLength() int64 {\n " +
14031407 "\t return %3$s\n " +
14041408 "}\n " ,
14051409 varName ,
@@ -1440,7 +1444,7 @@ private void generateEnum(final List<Token> tokens) throws IOException
14401444
14411445 // EncodedLength
14421446 sb .append (String .format (
1443- "\n func (%1$s %2$sEnum) EncodedLength() int64 {\n " +
1447+ "\n func (* %2$sEnum) EncodedLength() int64 {\n " +
14441448 "\t return %3$s\n " +
14451449 "}\n " ,
14461450 varName ,
@@ -1827,7 +1831,7 @@ private void generateMinMaxNull(
18271831
18281832 // MinValue
18291833 sb .append (String .format (
1830- "\n func (%1$s %2$s) %3$sMinValue() %4$s {\n " +
1834+ "\n func (* %2$s) %3$sMinValue() %4$s {\n " +
18311835 "\t return %5$s\n " +
18321836 "}\n " ,
18331837 Character .toLowerCase (typeName .charAt (0 )),
@@ -1838,7 +1842,7 @@ private void generateMinMaxNull(
18381842
18391843 // MaxValue
18401844 sb .append (String .format (
1841- "\n func (%1$s %2$s) %3$sMaxValue() %4$s {\n " +
1845+ "\n func (* %2$s) %3$sMaxValue() %4$s {\n " +
18421846 "\t return %5$s\n " +
18431847 "}\n " ,
18441848 Character .toLowerCase (typeName .charAt (0 )),
@@ -1849,7 +1853,7 @@ private void generateMinMaxNull(
18491853
18501854 // NullValue
18511855 sb .append (String .format (
1852- "\n func (%1$s %2$s) %3$sNullValue() %4$s {\n " +
1856+ "\n func (* %2$s) %3$sNullValue() %4$s {\n " +
18531857 "\t return %5$s\n " +
18541858 "}\n " ,
18551859 Character .toLowerCase (typeName .charAt (0 )),
@@ -1868,7 +1872,7 @@ private void generateCharacterEncoding(
18681872 if (token .encoding ().primitiveType () == CHAR && token .arrayLength () > 1 )
18691873 {
18701874 sb .append (String .format (
1871- "\n func (%1$s %2$s) %3$sCharacterEncoding() string {\n " +
1875+ "\n func (%1$s * %2$s) %3$sCharacterEncoding() string {\n " +
18721876 "\t return \" %4$s\" \n " +
18731877 "}\n " ,
18741878 Character .toLowerCase (typeName .charAt (0 )),
@@ -1885,7 +1889,7 @@ private void generateId(
18851889 final Token token )
18861890 {
18871891 sb .append (String .format (
1888- "\n func (%1$s %2$s) %3$sId() uint16 {\n " +
1892+ "\n func (* %2$s) %3$sId() uint16 {\n " +
18891893 "\t return %4$s\n " +
18901894 "}\n " ,
18911895 Character .toLowerCase (typeName .charAt (0 )),
@@ -1901,13 +1905,13 @@ private void generateSinceActingDeprecated(
19011905 final Token token )
19021906 {
19031907 sb .append (String .format (
1904- "\n func (%1$s %2$s) %3$sSinceVersion() uint16 {\n " +
1908+ "\n func (* %2$s) %3$sSinceVersion() uint16 {\n " +
19051909 "\t return %4$s\n " +
19061910 "}\n " +
1907- "\n func (%1$s %2$s) %3$sInActingVersion(actingVersion uint16) bool {\n " +
1911+ "\n func (%1$s * %2$s) %3$sInActingVersion(actingVersion uint16) bool {\n " +
19081912 "\t return actingVersion >= %1$s.%3$sSinceVersion()\n " +
19091913 "}\n " +
1910- "\n func (%1$s %2$s) %3$sDeprecated() uint16 {\n " +
1914+ "\n func (* %2$s) %3$sDeprecated() uint16 {\n " +
19111915 "\t return %5$s\n " +
19121916 "}\n " ,
19131917 Character .toLowerCase (typeName .charAt (0 )),
@@ -2014,7 +2018,7 @@ private void generateEncodedLength(
20142018 final int size )
20152019 {
20162020 sb .append (String .format (
2017- "\n func (%1$s %2$s) EncodedLength() int64 {\n " +
2021+ "\n func (* %2$s) EncodedLength() int64 {\n " +
20182022 "\t return %3$s\n " +
20192023 "}\n " ,
20202024 Character .toLowerCase (typeName .charAt (0 )),
@@ -2037,19 +2041,19 @@ private void generateMessageCode(
20372041 generateEncodeDecode (sb , typeName , tokens , true , true );
20382042
20392043 sb .append (String .format (
2040- "\n func (%1$s %2$s) SbeBlockLength() (blockLength %3$s) {\n " +
2044+ "\n func (* %2$s) SbeBlockLength() (blockLength %3$s) {\n " +
20412045 "\t return %4$s\n " +
20422046 "}\n " +
2043- "\n func (%1$s %2$s) SbeTemplateId() (templateId %5$s) {\n " +
2047+ "\n func (* %2$s) SbeTemplateId() (templateId %5$s) {\n " +
20442048 "\t return %6$s\n " +
20452049 "}\n " +
2046- "\n func (%1$s %2$s) SbeSchemaId() (schemaId %7$s) {\n " +
2050+ "\n func (* %2$s) SbeSchemaId() (schemaId %7$s) {\n " +
20472051 "\t return %8$s\n " +
20482052 "}\n " +
2049- "\n func (%1$s %2$s) SbeSchemaVersion() (schemaVersion %9$s) {\n " +
2053+ "\n func (* %2$s) SbeSchemaVersion() (schemaVersion %9$s) {\n " +
20502054 "\t return %10$s\n " +
20512055 "}\n " +
2052- "\n func (%1$s %2$s) SbeSemanticType() (semanticType []byte) {\n " +
2056+ "\n func (* %2$s) SbeSemanticType() (semanticType []byte) {\n " +
20532057 "\t return []byte(\" %11$s\" )\n " +
20542058 "}\n " ,
20552059 Character .toLowerCase (typeName .charAt (0 )),
@@ -2073,10 +2077,10 @@ private void generateExtensibilityMethods(
20732077 final Token token )
20742078 {
20752079 sb .append (String .format (
2076- "\n func (%1$s %2$s) SbeBlockLength() (blockLength uint) {\n " +
2080+ "\n func (* %2$s) SbeBlockLength() (blockLength uint) {\n " +
20772081 "\t return %3$s\n " +
20782082 "}\n " +
2079- "\n func (%1$s %2$s) SbeSchemaVersion() (schemaVersion %4$s) {\n " +
2083+ "\n func (* %2$s) SbeSchemaVersion() (schemaVersion %4$s) {\n " +
20802084 "\t return %5$s\n " +
20812085 "}\n " ,
20822086 Character .toLowerCase (typeName .charAt (0 )),
@@ -2138,7 +2142,7 @@ private static void generateFieldMetaAttributeMethod(
21382142 final String presence = encoding .presence () == null ? "" : encoding .presence ().toString ().toLowerCase ();
21392143
21402144 sb .append (String .format (
2141- "\n func (%1$s %2$s) %3$sMetaAttribute(meta int) string {\n " +
2145+ "\n func (* %2$s) %3$sMetaAttribute(meta int) string {\n " +
21422146 "\t switch meta {\n " +
21432147 "\t case 1:\n " +
21442148 "\t \t return \" %4$s\" \n " +
0 commit comments