@@ -390,14 +390,11 @@ private static void generateArray(ThreadContext context, Session session, RubyAr
390390
391391 buffer .write ('[' );
392392 buffer .write (arrayNLBytes , arrayNLBegin , arrayNLSize );
393- boolean firstItem = true ;
394393
395394 int length = object .getLength ();
396- for (int i = 0 , t = length ; i < t ; i ++) {
395+ for (int i = 0 ; i < length ; i ++) {
397396 IRubyObject element = object .eltInternal (i );
398- if (firstItem ) {
399- firstItem = false ;
400- } else {
397+ if (i > 0 ) {
401398 buffer .write (',' );
402399 if (!arrayNLEmpty ) {
403400 buffer .write (arrayNLBytes , arrayNLBegin , arrayNLSize );
@@ -407,10 +404,10 @@ private static void generateArray(ThreadContext context, Session session, RubyAr
407404 generateFor (context , session , element , buffer );
408405 }
409406
410- state .decreaseDepth ();
407+ int oldDepth = state .decreaseDepth ();
411408 if (!arrayNLEmpty ) {
412409 buffer .write (arrayNLBytes , arrayNLBegin , arrayNLSize );
413- Utils .repeatWrite (buffer , indentUnit , state . getDepth () );
410+ Utils .repeatWrite (buffer , indentUnit , oldDepth );
414411 }
415412
416413 buffer .write ((byte ) ']' );
@@ -451,19 +448,19 @@ private static void generateHash(ThreadContext context, Session session, RubyHas
451448 final ByteList spaceBefore = state .getSpaceBefore ();
452449 final ByteList space = state .getSpace ();
453450
454- buffer .write (( byte ) '{' );
451+ buffer .write ('{' );
455452 buffer .write (objectNLBytes );
456453
457454 boolean firstPair = true ;
458455 for (RubyHash .RubyHashEntry entry : (Set <RubyHash .RubyHashEntry >) object .directEntrySet ()) {
459456 processEntry (context , session , buffer , entry , firstPair , objectNl , indent , spaceBefore , space );
460457 firstPair = false ;
461458 }
462- state .decreaseDepth ();
459+ int oldDepth = state .decreaseDepth ();
463460 if (!firstPair && !objectNl .isEmpty ()) {
464461 buffer .write (objectNLBytes );
465462 }
466- buffer . write ( Utils .repeat ( state .getIndent (), state . getDepth ()) );
463+ Utils .repeatWrite ( buffer , state .getIndent (), oldDepth );
467464 buffer .write ((byte )'}' );
468465 }
469466
0 commit comments