// File: menhits[P]phplus/src/Type.cpp
// Function: PrimType::getCppLiteral[abi:cxx11](void*, CppProgram*)
string getCppLiteral(void * data, CppProgram * prog)
	{
		string val;
		
		switch (primType)
		{
			case BOOL: val=(*(bool*)data)?"true":"false"; break;
			case BYTE: val=to_string(*(unsigned char*)data); break;
			case INT: val=to_string(*(int*)data); break;
			case DUB: val=doubleToString(*(double*)data); break;
			/*{
				std::ostringstream ss;
				ss << *(double*)data;
				val=ss.str();
			}
			break;*/
			
			default:
				throw PhplusError("tried to convert " + getString() + " to C++ code", INTERNAL_ERROR);
		}
		
		return val;
	}

// Assembly:
subq $0x148, %rsp            # imm = 0x148
movq %rdi, 0x18(%rsp)
movq %rdi, %rax
movq %rax, 0x20(%rsp)
movq %rdi, 0x140(%rsp)
movq %rsi, 0x138(%rsp)
movq %rdx, 0x130(%rsp)
movq %rcx, 0x128(%rsp)
movq 0x138(%rsp), %rax
movq %rax, 0x28(%rsp)
movb $0x0, 0x127(%rsp)
callq 0xb4e0
movq 0x28(%rsp), %rax
movl 0x48(%rax), %eax
addl $-0x2, %eax
movl %eax, %ecx
movq %rcx, 0x30(%rsp)
subl $0x4, %eax
ja 0xa1471
movq 0x30(%rsp), %rax
leaq 0x34a1f(%rip), %rcx     # 0xd5d84
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq 0x18(%rsp), %rdi
movq 0x130(%rsp), %rax
movb (%rax), %cl
leaq 0x309bf(%rip), %rax     # 0xd1d43
leaq 0x30940(%rip), %rsi     # 0xd1ccb
testb $0x1, %cl
cmovneq %rax, %rsi
callq 0xb4b0
jmp 0xa1399
jmp 0xa15b6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xa15df
movq 0x130(%rsp), %rax
movzbl (%rax), %esi
leaq 0xf0(%rsp), %rdi
callq 0x2dc70
jmp 0xa13d1
movq 0x18(%rsp), %rdi
leaq 0xf0(%rsp), %rsi
callq 0xb450
leaq 0xf0(%rsp), %rdi
callq 0xb6e8
jmp 0xa15b6
movq 0x130(%rsp), %rax
movl (%rax), %esi
leaq 0xd0(%rsp), %rdi
callq 0x2dc70
jmp 0xa140e
movq 0x18(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0xb450
leaq 0xd0(%rsp), %rdi
callq 0xb6e8
jmp 0xa15b6
movq 0x130(%rsp), %rax
movsd (%rax), %xmm0
leaq 0xb0(%rsp), %rdi
callq 0xac4a0
jmp 0xa144d
movq 0x18(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xb450
leaq 0xb0(%rsp), %rdi
callq 0xb6e8
jmp 0xa15b6
movb $0x1, 0x3f(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq 0x28(%rsp), %rsi
movq %rax, 0x10(%rsp)
movq (%rsi), %rax
movq 0x8(%rax), %rax
leaq 0x50(%rsp), %rdi
callq *%rax
jmp 0xa149a
leaq 0x34a97(%rip), %rsi     # 0xd5f38
leaq 0x70(%rsp), %rdi
leaq 0x50(%rsp), %rdx
callq 0x1bcf0
jmp 0xa14b2
leaq 0x34a91(%rip), %rdx     # 0xd5f4a
leaq 0x90(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0xfa60
jmp 0xa14cd
xorl %eax, %eax
movl %eax, %esi
leaq 0x40(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xfbe0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rcx
leaq 0x90(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0xa14fe
movq 0x10(%rsp), %rdi
movb $0x0, 0x3f(%rsp)
leaq 0x740b9(%rip), %rsi     # 0x1155c8
leaq -0x86ea6(%rip), %rdx    # 0x1a670
callq 0xb640
jmp 0xa15f6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xa15a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xa1597
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
jmp 0xa158d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x118(%rsp)
movl %eax, 0x114(%rsp)
leaq 0x40(%rsp), %rdi
callq 0xfc00
leaq 0x90(%rsp), %rdi
callq 0xb6e8
leaq 0x70(%rsp), %rdi
callq 0xb6e8
leaq 0x50(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x3f(%rsp)
jne 0xa15aa
jmp 0xa15b4
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0xa15df
movb $0x1, 0x127(%rsp)
testb $0x1, 0x127(%rsp)
jne 0xa15d2
movq 0x18(%rsp), %rdi
callq 0xb6e8
movq 0x20(%rsp), %rax
addq $0x148, %rsp            # imm = 0x148
retq
movq 0x18(%rsp), %rdi
callq 0xb6e8
movq 0x118(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)