@@ -108,7 +108,7 @@ public void generate() throws IOException
108108 {
109109 out .append (generateFileHeader (ir .applicableNamespace ()));
110110 out .append (generateClassDeclaration (className ));
111- out .append (generateMessageFlyweightCode (className , msgToken . size (), msgToken . version (), msgToken . schemaId () ));
111+ out .append (generateMessageFlyweightCode (className , msgToken ));
112112
113113 final List <Token > messageBody = tokens .subList (1 , tokens .size () - 1 );
114114 int offset = 0 ;
@@ -928,19 +928,18 @@ private CharSequence generateFixedFlyweightCode(final int size)
928928 );
929929 }
930930
931- private CharSequence generateMessageFlyweightCode (final String className ,
932- final int blockLength ,
933- final int version ,
934- final int schemaId )
931+ private CharSequence generateMessageFlyweightCode (final String className , final Token token )
935932 {
936933 final String blockLengthType = cSharpTypeName (ir .headerStructure ().blockLengthType ());
937934 final String templateIdType = cSharpTypeName (ir .headerStructure ().templateIdType ());
938935 final String templateVersionType = cSharpTypeName (ir .headerStructure ().templateVersionType ());
936+ final String semanticType = token .encoding ().semanticType () == null ? "" : token .encoding ().semanticType ();
939937
940938 return String .format (
941939 " public const %s TemplateId = %s;\n " +
942940 " public const %s TemplateVersion = %s;\n " +
943- " public const %s BlockLength = %s;\n \n " +
941+ " public const %s BlockLength = %s;\n " +
942+ " public const string SematicType = \" %s\" ;\n \n " +
944943 " private readonly %s _parentMessage;\n " +
945944 " private DirectBuffer _buffer;\n " +
946945 " private int _offset;\n " +
@@ -990,11 +989,12 @@ private CharSequence generateMessageFlyweightCode(final String className,
990989 " }\n " +
991990 " }\n \n " ,
992991 templateIdType ,
993- generateLiteral (ir .headerStructure ().templateIdType (), Integer .toString (schemaId )),
992+ generateLiteral (ir .headerStructure ().templateIdType (), Integer .toString (token . schemaId () )),
994993 templateVersionType ,
995- generateLiteral (ir .headerStructure ().templateVersionType (), Integer .toString (version )),
994+ generateLiteral (ir .headerStructure ().templateVersionType (), Integer .toString (token . version () )),
996995 blockLengthType ,
997- generateLiteral (ir .headerStructure ().blockLengthType (), Integer .toString (blockLength )),
996+ generateLiteral (ir .headerStructure ().blockLengthType (), Integer .toString (token .size ())),
997+ semanticType ,
998998 className ,
999999 className
10001000 );
0 commit comments