// File: /workspace/github_cpp_makefile_star2_O1/tomfunkhouser[P]gaps/pkgs/RNBasics/json.cpp
// Function: Json::BuiltStyledStreamWriter::writeArrayValue(Json::Value const&)
void BuiltStyledStreamWriter::writeArrayValue(Value const& value) {
  unsigned size = value.size();
  if (size == 0)
    pushValue("[]");
  else {
    bool isMultiLine = (cs_ == CommentStyle::All) || isMultineArray(value);
    if (isMultiLine) {
      writeWithIndent("[");
      indent();
      bool hasChildValue = !childValues_.empty();
      unsigned index = 0;
      for (;;) {
        Value const& childValue = value[index];
        writeCommentBeforeValue(childValue);
        if (hasChildValue)
          writeWithIndent(childValues_[index]);
        else {
          if (!indented_) writeIndent();
          indented_ = true;
          writeValue(childValue);
          indented_ = false;
        }
        if (++index == size) {
          writeCommentAfterValueOnSameLine(childValue);
          break;
        }
        *sout_ << ",";
        writeCommentAfterValueOnSameLine(childValue);
      }
      unindent();
      writeWithIndent("]");
    } else // output on a single line
    {
      assert(childValues_.size() == size);
      *sout_ << "[";
      if (!indentation_.empty()) *sout_ << " ";
      for (unsigned index = 0; index < size; ++index) {
        if (index > 0)
          *sout_ << ", ";
        *sout_ << childValues_[index];
      }
      if (!indentation_.empty()) *sout_ << " ";
      *sout_ << "]";
    }
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x38, %rsp
movq %rdi, %rbx
movq %rsi, 0x20(%rsp)
movq %rsi, %rdi
callq 0x80e7c
testl %eax, %eax
je 0x8863d
movl %eax, %r14d
cmpl $0x2, 0x70(%rbx)
je 0x884fa
movq %rbx, %rdi
movq 0x20(%rsp), %rsi
callq 0x887e4
testb %al, %al
je 0x8868c
leaq 0x10(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0x3580a(%rip), %rsi     # 0xbdd14
leaq 0x35804(%rip), %rdx     # 0xbdd15
movq %rsp, %rdi
callq 0x1ab58
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x88782
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x8853a
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x28(%rbx), %rdi
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
movq %rdi, 0x28(%rsp)
callq 0x111e0
movq 0x10(%rbx), %rax
movq %rax, 0x30(%rsp)
movq 0x18(%rbx), %r15
negl %r14d
xorl %r13d, %r13d
xorl %ebp, %ebp
movq 0x20(%rsp), %rdi
movl %r13d, %esi
callq 0x83aaa
movq %rax, %r12
movq %rbx, %rdi
movq %rax, %rsi
callq 0x87cec
cmpq %r15, 0x30(%rsp)
je 0x88598
movq 0x10(%rbx), %rsi
addq %rbp, %rsi
movq %rbx, %rdi
callq 0x88782
jmp 0x885c2
testb $0x2, 0xd8(%rbx)
jne 0x885a9
movq %rbx, %rdi
callq 0x87e02
orb $0x2, 0xd8(%rbx)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x87e3e
andb $-0x3, 0xd8(%rbx)
leal (%r14,%r13), %eax
cmpl $-0x1, %eax
je 0x885e0
movq 0x8(%rbx), %rdi
movl $0x1, %edx
leaq 0x36336(%rip), %rsi     # 0xbe911
callq 0x116d0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x882de
addq $0x20, %rbp
incl %r13d
movl %r14d, %eax
addl %r13d, %eax
jne 0x88565
movq 0x30(%rbx), %rsi
subq 0x58(%rbx), %rsi
movq 0x28(%rsp), %rdi
xorl %edx, %edx
callq 0x111d0
movq %rsp, %rdi
leaq 0x10(%rsp), %r14
movq %r14, (%rdi)
leaq 0x3571b(%rip), %rsi     # 0xbdd3f
leaq 0x35715(%rip), %rdx     # 0xbdd40
callq 0x1ab58
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x88782
jmp 0x88667
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x39403(%rip), %rsi     # 0xc1a50
leaq 0x393fe(%rip), %rdx     # 0xc1a52
movq %rsp, %rdi
callq 0x1ab58
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x88490
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x8867d
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x115c0
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rdi
leaq 0x3567d(%rip), %rsi     # 0xbdd14
movl $0x1, %edx
callq 0x116d0
cmpq $0x0, 0x58(%rbx)
je 0x886bd
movq 0x8(%rbx), %rdi
leaq 0x35fb4(%rip), %rsi     # 0xbe667
movl $0x1, %edx
callq 0x116d0
cmpl $0x1, %r14d
adcl $0x0, %r14d
shlq $0x5, %r14
xorl %r12d, %r12d
leaq 0x39383(%rip), %r15     # 0xc1a56
testq %r12, %r12
je 0x886e9
movq 0x8(%rbx), %rdi
movl $0x2, %edx
movq %r15, %rsi
callq 0x116d0
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rax
movq (%rax,%r12), %rsi
movq 0x8(%rax,%r12), %rdx
callq 0x116d0
addq $0x20, %r12
cmpq %r12, %r14
jne 0x886d3
cmpq $0x0, 0x58(%rbx)
je 0x88724
movq 0x8(%rbx), %rdi
leaq 0x35f4d(%rip), %rsi     # 0xbe667
movl $0x1, %edx
callq 0x116d0
movq 0x8(%rbx), %rdi
leaq 0x35610(%rip), %rsi     # 0xbdd3f
movl $0x1, %edx
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x116d0
jmp 0x8874b
jmp 0x88776
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
jne 0x88767
jmp 0x88779
jmp 0x88776
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r15, %rdi
je 0x88779
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x88779
movq %rax, %rbx
movq %rbx, %rdi
callq 0x11a70
nop