// File: /workspace/github_cpp_makefile_star2_O2/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, 0x10(%rsp)
movq %rsi, %rdi
callq 0x73cc6
movq %rax, 0x8(%rsp)
testl %eax, %eax
je 0x792c2
cmpl $0x2, 0x70(%rbx)
je 0x791aa
movq %rbx, %rdi
movq 0x10(%rsp), %rsi
callq 0x79414
testb %al, %al
je 0x792fe
leaq 0x2fae3(%rip), %rsi     # 0xa8c94
leaq 0x18(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x196d0
leaq 0x18(%rsp), %rsi
movq %rbx, %rdi
callq 0x793bc
leaq 0x18(%rsp), %rdi
callq 0x11270
movq %rbx, %rdi
callq 0x793f2
movq 0x10(%rbx), %r12
movq 0x18(%rbx), %r14
movq 0x8(%rsp), %rax
decl %eax
movq %rax, 0x8(%rsp)
xorl %r15d, %r15d
xorl %r13d, %r13d
movq 0x10(%rsp), %rdi
movl %r13d, %esi
callq 0x75d38
movq %rax, %rbp
movq %rbx, %rdi
movq %rax, %rsi
callq 0x78c44
cmpq %r14, %r12
je 0x7922a
movq 0x10(%rbx), %rsi
addq %r15, %rsi
movq %rbx, %rdi
callq 0x793bc
jmp 0x7925c
movb 0xd8(%rbx), %al
testb $0x2, %al
jne 0x79242
movq %rbx, %rdi
callq 0x78d16
movb 0xd8(%rbx), %al
orb $0x2, %al
movb %al, 0xd8(%rbx)
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x78d3e
andb $-0x3, 0xd8(%rbx)
cmpq %r13, 0x8(%rsp)
je 0x7928a
incq %r13
movq 0x8(%rbx), %rdi
leaq 0x305cd(%rip), %rsi     # 0xa983e
callq 0x115a0
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x7904e
addq $0x20, %r15
jmp 0x791f9
movq %rbx, %rdi
movq %rbp, %rsi
callq 0x7904e
movq %rbx, %rdi
callq 0x79400
leaq 0x2fa1b(%rip), %rsi     # 0xa8cbf
leaq 0x18(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x196d0
leaq 0x18(%rsp), %rsi
movq %rbx, %rdi
callq 0x793bc
jmp 0x792e5
leaq 0x336a4(%rip), %rsi     # 0xac96d
leaq 0x18(%rsp), %rdi
leaq 0x7(%rsp), %rdx
callq 0x196d0
leaq 0x18(%rsp), %rsi
movq %rbx, %rdi
callq 0x79148
leaq 0x18(%rsp), %rdi
callq 0x11270
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq 0x8(%rbx), %rdi
leaq 0x2f98b(%rip), %rsi     # 0xa8c94
callq 0x115a0
cmpq $0x0, 0x58(%rbx)
je 0x79325
movq 0x8(%rbx), %rdi
leaq 0x30274(%rip), %rsi     # 0xa9594
callq 0x115a0
movl 0x8(%rsp), %r15d
shlq $0x5, %r15
xorl %r12d, %r12d
leaq 0x3363b(%rip), %r14     # 0xac973
cmpq %r12, %r15
je 0x79364
testq %r12, %r12
je 0x7934e
movq 0x8(%rbx), %rdi
movq %r14, %rsi
callq 0x115a0
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rsi
addq %r12, %rsi
callq 0x11520
addq $0x20, %r12
jmp 0x79338
cmpq $0x0, 0x58(%rbx)
je 0x7937b
movq 0x8(%rbx), %rdi
leaq 0x3021e(%rip), %rsi     # 0xa9594
callq 0x115a0
movq 0x8(%rbx), %rdi
leaq 0x2f939(%rip), %rsi     # 0xa8cbf
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x115a0
jmp 0x793a1
jmp 0x793b0
jmp 0x793a1
jmp 0x793b0
movq %rax, %rbx
leaq 0x18(%rsp), %rdi
callq 0x11270
jmp 0x793b3
movq %rax, %rbx
movq %rbx, %rdi
callq 0x11a80
nop