@@ -2283,9 +2283,7 @@ private CharSequence generateDisplay(
2283
2283
final List <Token > varData ,
2284
2284
final String indent )
2285
2285
{
2286
- final StringBuilder sb = new StringBuilder ();
2287
-
2288
- sb .append (String .format ("\n " +
2286
+ return String .format ("\n " +
2289
2287
indent + "template<typename CharT, typename Traits>\n " +
2290
2288
indent + "friend std::basic_ostream<CharT, Traits>& operator<<(\n " +
2291
2289
indent + " std::basic_ostream<CharT, Traits>& builder, %1$s _writer)\n " +
@@ -2302,9 +2300,7 @@ private CharSequence generateDisplay(
2302
2300
indent + " return builder;\n " +
2303
2301
indent + "}\n " ,
2304
2302
formatClassName (name ),
2305
- appendDisplay (fields , groups , varData , indent + INDENT )));
2306
-
2307
- return sb .toString ();
2303
+ appendDisplay (fields , groups , varData , indent + INDENT ));
2308
2304
}
2309
2305
2310
2306
private CharSequence generateGroupDisplay (
@@ -2314,8 +2310,7 @@ private CharSequence generateGroupDisplay(
2314
2310
final List <Token > varData ,
2315
2311
final String indent )
2316
2312
{
2317
- final StringBuilder sb = new StringBuilder ();
2318
- sb .append (String .format ("\n " +
2313
+ return String .format ("\n " +
2319
2314
indent + "template<typename CharT, typename Traits>\n " +
2320
2315
indent + "friend std::basic_ostream<CharT, Traits>& operator<<(\n " +
2321
2316
indent + " std::basic_ostream<CharT, Traits>& builder, %1$s writer)\n " +
@@ -2326,19 +2321,15 @@ private CharSequence generateGroupDisplay(
2326
2321
indent + " return builder;\n " +
2327
2322
indent + "}\n " ,
2328
2323
formatClassName (name ),
2329
- appendDisplay (fields , groups , varData , indent + INDENT )));
2330
-
2331
- return sb .toString ();
2324
+ appendDisplay (fields , groups , varData , indent + INDENT ));
2332
2325
}
2333
2326
2334
2327
private CharSequence generateCompositeDisplay (
2335
2328
final String name ,
2336
2329
final List <Token > tokens ,
2337
2330
final String indent )
2338
2331
{
2339
- final StringBuilder sb = new StringBuilder ();
2340
- final boolean [] atLeastOne = {false };
2341
- sb .append (String .format ("\n " +
2332
+ return String .format ("\n " +
2342
2333
indent + "template<typename CharT, typename Traits>\n " +
2343
2334
indent + "friend std::basic_ostream<CharT, Traits>& operator<<(\n " +
2344
2335
indent + " std::basic_ostream<CharT, Traits>& builder, %1$s writer)\n " +
@@ -2349,9 +2340,7 @@ private CharSequence generateCompositeDisplay(
2349
2340
indent + " return builder;\n " +
2350
2341
indent + "}\n \n " ,
2351
2342
formatClassName (name ),
2352
- appendDisplay (tokens , new ArrayList <>(), new ArrayList <>(), indent + INDENT )));
2353
-
2354
- return sb .toString ();
2343
+ appendDisplay (tokens , new ArrayList <>(), new ArrayList <>(), indent + INDENT ));
2355
2344
}
2356
2345
2357
2346
private CharSequence appendDisplay (
@@ -2362,6 +2351,7 @@ private CharSequence appendDisplay(
2362
2351
{
2363
2352
final StringBuilder sb = new StringBuilder ();
2364
2353
final boolean [] atLeastOne = {false };
2354
+
2365
2355
for (int i = 0 , size = fields .size (); i < size ;)
2366
2356
{
2367
2357
final Token fieldToken = fields .get (i );
@@ -2394,8 +2384,6 @@ private CharSequence appendDisplay(
2394
2384
throw new IllegalStateException ("tokens must begin with BEGIN_GROUP: token=" + groupToken );
2395
2385
}
2396
2386
2397
- sb .append (indent + "//" + groupToken + "\n " );
2398
-
2399
2387
if (atLeastOne [0 ])
2400
2388
{
2401
2389
sb .append (
@@ -2410,7 +2398,9 @@ private CharSequence appendDisplay(
2410
2398
indent + " writer.%2$s().forEach([&](%1$s& %2$s)\n " +
2411
2399
indent + " {\n " +
2412
2400
indent + " if (atLeastOne)\n " +
2401
+ indent + " {\n " +
2413
2402
indent + " builder << \" , \" ;\n " +
2403
+ indent + " }\n " +
2414
2404
indent + " atLeastOne = true;\n " +
2415
2405
indent + " builder << %2$s;\n " +
2416
2406
indent + " });\n " +
@@ -2420,7 +2410,6 @@ private CharSequence appendDisplay(
2420
2410
formatPropertyName (groupToken .name ()),
2421
2411
groupToken .name ()));
2422
2412
2423
-
2424
2413
i = findEndSignal (groups , i , Signal .END_GROUP , groupToken .name ());
2425
2414
}
2426
2415
@@ -2432,8 +2421,6 @@ private CharSequence appendDisplay(
2432
2421
throw new IllegalStateException ("tokens must begin with BEGIN_VAR_DATA: token=" + varDataToken );
2433
2422
}
2434
2423
2435
- sb .append (indent + "//" + varDataToken + "\n " );
2436
-
2437
2424
if (atLeastOne [0 ])
2438
2425
{
2439
2426
sb .append (
@@ -2444,15 +2431,12 @@ private CharSequence appendDisplay(
2444
2431
final String characterEncoding = varData .get (i + 3 ).encoding ().characterEncoding ();
2445
2432
final String getAsStringFunction = "get" + toUpperFirstChar (varDataToken .name ()) + "AsString().c_str()" ;
2446
2433
sb .append (indent + "builder << R\" (\" " + varDataToken .name () + "\" : )\" ;\n " );
2434
+
2447
2435
if (null == characterEncoding )
2448
2436
{
2449
2437
sb .append (
2450
2438
indent + "builder << '\" ' <<\n " +
2451
2439
indent + INDENT + "writer." + getAsStringFunction + " << '\" ';\n \n " );
2452
- /*sb.append(indent + "builder << " + varDataName + "Length() << \" bytes of raw data\";\n");
2453
- append(sb, indent,
2454
- "parentMessage.limit(parentMessage.limit() + " + varDataName + "HeaderLength() + " +
2455
- varDataName + "Length());");*/
2456
2440
}
2457
2441
else
2458
2442
{
@@ -2463,7 +2447,7 @@ private CharSequence appendDisplay(
2463
2447
2464
2448
i += varDataToken .componentTokenCount ();
2465
2449
}
2466
- return sb . toString () ;
2450
+ return sb ;
2467
2451
}
2468
2452
2469
2453
private CharSequence writeTokenDisplay (
@@ -2475,8 +2459,6 @@ private CharSequence writeTokenDisplay(
2475
2459
final StringBuilder sb = new StringBuilder ();
2476
2460
final String fieldName = "writer." + formatPropertyName (fieldTokenName );
2477
2461
2478
- sb .append (indent + "//" + typeToken + "\n " );
2479
-
2480
2462
if (typeToken .encodedLength () <= 0 || typeToken .isConstantEncoding ())
2481
2463
{
2482
2464
return sb .toString ();
@@ -2520,7 +2502,9 @@ private CharSequence writeTokenDisplay(
2520
2502
indent + " for (size_t i = 0; i < " + fieldName + "Length(); i++)\n " +
2521
2503
indent + " {\n " +
2522
2504
indent + " if (i)\n " +
2505
+ indent + " {\n " +
2523
2506
indent + " builder << ',';\n " +
2507
+ indent + " }\n " +
2524
2508
indent + " builder << +" + fieldName + "(i);\n " +
2525
2509
indent + " }\n " +
2526
2510
indent + "}\n " +
@@ -2533,9 +2517,12 @@ private CharSequence writeTokenDisplay(
2533
2517
if (typeToken .encoding ().primitiveType () == PrimitiveType .CHAR )
2534
2518
{
2535
2519
sb .append (
2536
- indent + "if (std::isprint(" + fieldName + "())) {\n " +
2520
+ indent + "if (std::isprint(" + fieldName + "()))\n " +
2521
+ indent + "{\n " +
2537
2522
indent + " builder << '\" ' << (char)" + fieldName + "() << '\" ';\n " +
2538
- indent + "} else {\n " +
2523
+ indent + "}\n " +
2524
+ indent + "else\n " +
2525
+ indent + "{\n " +
2539
2526
indent + " builder << (int)" + fieldName + "();\n " +
2540
2527
indent + "}\n " );
2541
2528
}
@@ -2549,15 +2536,17 @@ private CharSequence writeTokenDisplay(
2549
2536
case BEGIN_ENUM :
2550
2537
sb .append (indent + "builder << '\" ' << " + fieldName + "() << '\" ';\n " );
2551
2538
break ;
2539
+
2552
2540
case BEGIN_SET :
2553
2541
sb .append (indent + "builder << " + fieldName + "();\n " );
2554
2542
break ;
2543
+
2555
2544
case BEGIN_COMPOSITE :
2556
2545
sb .append (indent + "builder << " + fieldName + "();\n " );
2557
2546
break ;
2558
2547
}
2559
2548
2560
- return sb . toString () ;
2549
+ return sb ;
2561
2550
}
2562
2551
2563
2552
private CharSequence generateChoicesDisplay (final String name , final List <Token > tokens )
@@ -2584,8 +2573,8 @@ private CharSequence generateChoicesDisplay(final String name, final List<Token>
2584
2573
for (int i = 0 , size = choiceTokens .size (); i < size ; i ++)
2585
2574
{
2586
2575
final Token token = choiceTokens .get (i );
2587
- sb .append (indent + " //" + token + "\n " );
2588
2576
final String choiceName = "writer." + formatPropertyName (token .name ());
2577
+
2589
2578
sb .append (
2590
2579
indent + " if (" + choiceName + "())\n " +
2591
2580
indent + " {\n " );
@@ -2612,7 +2601,7 @@ private CharSequence generateChoicesDisplay(final String name, final List<Token>
2612
2601
indent + " return builder;\n " +
2613
2602
indent + "}\n " );
2614
2603
2615
- return sb . toString () ;
2604
+ return sb ;
2616
2605
}
2617
2606
2618
2607
private CharSequence generateEnumDisplay (final List <Token > tokens , final Token encodingToken )
@@ -2625,15 +2614,13 @@ private CharSequence generateEnumDisplay(final List<Token> tokens, final Token e
2625
2614
" {\n " +
2626
2615
" switch (value)\n " +
2627
2616
" {\n " ,
2628
- enumName
2629
- ));
2617
+ enumName ));
2630
2618
2631
2619
for (final Token token : tokens )
2632
2620
{
2633
2621
sb .append (String .format (
2634
2622
" case %1$s: return \" %1$s\" ;\n " ,
2635
- token .name ())
2636
- );
2623
+ token .name ()));
2637
2624
}
2638
2625
2639
2626
sb .append (String .format (
@@ -2648,8 +2635,7 @@ private CharSequence generateEnumDisplay(final List<Token> tokens, final Token e
2648
2635
" {\n " +
2649
2636
" return os << %1$s::c_str(m);\n " +
2650
2637
" }\n " ,
2651
- enumName
2652
- ));
2638
+ enumName ));
2653
2639
2654
2640
return sb ;
2655
2641
}
0 commit comments