// File: /workspace/github_cpp_makefile_star2_O2/yanlinlin82[P]jsonxx/demo.new.cpp
// Function: test_parser()
void test_parser()
{
	json j;
	j.parse("null");  std::cout << "[TEST:125] j = " << j << " // expected: null" << std::endl;
	j.parse("false"); std::cout << "[TEST:126] j = " << j << " // expected: false" << std::endl;
	j.parse("true");  std::cout << "[TEST:127] j = " << j << " // expected: true" << std::endl;

	j.parse("123");   std::cout << "[TEST:129] j = " << j << " // expected: 123" << std::endl;
	j.parse("3.14");  std::cout << "[TEST:130] j = " << j << " // expected: 3.14" << std::endl;
	j.parse("-.618"); std::cout << "[TEST:131] j = " << j << " // expected: -.618" << std::endl;

	j.parse("\"\""); std::cout << "[TEST:133] j = " << j << " // expected: \"\"" << std::endl;
	j.parse("[]"); std::cout << "[TEST:134] j = " << j << " // expected: []" << std::endl;
	j.parse("{}"); std::cout << "[TEST:135] j = " << j << " // expected: {}" << std::endl;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %rbx
subq $0x98, %rsp
leaq -0x88(%rbp), %rax
andl $0x0, -0x18(%rax)
movq %rax, -0x10(%rax)
andq $0x0, -0x8(%rax)
movb $0x0, (%rax)
xorps %xmm0, %xmm0
movups %xmm0, 0x10(%rax)
andq $0x0, 0x20(%rax)
leaq -0x58(%rbp), %rax
andl $0x0, (%rax)
andq $0x0, 0x8(%rax)
movq %rax, 0x10(%rax)
movq %rax, 0x18(%rax)
andq $0x0, 0x20(%rax)
leaq 0x5483(%rip), %rsi      # 0xa0ad
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa37c(%rip), %rdi      # 0xefd8
leaq 0x5d02(%rip), %rsi      # 0xa965
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5421(%rip), %rsi      # 0xa09f
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x543b(%rip), %rsi      # 0xa0d0
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa311(%rip), %rdi      # 0xefd8
leaq 0x5ca7(%rip), %rsi      # 0xa975
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x53d9(%rip), %rsi      # 0xa0c2
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x53f4(%rip), %rsi      # 0xa0f4
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa2a6(%rip), %rdi      # 0xefd8
leaq 0x5c4c(%rip), %rsi      # 0xa985
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5392(%rip), %rsi      # 0xa0e6
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x53cc(%rip), %rsi      # 0xa137
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa23b(%rip), %rdi      # 0xefd8
leaq 0x5bf1(%rip), %rsi      # 0xa995
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x536a(%rip), %rsi      # 0xa129
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x56aa(%rip), %rsi      # 0xa480
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa1d0(%rip), %rdi      # 0xefd8
leaq 0x5b96(%rip), %rsi      # 0xa9a5
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5648(%rip), %rsi      # 0xa472
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x5b92(%rip), %rsi      # 0xa9d3
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa165(%rip), %rdi      # 0xefd8
leaq 0x5b3b(%rip), %rsi      # 0xa9b5
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5b30(%rip), %rsi      # 0xa9c5
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x5b4b(%rip), %rsi      # 0xa9f7
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa0fa(%rip), %rdi      # 0xefd8
leaq 0x5af4(%rip), %rsi      # 0xa9d9
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5ae9(%rip), %rsi      # 0xa9e9
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x5b01(%rip), %rsi      # 0xaa18
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa08f(%rip), %rdi      # 0xefd8
leaq 0x5aaa(%rip), %rsi      # 0xa9fa
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5a9f(%rip), %rsi      # 0xaa0a
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq 0x5ab7(%rip), %rsi      # 0xaa39
leaq -0x30(%rbp), %rdi
leaq -0x9(%rbp), %rdx
callq 0x507a
leaq -0xa0(%rbp), %rdi
leaq -0x30(%rbp), %rsi
pushq $0x1
popq %rcx
xorl %edx, %edx
callq 0x5dde
leaq -0x30(%rbp), %rdi
callq 0x23e8
movq 0xa024(%rip), %rdi      # 0xefd8
leaq 0x5a60(%rip), %rsi      # 0xaa1b
callq 0x2220
leaq -0xa0(%rbp), %rsi
movq %rax, %rdi
callq 0x50f6
leaq 0x5a55(%rip), %rsi      # 0xaa2b
movq %rax, %rdi
callq 0x2220
movq %rax, %rdi
callq 0x20e0
leaq -0xa0(%rbp), %rdi
callq 0x565a
addq $0x98, %rsp
popq %rbx
popq %rbp
retq
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
jmp 0x501c
jmp 0x502c
movq %rax, %rbx
leaq -0x30(%rbp), %rdi
callq 0x23e8
jmp 0x502f
jmp 0x502c
movq %rax, %rbx
leaq -0xa0(%rbp), %rdi
callq 0x565a
movq %rbx, %rdi
callq 0x2370