@@ -1201,7 +1201,7 @@ private void generateVarData(
1201
1201
lengthCppType ,
1202
1202
accessOrderListenerCall );
1203
1203
1204
- generateJsonEscapedStringGetter (sb , token , indent , propertyName , accessOrderListenerCall );
1204
+ generateJsonEscapedStringGetter (sb , token , indent , propertyName );
1205
1205
1206
1206
new Formatter (sb ).format ("\n " +
1207
1207
indent + " #if __cplusplus >= 201703L\n " +
@@ -2307,7 +2307,7 @@ private void generateArrayProperty(
2307
2307
generateStringNotPresentCondition (propertyToken .version (), indent ),
2308
2308
accessOrderListenerCall );
2309
2309
2310
- generateJsonEscapedStringGetter (sb , encodingToken , indent , propertyName , accessOrderListenerCall );
2310
+ generateJsonEscapedStringGetter (sb , encodingToken , indent , propertyName );
2311
2311
2312
2312
new Formatter (sb ).format ("\n " +
2313
2313
indent + " #if __cplusplus >= 201703L\n " +
@@ -2381,14 +2381,12 @@ private void generateJsonEscapedStringGetter(
2381
2381
final StringBuilder sb ,
2382
2382
final Token token ,
2383
2383
final String indent ,
2384
- final String propertyName ,
2385
- final CharSequence accessOrderListenerCall )
2384
+ final String propertyName )
2386
2385
{
2387
2386
new Formatter (sb ).format ("\n " +
2388
2387
indent + " std::string get%1$sAsJsonEscapedString()\n " +
2389
2388
indent + " {\n " +
2390
2389
"%2$s" +
2391
- "%3$s" +
2392
2390
indent + " std::ostringstream oss;\n " +
2393
2391
indent + " std::string s = get%1$sAsString();\n \n " +
2394
2392
indent + " for (const auto c : s)\n " +
@@ -2417,8 +2415,7 @@ private void generateJsonEscapedStringGetter(
2417
2415
indent + " return oss.str();\n " +
2418
2416
indent + " }\n " ,
2419
2417
toUpperFirstChar (propertyName ),
2420
- generateStringNotPresentCondition (token .version (), indent ),
2421
- accessOrderListenerCall );
2418
+ generateStringNotPresentCondition (token .version (), indent ));
2422
2419
}
2423
2420
2424
2421
private void generateConstPropertyMethods (
@@ -2505,7 +2502,7 @@ private void generateConstPropertyMethods(
2505
2502
values ,
2506
2503
constantValue .length );
2507
2504
2508
- generateJsonEscapedStringGetter (sb , token , indent , propertyName , "" );
2505
+ generateJsonEscapedStringGetter (sb , token , indent , propertyName );
2509
2506
}
2510
2507
2511
2508
private CharSequence generateFixedFlyweightCode (final String className , final int size )
@@ -2654,34 +2651,13 @@ private static String generateHiddenCopyConstructor(final String indent, final S
2654
2651
return DISABLE_IMPLICIT_COPYING ? ctorAndCopyAssignmentDeletion : "" ;
2655
2652
}
2656
2653
2657
- private static CharSequence generateConstructorsAndOperators (
2654
+ private CharSequence generateConstructorsAndOperators (
2658
2655
final String className ,
2659
2656
final FieldPrecedenceModel fieldPrecedenceModel )
2660
2657
{
2661
- final String constructorWithCodecState = null == fieldPrecedenceModel ? "" : String .format (
2662
- " %1$s(\n " +
2663
- " char *buffer,\n " +
2664
- " const std::uint64_t offset,\n " +
2665
- " const std::uint64_t bufferLength,\n " +
2666
- " const std::uint64_t actingBlockLength,\n " +
2667
- " const std::uint64_t actingVersion,\n " +
2668
- " CodecState codecState) :\n " +
2669
- " m_buffer(buffer),\n " +
2670
- " m_bufferLength(bufferLength),\n " +
2671
- " m_offset(offset),\n " +
2672
- " m_position(sbeCheckPosition(offset + actingBlockLength)),\n " +
2673
- " m_actingBlockLength(actingBlockLength),\n " +
2674
- " m_actingVersion(actingVersion),\n " +
2675
- " m_codecState(codecState)\n " +
2676
- " {\n " +
2677
- " }\n \n " ,
2678
- className );
2679
-
2680
2658
return String .format (
2681
2659
" %1$s() = default;\n \n " +
2682
2660
2683
- "%2$s" +
2684
-
2685
2661
" %1$s(\n " +
2686
2662
" char *buffer,\n " +
2687
2663
" const std::uint64_t offset,\n " +
@@ -2695,6 +2671,7 @@ private static CharSequence generateConstructorsAndOperators(
2695
2671
" m_actingBlockLength(actingBlockLength),\n " +
2696
2672
" m_actingVersion(actingVersion)\n " +
2697
2673
" {\n " +
2674
+ "%2$s" +
2698
2675
" }\n \n " +
2699
2676
2700
2677
" %1$s(char *buffer, const std::uint64_t bufferLength) :\n " +
@@ -2711,7 +2688,7 @@ private static CharSequence generateConstructorsAndOperators(
2711
2688
" {\n " +
2712
2689
" }\n \n " ,
2713
2690
className ,
2714
- constructorWithCodecState );
2691
+ generateCodecStateTransitionForWrapping ( fieldPrecedenceModel ) );
2715
2692
}
2716
2693
2717
2694
private CharSequence generateMessageFlyweightCode (
@@ -2728,26 +2705,25 @@ private CharSequence generateMessageFlyweightCode(
2728
2705
final String semanticVersion = ir .semanticVersion () == null ? "" : ir .semanticVersion ();
2729
2706
2730
2707
2731
- final String codecStateArgument = null == fieldPrecedenceModel ? "" : ", m_codecState" ;
2732
-
2733
2708
return String .format (
2734
2709
"private:\n " +
2710
+ "%14$s" +
2735
2711
"%15$s" +
2736
- "%16$s" +
2737
2712
" char *m_buffer = nullptr;\n " +
2738
2713
" std::uint64_t m_bufferLength = 0;\n " +
2739
2714
" std::uint64_t m_offset = 0;\n " +
2740
2715
" std::uint64_t m_position = 0;\n " +
2741
2716
" std::uint64_t m_actingBlockLength = 0;\n " +
2742
2717
" std::uint64_t m_actingVersion = 0;\n " +
2743
- "%17 $s" +
2718
+ "%16 $s" +
2744
2719
2745
2720
" inline std::uint64_t *sbePositionPtr() SBE_NOEXCEPT\n " +
2746
2721
" {\n " +
2747
2722
" return &m_position;\n " +
2748
2723
" }\n \n " +
2749
2724
2750
- "%22$s" +
2725
+ "%19$s" +
2726
+ "%21$s" +
2751
2727
2752
2728
"public:\n " +
2753
2729
" static constexpr %1$s SBE_BLOCK_LENGTH = %2$s;\n " +
@@ -2775,7 +2751,7 @@ private CharSequence generateMessageFlyweightCode(
2775
2751
2776
2752
" using messageHeader = %12$s;\n \n " +
2777
2753
2778
- "%18 $s" +
2754
+ "%17 $s" +
2779
2755
"%11$s" +
2780
2756
2781
2757
" SBE_NODISCARD static SBE_CONSTEXPR %1$s sbeBlockLength() SBE_NOEXCEPT\n " +
@@ -2826,7 +2802,7 @@ private CharSequence generateMessageFlyweightCode(
2826
2802
" m_actingBlockLength = sbeBlockLength();\n " +
2827
2803
" m_actingVersion = sbeSchemaVersion();\n " +
2828
2804
" m_position = sbeCheckPosition(m_offset + m_actingBlockLength);\n " +
2829
- "%19 $s" +
2805
+ "%18 $s" +
2830
2806
" return *this;\n " +
2831
2807
" }\n \n " +
2832
2808
@@ -2847,12 +2823,10 @@ private CharSequence generateMessageFlyweightCode(
2847
2823
" m_actingBlockLength = sbeBlockLength();\n " +
2848
2824
" m_actingVersion = sbeSchemaVersion();\n " +
2849
2825
" m_position = sbeCheckPosition(m_offset + m_actingBlockLength);\n " +
2850
- "%19 $s" +
2826
+ "%18 $s" +
2851
2827
" return *this;\n " +
2852
2828
" }\n \n " +
2853
2829
2854
- "%20$s" +
2855
-
2856
2830
" %10$s &wrapForDecode(\n " +
2857
2831
" char *buffer,\n " +
2858
2832
" const std::uint64_t offset,\n " +
@@ -2866,7 +2840,7 @@ private CharSequence generateMessageFlyweightCode(
2866
2840
" m_actingBlockLength = actingBlockLength;\n " +
2867
2841
" m_actingVersion = actingVersion;\n " +
2868
2842
" m_position = sbeCheckPosition(m_offset + m_actingBlockLength);\n " +
2869
- "%21 $s" +
2843
+ "%20 $s" +
2870
2844
" return *this;\n " +
2871
2845
" }\n \n " +
2872
2846
@@ -2903,7 +2877,7 @@ private CharSequence generateMessageFlyweightCode(
2903
2877
2904
2878
" SBE_NODISCARD std::uint64_t decodeLength() const\n " +
2905
2879
" {\n " +
2906
- " %10$s skipper(m_buffer, m_offset, m_bufferLength, sbeBlockLength(), m_actingVersion%14$s );\n " +
2880
+ " %10$s skipper(m_buffer, m_offset, m_bufferLength, sbeBlockLength(), m_actingVersion);\n " +
2907
2881
" skipper.skip();\n " +
2908
2882
" return skipper.encodedLength();\n " +
2909
2883
" }\n \n " +
@@ -2940,14 +2914,13 @@ private CharSequence generateMessageFlyweightCode(
2940
2914
generateConstructorsAndOperators (className , fieldPrecedenceModel ),
2941
2915
formatClassName (headerType ),
2942
2916
semanticVersion ,
2943
- codecStateArgument ,
2944
2917
generateFieldOrderStateEnum (fieldPrecedenceModel ),
2945
2918
generateLookupTableDeclarations (fieldPrecedenceModel ),
2946
2919
generateFieldOrderStateMember (fieldPrecedenceModel ),
2947
2920
generateAccessOrderErrorType (fieldPrecedenceModel ),
2948
- generateEncoderWrapListener (fieldPrecedenceModel ),
2949
- generateDecoderWrapListener (fieldPrecedenceModel ),
2950
- generateDecoderWrapListenerCall (fieldPrecedenceModel ),
2921
+ generateCodecStateTransitionForWrappingLatestVersion (fieldPrecedenceModel ),
2922
+ generateOnWrappedListener (fieldPrecedenceModel ),
2923
+ generateCodecStateTransitionForWrapping (fieldPrecedenceModel ),
2951
2924
generateHiddenCopyConstructor (" " , className ));
2952
2925
}
2953
2926
@@ -3118,7 +3091,7 @@ private static CharSequence generateFieldOrderStateMember(final FieldPrecedenceM
3118
3091
return sb ;
3119
3092
}
3120
3093
3121
- private static CharSequence generateDecoderWrapListener (final FieldPrecedenceModel fieldPrecedenceModel )
3094
+ private static CharSequence generateOnWrappedListener (final FieldPrecedenceModel fieldPrecedenceModel )
3122
3095
{
3123
3096
if (null == fieldPrecedenceModel )
3124
3097
{
@@ -3131,7 +3104,7 @@ private static CharSequence generateDecoderWrapListener(final FieldPrecedenceMod
3131
3104
}
3132
3105
3133
3106
final StringBuilder sb = new StringBuilder ();
3134
- sb .append (INDENT ).append ("void onWrapForDecode (std::uint64_t actingVersion)\n " )
3107
+ sb .append (INDENT ).append ("void onWrapped (std::uint64_t actingVersion)\n " )
3135
3108
.append (INDENT ).append ("{\n " );
3136
3109
3137
3110
final MutableBoolean actingVersionCanBeTooLowToBeValid = new MutableBoolean (true );
@@ -3168,7 +3141,7 @@ private static CharSequence generateDecoderWrapListener(final FieldPrecedenceMod
3168
3141
}
3169
3142
3170
3143
3171
- private CharSequence generateDecoderWrapListenerCall (final FieldPrecedenceModel fieldPrecedenceModel )
3144
+ private CharSequence generateCodecStateTransitionForWrapping (final FieldPrecedenceModel fieldPrecedenceModel )
3172
3145
{
3173
3146
if (null == fieldPrecedenceModel )
3174
3147
{
@@ -3185,10 +3158,12 @@ private CharSequence generateDecoderWrapListenerCall(final FieldPrecedenceModel
3185
3158
return sb ;
3186
3159
}
3187
3160
3188
- return generateAccessOrderListenerCall (fieldPrecedenceModel , TWO_INDENT , "onWrapForDecode " , "actingVersion" );
3161
+ return generateAccessOrderListenerCall (fieldPrecedenceModel , TWO_INDENT , "onWrapped " , "actingVersion" );
3189
3162
}
3190
3163
3191
- private CharSequence generateEncoderWrapListener (final FieldPrecedenceModel fieldPrecedenceModel )
3164
+ private CharSequence generateCodecStateTransitionForWrappingLatestVersion (
3165
+ final FieldPrecedenceModel fieldPrecedenceModel
3166
+ )
3192
3167
{
3193
3168
if (null == fieldPrecedenceModel )
3194
3169
{
0 commit comments