// File: menhits[P]phplus/src/Type.cpp
// Function: TupleType::getCppLiteral[abi:cxx11](void*, CppProgram*)
string getCppLiteral(void * data, CppProgram * prog)
	{
		if (subTypes->size()==1)
		{
			return (*subTypes)[0].type->getCppLiteral(data, prog);
		}
		
		string out;
		out+=prog->getTypeCode(shared_from_this());
		
		out+="(";
		
		for (int i=0; i<int(subTypes->size()); i++)
		{
			if (i)
				out+=", ";
			
			out+=(*subTypes)[i].type->getCppLiteral((char*)data+getSubType((*subTypes)[i].name).offset, prog);
		}
		
		out+=")";
		
		return out;
	}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rdi, 0x30(%rsp)
movq %rdi, %rax
movq %rax, 0x38(%rsp)
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
movq %rdx, 0xf0(%rsp)
movq %rcx, 0xe8(%rsp)
movq 0xf8(%rsp), %rdi
movq %rdi, 0x40(%rsp)
addq $0x48, %rdi
callq 0xa0ae0
movq %rax, %rdi
callq 0x2df40
cmpq $0x1, %rax
jne 0xa3651
movq 0x40(%rsp), %rdi
addq $0x48, %rdi
callq 0xa0b20
movq %rax, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0x2df60
movq %rax, %rdi
addq $0x20, %rdi
callq 0x1a660
movq 0x30(%rsp), %rdi
movq %rax, %rsi
movq 0xf0(%rsp), %rdx
movq 0xe8(%rsp), %rcx
movq (%rsi), %rax
callq *0x18(%rax)
jmp 0xa394c
movq 0x30(%rsp), %rdi
movb $0x0, 0xe7(%rsp)
callq 0xb4e0
movq 0x40(%rsp), %rsi
movq 0xe8(%rsp), %rax
movq %rax, 0x28(%rsp)
addq $0x8, %rsi
leaq 0xb0(%rsp), %rdi
callq 0xa0440
jmp 0xa3688
movq 0x28(%rsp), %rsi
leaq 0xc0(%rsp), %rdi
leaq 0xb0(%rsp), %rdx
callq 0x285b0
jmp 0xa36a4
movq 0x30(%rsp), %rdi
leaq 0xc0(%rsp), %rsi
callq 0xb470
jmp 0xa36b8
leaq 0xc0(%rsp), %rdi
callq 0xb6e8
leaq 0xb0(%rsp), %rdi
callq 0x1a950
movq 0x30(%rsp), %rdi
leaq 0x33b0a(%rip), %rsi     # 0xd71e8
callq 0xb360
jmp 0xa36e5
movl $0x0, 0xa0(%rsp)
movq 0x40(%rsp), %rdi
movl 0xa0(%rsp), %eax
movl %eax, 0x24(%rsp)
addq $0x48, %rdi
callq 0xa0ae0
movq %rax, %rdi
callq 0x2df40
movq %rax, %rcx
movl 0x24(%rsp), %eax
cmpl %ecx, %eax
jge 0xa390f
cmpl $0x0, 0xa0(%rsp)
je 0xa37a1
movq 0x30(%rsp), %rdi
leaq 0x31fb4(%rip), %rsi     # 0xd56ea
callq 0xb360
jmp 0xa373d
jmp 0xa37a1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xa3940
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xa378f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0xb6e8
leaq 0xb0(%rsp), %rdi
callq 0x1a950
jmp 0xa3940
movq 0x40(%rsp), %rdi
addq $0x48, %rdi
callq 0xa0b20
movq %rax, 0x18(%rsp)
jmp 0xa37b6
movq 0x18(%rsp), %rdi
movslq 0xa0(%rsp), %rsi
callq 0x2df60
movq %rax, %rdi
addq $0x20, %rdi
callq 0x1a660
movq 0x40(%rsp), %rdi
movq %rax, (%rsp)
movq 0xf0(%rsp), %rax
movq %rax, 0x8(%rsp)
addq $0x48, %rdi
callq 0xa0b20
movq %rax, 0x10(%rsp)
jmp 0xa37fa
movq 0x10(%rsp), %rdi
movslq 0xa0(%rsp), %rsi
callq 0x2df60
movq %rax, %rsi
leaq 0x48(%rsp), %rdi
callq 0xb1a0
jmp 0xa381b
movq 0x40(%rsp), %rsi
movq (%rsi), %rax
movq 0x50(%rax), %rax
leaq 0x68(%rsp), %rdi
leaq 0x48(%rsp), %rdx
callq *%rax
jmp 0xa3835
movq (%rsp), %rsi
movq 0x8(%rsp), %rdx
movq 0x68(%rsp), %rax
addq %rax, %rdx
movq 0xe8(%rsp), %rcx
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq 0x80(%rsp), %rdi
callq *%rax
jmp 0xa3861
movq 0x30(%rsp), %rdi
leaq 0x80(%rsp), %rsi
callq 0xb470
jmp 0xa3875
leaq 0x80(%rsp), %rdi
callq 0xb6e8
leaq 0x68(%rsp), %rdi
callq 0x3eec0
leaq 0x48(%rsp), %rdi
callq 0xb6e8
movl 0xa0(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xa0(%rsp)
jmp 0xa36f0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xa3903
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
jmp 0xa38f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa8(%rsp)
movl %eax, 0xa4(%rsp)
leaq 0x80(%rsp), %rdi
callq 0xb6e8
leaq 0x68(%rsp), %rdi
callq 0x3eec0
leaq 0x48(%rsp), %rdi
callq 0xb6e8
jmp 0xa3940
movq 0x30(%rsp), %rdi
leaq 0x323d6(%rip), %rsi     # 0xd5cf1
callq 0xb360
jmp 0xa3922
movb $0x1, 0xe7(%rsp)
testb $0x1, 0xe7(%rsp)
jne 0xa393e
movq 0x30(%rsp), %rdi
callq 0xb6e8
jmp 0xa394c
movq 0x30(%rsp), %rdi
callq 0xb6e8
jmp 0xa3959
movq 0x38(%rsp), %rax
addq $0x108, %rsp            # imm = 0x108
retq
movq 0xa8(%rsp), %rdi
callq 0xb680
nopw %cs:(%rax,%rax)