// File: /workspace/github_cpp_makefile_star2_O3/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, 0x28(%rsp)
movq %rsi, %rdi
callq 0x7f26c
movq %rax, 0x20(%rsp)
testl %eax, %eax
je 0x8659a
cmpl $0x2, 0x70(%rbx)
je 0x8644c
movq %rbx, %rdi
movq 0x28(%rsp), %rsi
callq 0x8672e
testb %al, %al
je 0x865e9
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x358b8(%rip), %rsi     # 0xbbd14
leaq 0x358b2(%rip), %rdx     # 0xbbd15
movq %rsp, %rdi
callq 0x1a88c
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x866cc
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x8648c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x115c0
leaq 0x28(%rbx), %rdi
movq 0x50(%rbx), %rsi
movq 0x58(%rbx), %rdx
movq %rdi, 0x30(%rsp)
callq 0x111e0
movq 0x10(%rbx), %r13
movq 0x18(%rbx), %r14
movq 0x20(%rsp), %rax
decl %eax
movq %rax, 0x20(%rsp)
xorl %r15d, %r15d
xorl %ebp, %ebp
movq 0x28(%rsp), %rdi
movl %ebp, %esi
callq 0x81c1c
movq %rax, %r12
movq %rbx, %rdi
movq %rax, %rsi
callq 0x85c40
cmpq %r14, %r13
je 0x864eb
movq 0x10(%rbx), %rsi
addq %r15, %rsi
movq %rbx, %rdi
callq 0x866cc
jmp 0x8651d
movb 0xd8(%rbx), %al
testb $0x2, %al
jne 0x86503
movq %rbx, %rdi
callq 0x85d60
movb 0xd8(%rbx), %al
orb $0x2, %al
movb %al, 0xd8(%rbx)
movq %rbx, %rdi
movq %r12, %rsi
callq 0x85d9c
andb $-0x3, 0xd8(%rbx)
cmpq %rbp, 0x20(%rsp)
je 0x86550
incq %rbp
movq 0x8(%rbx), %rdi
movl $0x1, %edx
leaq 0x363d7(%rip), %rsi     # 0xbc90e
callq 0x116c0
movq %rbx, %rdi
movq %r12, %rsi
callq 0x86234
addq $0x20, %r15
jmp 0x864bb
movq %rbx, %rdi
movq %r12, %rsi
callq 0x86234
movq 0x30(%rbx), %rsi
subq 0x58(%rbx), %rsi
movq 0x30(%rsp), %rdi
xorl %edx, %edx
callq 0x111d0
movq %rsp, %rdi
leaq 0x10(%rsp), %r14
movq %r14, (%rdi)
leaq 0x357be(%rip), %rsi     # 0xbbd3f
leaq 0x357b8(%rip), %rdx     # 0xbbd40
callq 0x1a88c
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x866cc
jmp 0x865c4
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0x394b3(%rip), %rsi     # 0xbfa5d
leaq 0x394ae(%rip), %rdx     # 0xbfa5f
movq %rsp, %rdi
callq 0x1a88c
movq %rsp, %rsi
movq %rbx, %rdi
callq 0x863e0
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x865da
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 0x35720(%rip), %rsi     # 0xbbd14
movl $0x1, %edx
callq 0x116c0
cmpq $0x0, 0x58(%rbx)
je 0x8661a
movq 0x8(%rbx), %rdi
leaq 0x36054(%rip), %rsi     # 0xbc664
movl $0x1, %edx
callq 0x116c0
movl 0x20(%rsp), %r15d
xorl %r12d, %r12d
leaq 0x3943a(%rip), %r14     # 0xbfa63
testq %r12, %r12
je 0x8663f
movq 0x8(%rbx), %rdi
movl $0x2, %edx
movq %r14, %rsi
callq 0x116c0
movq 0x8(%rbx), %rdi
movq 0x10(%rbx), %rax
movq (%rax,%r12), %rsi
movq 0x8(%rax,%r12), %rdx
callq 0x116c0
addq $0x20, %r12
decq %r15
jne 0x86629
cmpq $0x0, 0x58(%rbx)
je 0x8667a
movq 0x8(%rbx), %rdi
leaq 0x35ff4(%rip), %rsi     # 0xbc664
movl $0x1, %edx
callq 0x116c0
movq 0x8(%rbx), %rdi
leaq 0x356ba(%rip), %rsi     # 0xbbd3f
movl $0x1, %edx
addq $0x38, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
jmp 0x116c0
jmp 0x866a5
jmp 0x866c0
jmp 0x866a5
jmp 0x866c0
movq %rax, %rbx
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x866c3
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x115c0
jmp 0x866c3
movq %rax, %rbx
movq %rbx, %rdi
callq 0x11a60
nop