// File: /workspace/github_c_makefile_star2_O1/deplinenoise[P]tundra/unittest/Test_Json.cpp
// Function: JsonTest_ArrayMulti_Test::TestBody()
TEST_F(JsonTest, ArrayMulti)
{
  char input[] = "[false, null, true]";
  const JsonValue* v = JsonParse(input, &alloc, &scratch, error_msg);

  ASSERT_STREQ("", error_msg);
  ASSERT_NE(nullptr, v);

  const JsonArrayValue* array = v->AsArray();

  ASSERT_NE(nullptr, array);
  ASSERT_EQ(3, array->m_Count);
  ASSERT_EQ(JsonValue::kBoolean, array->m_Values[0]->m_Type);
  ASSERT_EQ(false, array->m_Values[0]->AsBoolean()->m_Boolean);
  ASSERT_EQ(JsonValue::kNull, array->m_Values[1]->m_Type);
  ASSERT_EQ(JsonValue::kBoolean, array->m_Values[2]->m_Type);
  ASSERT_EQ(true, array->m_Values[2]->AsBoolean()->m_Boolean);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x50, %rsp
movaps 0x1e22c(%rip), %xmm0    # 0x561d0
leaq 0x30(%rsp), %rax
movaps %xmm0, (%rax)
movl $0x5d6575, 0x10(%rax)   # imm = 0x5D6575
leaq 0x18(%rdi), %rsi
leaq 0x50(%rdi), %rdx
leaq 0x88(%rdi), %r14
movq %rax, %rdi
movq %r14, %rcx
callq 0x42144
movq %rax, 0x28(%rsp)
leaq 0x1dd56(%rip), %rsi     # 0x55d2f
leaq 0x1dd52(%rip), %rdx     # 0x55d32
leaq 0x20e6c(%rip), %rbx     # 0x58e53
leaq 0x10(%rsp), %r15
movq %r15, %rdi
movq %rbx, %rcx
movq %r14, %r8
callq 0x150d6
cmpb $0x0, (%r15)
je 0x38267
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
leaq 0x20(%rsp), %rcx
movq $0x0, (%rcx)
leaq 0x1d3b8(%rip), %rsi     # 0x553db
leaq 0x1cdb7(%rip), %rdx     # 0x54de1
leaq 0x10(%rsp), %rbx
leaq 0x28(%rsp), %r8
movq %rbx, %rdi
callq 0x3a063
cmpb $0x0, (%rbx)
je 0x382ef
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq 0x28(%rsp), %rax
xorl %ecx, %ecx
cmpl $0x3, (%rax)
cmoveq %rax, %rcx
leaq 0x20(%rsp), %r8
movq %rcx, (%r8)
movq %rsp, %rcx
movq $0x0, (%rcx)
leaq 0x1d363(%rip), %rsi     # 0x553db
leaq 0x1de84(%rip), %rdx     # 0x55f03
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3a0b3
cmpb $0x0, (%rbx)
je 0x38308
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0x3, (%rcx)
movq 0x20(%rsp), %r8
addq $0x8, %r8
leaq 0x1e47f(%rip), %rsi     # 0x56539
leaq 0x1de48(%rip), %rdx     # 0x55f09
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3352d
cmpb $0x0, (%rbx)
je 0x3839b
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0x1, (%rcx)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq (%rax), %r8
leaq 0x1dcd2(%rip), %rsi     # 0x55dd1
leaq 0x1de12(%rip), %rdx     # 0x55f18
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3aaac
cmpb $0x0, (%rbx)
je 0x3842f
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movb $0x0, (%rcx)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq (%rax), %rax
xorl %r8d, %r8d
cmpl $0x1, (%rax)
cmoveq %rax, %r8
addq $0x4, %r8
leaq 0x1c121(%rip), %rsi     # 0x54270
leaq 0x1dddd(%rip), %rdx     # 0x55f33
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3670e
cmpb $0x0, (%rbx)
je 0x384c3
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0x0, (%rcx)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x8(%rax), %r8
leaq 0x1ddc9(%rip), %rsi     # 0x55f5e
leaq 0x1ddd3(%rip), %rdx     # 0x55f6f
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3aaac
cmpb $0x0, (%rbx)
je 0x38557
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movl $0x1, (%rcx)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %r8
leaq 0x1dbf6(%rip), %rsi     # 0x55dd1
leaq 0x1dda8(%rip), %rdx     # 0x55f8a
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3aaac
cmpb $0x0, (%rbx)
je 0x385eb
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
movq %rsp, %rcx
movb $0x1, (%rcx)
movq 0x20(%rsp), %rax
movq 0x10(%rax), %rax
movq 0x10(%rax), %rax
xorl %r8d, %r8d
cmpl $0x1, (%rax)
cmoveq %rax, %r8
addq $0x4, %r8
leaq 0x1b4fe(%rip), %rsi     # 0x5372a
leaq 0x1dd72(%rip), %rdx     # 0x55fa5
leaq 0x10(%rsp), %rbx
movq %rbx, %rdi
callq 0x3670e
cmpb $0x0, (%rbx)
jne 0x38750
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x386eb
movq (%rax), %r8
jmp 0x386f2
leaq 0x20(%rsp), %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x3827e
movq (%rax), %rbx
leaq 0x1da93(%rip), %rdx     # 0x55d18
movq %rsp, %rdi
movl $0x2, %esi
movl $0x5f, %ecx
movq %rbx, %r8
callq 0x10bb8
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x10c56
movq %rsp, %rdi
callq 0x10c24
cmpq $0x0, 0x20(%rsp)
je 0x382de
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x382d5
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x382d5
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x20(%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
leaq 0x20(%rsp), %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x38326
movq (%rax), %r8
jmp 0x3832d
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x383b9
movq (%rax), %r8
jmp 0x383c0
leaq 0x20b26(%rip), %r8      # 0x58e53
leaq 0x1d9e4(%rip), %rdx     # 0x55d18
movq %rsp, %rdi
movl $0x2, %esi
movl $0x60, %ecx
callq 0x10bb8
movq %rsp, %rdi
leaq 0x20(%rsp), %rsi
callq 0x10c56
movq %rsp, %rdi
callq 0x10c24
cmpq $0x0, 0x20(%rsp)
je 0x3838a
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x38381
movq 0x20(%rsp), %rdi
testq %rdi, %rdi
je 0x38381
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, 0x20(%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x3844d
movq (%rax), %r8
jmp 0x38454
leaq 0x20a93(%rip), %r8      # 0x58e53
leaq 0x1d951(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x64, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x3841e
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x38416
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x38416
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x384e1
movq (%rax), %r8
jmp 0x384e8
leaq 0x209ff(%rip), %r8      # 0x58e53
leaq 0x1d8bd(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x65, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x384b2
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x384aa
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x384aa
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x38575
movq (%rax), %r8
jmp 0x3857c
leaq 0x2096b(%rip), %r8      # 0x58e53
leaq 0x1d829(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x66, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x38546
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x3853e
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3853e
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x38602
movq (%rax), %r8
jmp 0x38609
leaq 0x208d7(%rip), %r8      # 0x58e53
leaq 0x1d795(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x67, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x385da
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x385d2
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x385d2
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
movq %rsp, %rdi
callq 0x12eee
movq 0x18(%rsp), %rax
testq %rax, %rax
je 0x38678
movq (%rax), %r8
jmp 0x3867f
leaq 0x2084a(%rip), %r8      # 0x58e53
leaq 0x1d708(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x68, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x38667
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x3865f
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x3865f
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
leaq 0x207d4(%rip), %r8      # 0x58e53
leaq 0x1d692(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x69, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x386dd
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x386d5
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x386d5
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
jmp 0x3875c
leaq 0x20761(%rip), %r8      # 0x58e53
leaq 0x1d61f(%rip), %rdx     # 0x55d18
leaq 0x8(%rsp), %rdi
movl $0x2, %esi
movl $0x6a, %ecx
callq 0x10bb8
leaq 0x8(%rsp), %rdi
movq %rsp, %rsi
callq 0x10c56
leaq 0x8(%rsp), %rdi
callq 0x10c24
cmpq $0x0, (%rsp)
je 0x38750
movl $0x1, %edi
callq 0x10bb4
testb %al, %al
je 0x38748
movq (%rsp), %rdi
testq %rdi, %rdi
je 0x38748
movq (%rdi), %rax
callq *0x8(%rax)
movq $0x0, (%rsp)
leaq 0x18(%rsp), %rdi
xorl %esi, %esi
callq 0x2c81c
addq $0x50, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387d4
jmp 0x387e3
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x10c24
jmp 0x387e6
movq %rax, %rbx
movq %rsp, %rdi
jmp 0x38814
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
jmp 0x387ff
jmp 0x3880c
jmp 0x3881b
jmp 0x38830
jmp 0x38830
jmp 0x38830
movq %rax, %rbx
movq %rsp, %rdi
callq 0x10c24
jmp 0x3880f
movq %rax, %rbx
leaq 0x20(%rsp), %rdi
callq 0x31faa
jmp 0x3881e
movq %rax, %rbx
leaq 0x10(%rsp), %rdi
callq 0x31fbc
movq %rbx, %rdi
callq 0xcbb0
movq %rax, %rdi
callq 0x28baf