@@ -553,9 +553,9 @@ private void generateEncodeDecodeOpen(
553
553
final Boolean isMessage ,
554
554
final Boolean isExtensible )
555
555
{
556
- generateEncodeHeader (encode , varName , typeName , isMessage );
556
+ generateEncodeHeader (encode , varName , typeName , isMessage , false );
557
557
generateDecodeHeader (decode , varName , typeName , isMessage , isExtensible );
558
- generateRangeCheckHeader (rangeCheck , varName , typeName );
558
+ generateRangeCheckHeader (rangeCheck , varName , typeName , false );
559
559
generateInitHeader (init , varName , typeName );
560
560
}
561
561
@@ -809,7 +809,7 @@ private void generateEnumEncodeDecode(
809
809
}
810
810
811
811
// Encode
812
- generateEncodeHeader (sb , varName , enumName + "Enum" , false );
812
+ generateEncodeHeader (sb , varName , enumName + "Enum" , false , true );
813
813
sb .append (String .format (
814
814
"\t if err := _m.Write%1$s(_w, %2$s(%3$s)); err != nil {\n " +
815
815
"\t \t return err\n " +
@@ -835,7 +835,7 @@ private void generateEnumEncodeDecode(
835
835
// struct to check which are legitimate
836
836
imports .add ("fmt" );
837
837
imports .add ("reflect" );
838
- generateRangeCheckHeader (sb , varName , enumName + "Enum" );
838
+ generateRangeCheckHeader (sb , varName , enumName + "Enum" , true );
839
839
840
840
// For enums we can add new fields so if we're decoding a
841
841
// newer version then the content is definitionally ok.
@@ -867,7 +867,7 @@ private void generateChoiceEncodeDecode(
867
867
final char varName = Character .toLowerCase (choiceName .charAt (0 ));
868
868
869
869
// Encode
870
- generateEncodeHeader (sb , varName , choiceName , false );
870
+ generateEncodeHeader (sb , varName , choiceName , false , false );
871
871
872
872
sb .append (String .format (
873
873
"\t var wireval uint%1$d = 0\n " +
@@ -902,7 +902,8 @@ private void generateEncodeHeader(
902
902
final StringBuilder sb ,
903
903
final char varName ,
904
904
final String typeName ,
905
- final Boolean isMessage )
905
+ final Boolean isMessage ,
906
+ final Boolean isEnum )
906
907
{
907
908
// Only messages get the rangeCheck flag
908
909
String messageArgs = "" ;
@@ -912,11 +913,12 @@ private void generateEncodeHeader(
912
913
}
913
914
914
915
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" +
916
917
messageArgs +
917
918
") error {\n " ,
918
919
varName ,
919
- typeName ));
920
+ typeName ,
921
+ (isEnum ? "" : "*" )));
920
922
}
921
923
922
924
private void generateDecodeHeader (
@@ -962,12 +964,14 @@ private void generateDecodeHeader(
962
964
private void generateRangeCheckHeader (
963
965
final StringBuilder sb ,
964
966
final char varName ,
965
- final String typeName )
967
+ final String typeName ,
968
+ final boolean isEnum )
966
969
{
967
970
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 " ,
969
972
varName ,
970
- typeName ));
973
+ typeName ,
974
+ (isEnum ? "" : "*" )));
971
975
}
972
976
973
977
private void generateInitHeader (
@@ -1363,10 +1367,10 @@ private void generateVarDataDescriptors(
1363
1367
1364
1368
generateSinceActingDeprecated (sb , typeName , propertyName , token );
1365
1369
sb .append (String .format (
1366
- "\n func (%1$s % 2$s) %3$sCharacterEncoding() string {\n " +
1370
+ "\n func (%2$s) %3$sCharacterEncoding() string {\n " +
1367
1371
"\t return \" %4$s\" \n " +
1368
1372
"}\n " +
1369
- "\n func (%1$s % 2$s) %3$sHeaderLength() uint64 {\n " +
1373
+ "\n func (%2$s) %3$sHeaderLength() uint64 {\n " +
1370
1374
"\t return %5$s\n " +
1371
1375
"}\n " ,
1372
1376
varName ,
@@ -1399,7 +1403,7 @@ private void generateChoiceSet(final List<Token> tokens) throws IOException
1399
1403
1400
1404
// EncodedLength
1401
1405
sb .append (String .format (
1402
- "\n func (%1$s % 2$s) EncodedLength() int64 {\n " +
1406
+ "\n func (%2$s) EncodedLength() int64 {\n " +
1403
1407
"\t return %3$s\n " +
1404
1408
"}\n " ,
1405
1409
varName ,
@@ -1440,7 +1444,7 @@ private void generateEnum(final List<Token> tokens) throws IOException
1440
1444
1441
1445
// EncodedLength
1442
1446
sb .append (String .format (
1443
- "\n func (%1$s %2$sEnum) EncodedLength() int64 {\n " +
1447
+ "\n func (* %2$sEnum) EncodedLength() int64 {\n " +
1444
1448
"\t return %3$s\n " +
1445
1449
"}\n " ,
1446
1450
varName ,
@@ -1827,7 +1831,7 @@ private void generateMinMaxNull(
1827
1831
1828
1832
// MinValue
1829
1833
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 " +
1831
1835
"\t return %5$s\n " +
1832
1836
"}\n " ,
1833
1837
Character .toLowerCase (typeName .charAt (0 )),
@@ -1838,7 +1842,7 @@ private void generateMinMaxNull(
1838
1842
1839
1843
// MaxValue
1840
1844
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 " +
1842
1846
"\t return %5$s\n " +
1843
1847
"}\n " ,
1844
1848
Character .toLowerCase (typeName .charAt (0 )),
@@ -1849,7 +1853,7 @@ private void generateMinMaxNull(
1849
1853
1850
1854
// NullValue
1851
1855
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 " +
1853
1857
"\t return %5$s\n " +
1854
1858
"}\n " ,
1855
1859
Character .toLowerCase (typeName .charAt (0 )),
@@ -1868,7 +1872,7 @@ private void generateCharacterEncoding(
1868
1872
if (token .encoding ().primitiveType () == CHAR && token .arrayLength () > 1 )
1869
1873
{
1870
1874
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 " +
1872
1876
"\t return \" %4$s\" \n " +
1873
1877
"}\n " ,
1874
1878
Character .toLowerCase (typeName .charAt (0 )),
@@ -1885,7 +1889,7 @@ private void generateId(
1885
1889
final Token token )
1886
1890
{
1887
1891
sb .append (String .format (
1888
- "\n func (%1$s %2$s) %3$sId() uint16 {\n " +
1892
+ "\n func (* %2$s) %3$sId() uint16 {\n " +
1889
1893
"\t return %4$s\n " +
1890
1894
"}\n " ,
1891
1895
Character .toLowerCase (typeName .charAt (0 )),
@@ -1901,13 +1905,13 @@ private void generateSinceActingDeprecated(
1901
1905
final Token token )
1902
1906
{
1903
1907
sb .append (String .format (
1904
- "\n func (%1$s %2$s) %3$sSinceVersion() uint16 {\n " +
1908
+ "\n func (* %2$s) %3$sSinceVersion() uint16 {\n " +
1905
1909
"\t return %4$s\n " +
1906
1910
"}\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 " +
1908
1912
"\t return actingVersion >= %1$s.%3$sSinceVersion()\n " +
1909
1913
"}\n " +
1910
- "\n func (%1$s %2$s) %3$sDeprecated() uint16 {\n " +
1914
+ "\n func (* %2$s) %3$sDeprecated() uint16 {\n " +
1911
1915
"\t return %5$s\n " +
1912
1916
"}\n " ,
1913
1917
Character .toLowerCase (typeName .charAt (0 )),
@@ -2014,7 +2018,7 @@ private void generateEncodedLength(
2014
2018
final int size )
2015
2019
{
2016
2020
sb .append (String .format (
2017
- "\n func (%1$s %2$s) EncodedLength() int64 {\n " +
2021
+ "\n func (* %2$s) EncodedLength() int64 {\n " +
2018
2022
"\t return %3$s\n " +
2019
2023
"}\n " ,
2020
2024
Character .toLowerCase (typeName .charAt (0 )),
@@ -2037,19 +2041,19 @@ private void generateMessageCode(
2037
2041
generateEncodeDecode (sb , typeName , tokens , true , true );
2038
2042
2039
2043
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 " +
2041
2045
"\t return %4$s\n " +
2042
2046
"}\n " +
2043
- "\n func (%1$s %2$s) SbeTemplateId() (templateId %5$s) {\n " +
2047
+ "\n func (* %2$s) SbeTemplateId() (templateId %5$s) {\n " +
2044
2048
"\t return %6$s\n " +
2045
2049
"}\n " +
2046
- "\n func (%1$s %2$s) SbeSchemaId() (schemaId %7$s) {\n " +
2050
+ "\n func (* %2$s) SbeSchemaId() (schemaId %7$s) {\n " +
2047
2051
"\t return %8$s\n " +
2048
2052
"}\n " +
2049
- "\n func (%1$s %2$s) SbeSchemaVersion() (schemaVersion %9$s) {\n " +
2053
+ "\n func (* %2$s) SbeSchemaVersion() (schemaVersion %9$s) {\n " +
2050
2054
"\t return %10$s\n " +
2051
2055
"}\n " +
2052
- "\n func (%1$s %2$s) SbeSemanticType() (semanticType []byte) {\n " +
2056
+ "\n func (* %2$s) SbeSemanticType() (semanticType []byte) {\n " +
2053
2057
"\t return []byte(\" %11$s\" )\n " +
2054
2058
"}\n " ,
2055
2059
Character .toLowerCase (typeName .charAt (0 )),
@@ -2073,10 +2077,10 @@ private void generateExtensibilityMethods(
2073
2077
final Token token )
2074
2078
{
2075
2079
sb .append (String .format (
2076
- "\n func (%1$s %2$s) SbeBlockLength() (blockLength uint) {\n " +
2080
+ "\n func (* %2$s) SbeBlockLength() (blockLength uint) {\n " +
2077
2081
"\t return %3$s\n " +
2078
2082
"}\n " +
2079
- "\n func (%1$s %2$s) SbeSchemaVersion() (schemaVersion %4$s) {\n " +
2083
+ "\n func (* %2$s) SbeSchemaVersion() (schemaVersion %4$s) {\n " +
2080
2084
"\t return %5$s\n " +
2081
2085
"}\n " ,
2082
2086
Character .toLowerCase (typeName .charAt (0 )),
@@ -2138,7 +2142,7 @@ private static void generateFieldMetaAttributeMethod(
2138
2142
final String presence = encoding .presence () == null ? "" : encoding .presence ().toString ().toLowerCase ();
2139
2143
2140
2144
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 " +
2142
2146
"\t switch meta {\n " +
2143
2147
"\t case 1:\n " +
2144
2148
"\t \t return \" %4$s\" \n " +
0 commit comments