@@ -572,6 +572,15 @@ private static CharSequence generateGroupDecoderProperty(final String groupName,
572572 formatPropertyName (groupName ),
573573 token .id ()));
574574
575+ sb .append (String .format (
576+ "\n " +
577+ indent + " public static int %sSinceVersion()\n " +
578+ indent + " {\n " +
579+ indent + " return %d;\n " +
580+ indent + " }\n " ,
581+ formatPropertyName (groupName ),
582+ token .version ()));
583+
575584 sb .append (String .format (
576585 "\n " +
577586 indent + " public %1$s %2$s()\n " +
@@ -633,6 +642,8 @@ private CharSequence generateDecoderVarData(final List<Token> tokens, final Stri
633642 }
634643
635644 generateFieldIdMethod (sb , token , indent );
645+ generateFieldSinceVersionMethod (sb , token , indent );
646+
636647 final String characterEncoding = tokens .get (i + 3 ).encoding ().characterEncoding ();
637648 generateCharacterEncodingMethod (sb , token .name (), characterEncoding , indent );
638649 generateFieldMetaAttributeMethod (sb , token , indent );
@@ -1946,6 +1957,7 @@ private CharSequence generateDecoderFields(final List<Token> tokens, final Strin
19461957 final String typeName = decoderName (formatClassName (typeToken .name ()));
19471958
19481959 generateFieldIdMethod (sb , fieldToken , indent );
1960+ generateFieldSinceVersionMethod (sb , fieldToken , indent );
19491961 generateFieldMetaAttributeMethod (sb , fieldToken , indent );
19501962
19511963 switch (typeToken .signal ())
@@ -2001,6 +2013,18 @@ private static void generateFieldIdMethod(final StringBuilder sb, final Token to
20012013 token .id ()));
20022014 }
20032015
2016+ private static void generateFieldSinceVersionMethod (final StringBuilder sb , final Token token , final String indent )
2017+ {
2018+ sb .append (String .format (
2019+ "\n " +
2020+ indent + " public static int %sSinceVersion()\n " +
2021+ indent + " {\n " +
2022+ indent + " return %d;\n " +
2023+ indent + " }\n " ,
2024+ formatPropertyName (token .name ()),
2025+ token .version ()));
2026+ }
2027+
20042028 private static void generateFieldMetaAttributeMethod (final StringBuilder sb , final Token token , final String indent )
20052029 {
20062030 final Encoding encoding = token .encoding ();
0 commit comments