// File: menhits[P]phplus/src/Type.cpp
// Function: TupleType::TupleType(std::unique_ptr<std::vector<NamedType, std::allocator<NamedType>>, std::default_delete<std::vector<NamedType, std::allocator<NamedType>>>>, bool)
TupleType(unique_ptr<vector<NamedType>> in, bool isAnonymousIn)
	{
		if (in==nullptr)
			error.log(FUNC+" sent null input, compiler will likely shit itself in the near future", INTERNAL_ERROR);
		
		subTypes=std::move(in);
		
		for (auto i: *subTypes)
		{
			if (i.type->isWhatev())
			{
				hasWhatev=true;
			}
			
			if (!i.type->isCreatable())
			{
				hasOnlyCreatable=false;
			}
		}
		
		isAnonymous=isAnonymousIn;
	}

// Assembly:
subq $0x108, %rsp            # imm = 0x108
movq %rsi, 0x38(%rsp)
movb %dl, %al
movq %rdi, 0x100(%rsp)
movq %rsi, 0xf8(%rsp)
andb $0x1, %al
movb %al, 0xf7(%rsp)
movq 0x100(%rsp), %rdi
movq %rdi, 0x30(%rsp)
callq 0xa0bf0
movq 0x30(%rsp), %rdi
leaq 0x7668b(%rip), %rax     # 0x116dc0
addq $0x10, %rax
movq %rax, (%rdi)
addq $0x48, %rdi
movq %rdi, 0x28(%rsp)
callq 0xa0a50
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rdi
movb $0x1, 0x50(%rax)
movb $0x0, 0x51(%rax)
movb $0x1, 0x52(%rax)
xorl %eax, %eax
movl %eax, %esi
callq 0xa2cb0
testb $0x1, %al
jne 0xa0772
jmp 0xa08a2
leaq 0xaf(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xb690
movq 0x20(%rsp), %rdx
leaq 0x35927(%rip), %rsi     # 0xd60b7
leaq 0xb0(%rsp), %rdi
callq 0xb4c0
jmp 0xa079f
leaq 0x3591b(%rip), %rdx     # 0xd60c1
leaq 0xd0(%rsp), %rdi
leaq 0xb0(%rsp), %rsi
callq 0xfa60
jmp 0xa07bd
xorl %eax, %eax
movl %eax, %esi
leaq 0x88(%rsp), %rdi
movq %rdi, 0x18(%rsp)
callq 0xfbe0
movq 0x18(%rsp), %rcx
leaq 0x77be4(%rip), %rdi     # 0x1183c3
leaq 0xd0(%rsp), %rsi
movl $0x3, %edx
callq 0x34c70
jmp 0xa07f3
leaq 0x88(%rsp), %rdi
callq 0xfc00
leaq 0xd0(%rsp), %rdi
callq 0xb6e8
leaq 0xb0(%rsp), %rdi
callq 0xb6e8
leaq 0xaf(%rsp), %rdi
callq 0xb3f0
jmp 0xa08a2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0xa0890
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0xa0883
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0x88(%rsp), %rdi
callq 0xfc00
leaq 0xd0(%rsp), %rdi
callq 0xb6e8
leaq 0xb0(%rsp), %rdi
callq 0xb6e8
leaq 0xaf(%rsp), %rdi
callq 0xb3f0
jmp 0xa09f9
movq 0x38(%rsp), %rsi
movq 0x30(%rsp), %rdi
addq $0x48, %rdi
movq %rdi, 0x8(%rsp)
callq 0xa0a90
movq 0x8(%rsp), %rdi
callq 0xa0b20
movq %rax, 0x10(%rsp)
jmp 0xa08cb
movq 0x10(%rsp), %rax
movq %rax, 0x80(%rsp)
movq 0x80(%rsp), %rdi
callq 0x2df80
movq %rax, 0x78(%rsp)
movq 0x80(%rsp), %rdi
callq 0x2dfb0
movq %rax, 0x70(%rsp)
leaq 0x78(%rsp), %rdi
leaq 0x70(%rsp), %rsi
callq 0x2dfe0
testb $0x1, %al
jne 0xa0914
jmp 0xa09df
leaq 0x78(%rsp), %rdi
callq 0x2e020
movq %rax, %rsi
leaq 0x40(%rsp), %rdi
callq 0x2e030
jmp 0xa092d
leaq 0x60(%rsp), %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x30(%rax), %rax
callq *%rax
movb %al, 0x7(%rsp)
jmp 0xa0949
movb 0x7(%rsp), %al
testb $0x1, %al
jne 0xa0953
jmp 0xa0997
movq 0x30(%rsp), %rax
movb $0x1, 0x51(%rax)
jmp 0xa0997
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
jmp 0xa09f9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xa0(%rsp)
movl %eax, 0x9c(%rsp)
leaq 0x40(%rsp), %rdi
callq 0x1e980
jmp 0xa09f9
leaq 0x60(%rsp), %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
movq 0x20(%rax), %rax
callq *%rax
movb %al, 0x6(%rsp)
jmp 0xa09b3
movb 0x6(%rsp), %al
testb $0x1, %al
jne 0xa09c6
jmp 0xa09bd
movq 0x30(%rsp), %rax
movb $0x0, 0x52(%rax)
leaq 0x40(%rsp), %rdi
callq 0x1e980
leaq 0x78(%rsp), %rdi
callq 0x2e0c0
jmp 0xa08fc
movq 0x30(%rsp), %rax
movb 0xf7(%rsp), %cl
andb $0x1, %cl
movb %cl, 0x50(%rax)
addq $0x108, %rsp            # imm = 0x108
retq
movq 0x28(%rsp), %rdi
callq 0x1e690
movq 0x30(%rsp), %rdi
callq 0xa2ce0
movq 0xa0(%rsp), %rdi
callq 0xb680
nopw (%rax,%rax)