// File: menhits[P]phplus/src/AstNode.cpp
// Function: AstTupleType::resolveReturnType()
void AstTupleType::resolveReturnType()
{
	TupleTypeMaker maker;
	
	for (unsigned i=0; i<subTypes.size(); i++)
	{
		subTypes[i].type->setInput(ns, false, Void, Void);
		
		if (subTypes[i].name)
		{
			maker.add(subTypes[i].name->getText(), subTypes[i].type->getReturnType()->getSubType());
		}
		else
		{
			maker.add(subTypes[i].type->getReturnType()->getSubType());
		}
	}
	
	returnType=maker.get(true)->getMeta();
}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x110(%rsp)
movq 0x110(%rsp), %rax
movq %rax, 0x38(%rsp)
leaq 0x108(%rsp), %rdi
callq 0x9f900
movl $0x0, 0x104(%rsp)
movq 0x38(%rsp), %rdi
movl 0x104(%rsp), %eax
movq %rax, 0x30(%rsp)
addq $0x88, %rdi
callq 0x1c010
movq %rax, %rcx
movq 0x30(%rsp), %rax
cmpq %rcx, %rax
jae 0x1a432
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
movl 0x104(%rsp), %eax
movl %eax, %esi
callq 0x1c030
movq %rax, %rdi
addq $0x10, %rdi
callq 0x1c070
movq 0x38(%rsp), %rsi
movq %rax, 0x10(%rsp)
addq $0x70, %rsi
leaq 0xf0(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0x1a8f0
leaq 0xfe389(%rip), %rsi     # 0x1184a8
movq %rsi, 0x8(%rsp)
leaq 0xe0(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0x1a920
movq 0x8(%rsp), %rsi
leaq 0xd0(%rsp), %rdi
movq %rdi, 0x28(%rsp)
callq 0x1a920
movq 0x10(%rsp), %rdi
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rcx
movq 0x28(%rsp), %r8
xorl %edx, %edx
callq 0x1a6f0
jmp 0x1a16a
leaq 0xd0(%rsp), %rdi
callq 0x1a950
leaq 0xe0(%rsp), %rdi
callq 0x1a950
leaq 0xf0(%rsp), %rdi
callq 0x1a6e0
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
movl 0x104(%rsp), %eax
movl %eax, %esi
callq 0x1c030
movq %rax, %rdi
callq 0x1c050
testb $0x1, %al
jne 0x1a1bc
jmp 0x1a35b
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
movl 0x104(%rsp), %eax
movl %eax, %esi
callq 0x1c030
movq %rax, %rdi
callq 0x1bb70
movq %rax, %rsi
leaq 0xa0(%rsp), %rdi
callq 0x1bb80
jmp 0x1a1f0
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
movl 0x104(%rsp), %eax
movl %eax, %esi
callq 0x1c030
movq %rax, %rdi
addq $0x10, %rdi
callq 0x1c070
movq %rax, %rsi
leaq 0x80(%rsp), %rdi
callq 0x1aec0
jmp 0x1a228
leaq 0x80(%rsp), %rdi
callq 0x1a660
movq %rax, %rsi
movq (%rsi), %rax
movq 0x48(%rax), %rax
leaq 0x90(%rsp), %rdi
callq *%rax
jmp 0x1a24b
leaq 0x108(%rsp), %rdi
leaq 0xa0(%rsp), %rsi
leaq 0x90(%rsp), %rdx
callq 0x9f990
jmp 0x1a26a
leaq 0x90(%rsp), %rdi
callq 0x1a950
leaq 0x80(%rsp), %rdi
callq 0x1a950
leaq 0xa0(%rsp), %rdi
callq 0xb6e8
jmp 0x1a41a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0xd0(%rsp), %rdi
callq 0x1a950
leaq 0xe0(%rsp), %rdi
callq 0x1a950
leaq 0xf0(%rsp), %rdi
callq 0x1a6e0
jmp 0x1a4be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x1a4be
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x1a349
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x1a33c
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x1a950
leaq 0x80(%rsp), %rdi
callq 0x1a950
leaq 0xa0(%rsp), %rdi
callq 0xb6e8
jmp 0x1a4be
movq 0x38(%rsp), %rdi
addq $0x88, %rdi
movl 0x104(%rsp), %eax
movl %eax, %esi
callq 0x1c030
movq %rax, %rdi
addq $0x10, %rdi
callq 0x1c070
movq %rax, %rsi
leaq 0x60(%rsp), %rdi
callq 0x1aec0
jmp 0x1a390
leaq 0x60(%rsp), %rdi
callq 0x1a660
movq %rax, %rsi
movq (%rsi), %rax
movq 0x48(%rax), %rax
leaq 0x70(%rsp), %rdi
callq *%rax
jmp 0x1a3ad
leaq 0x108(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x9fb70
jmp 0x1a3c1
leaq 0x70(%rsp), %rdi
callq 0x1a950
leaq 0x60(%rsp), %rdi
callq 0x1a950
jmp 0x1a41a
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
jmp 0x1a40b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x1a950
leaq 0x60(%rsp), %rdi
callq 0x1a950
jmp 0x1a4be
jmp 0x1a41c
movl 0x104(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x104(%rsp)
jmp 0x1a0a4
leaq 0x40(%rsp), %rdi
leaq 0x108(%rsp), %rsi
movl $0x1, %edx
callq 0xa0070
jmp 0x1a44b
leaq 0x40(%rsp), %rdi
callq 0x1a660
movq %rax, %rsi
leaq 0x50(%rsp), %rdi
callq 0x9ec70
jmp 0x1a464
movq 0x38(%rsp), %rdi
addq $0x58, %rdi
leaq 0x50(%rsp), %rsi
callq 0x1bae0
leaq 0x50(%rsp), %rdi
callq 0x1a950
leaq 0x40(%rsp), %rdi
callq 0x1a950
leaq 0x108(%rsp), %rdi
callq 0x1c080
addq $0x118, %rsp            # imm = 0x118
retq
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xc8(%rsp)
movl %eax, 0xc4(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x1a950
leaq 0x108(%rsp), %rdi
callq 0x1c080
movq 0xc8(%rsp), %rdi
callq 0xb680
nopl (%rax,%rax)