// File: menhits[P]phplus/src/../h/AstNode.h
// Function: AstNodeBase::getReturnType()
Type getReturnType()
	{
		if (!returnType)
		{
			if (!inputHasBeenSet)
			{
				throw PhplusError("tried to get return type from AST node when input had not been set", INTERNAL_ERROR, getToken());
			}
			
			resolveReturnType();
		}
		
		if (!returnType)
		{
			throw PhplusError("AST node "+getString()+"failed to supply a return type", INTERNAL_ERROR);
		}
		
		return returnType;
	}

// Assembly:
subq $0x118, %rsp            # imm = 0x118
movq %rdi, 0x28(%rsp)
movq %rdi, %rax
movq %rax, 0x30(%rsp)
movq %rdi, 0x110(%rsp)
movq %rsi, 0x108(%rsp)
movq 0x108(%rsp), %rdi
movq %rdi, 0x38(%rsp)
addq $0x58, %rdi
callq 0x1d820
testb $0x1, %al
jne 0x1b043
movq 0x38(%rsp), %rax
testb $0x1, 0x80(%rax)
jne 0x1b038
movb $0x1, 0xbf(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x18(%rsp)
leaq 0xe7(%rsp), %rdi
movq %rdi, 0x20(%rsp)
callq 0xb690
movq 0x20(%rsp), %rdx
leaq 0xb6630(%rip), %rsi     # 0xd1579
leaq 0xe8(%rsp), %rdi
callq 0xb4c0
jmp 0x1af58
movq 0x38(%rsp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq 0xc0(%rsp), %rdi
callq *%rax
jmp 0x1af70
movq 0x18(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
movl $0x3, %edx
leaq 0xc0(%rsp), %rcx
callq 0x35600
jmp 0x1af91
movq 0x18(%rsp), %rdi
movb $0x0, 0xbf(%rsp)
leaq 0xfa623(%rip), %rsi     # 0x1155c8
leaq -0x93c(%rip), %rdx      # 0x1a670
callq 0xb640
jmp 0x1b1cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1b010
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1b003
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0xc0(%rsp), %rdi
callq 0xfc00
leaq 0xe8(%rsp), %rdi
callq 0xb6e8
leaq 0xe7(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0xbf(%rsp)
jne 0x1b029
jmp 0x1b033
movq 0x18(%rsp), %rdi
callq 0xb2d0
jmp 0x1b1be
movq 0x38(%rsp), %rdi
movq (%rdi), %rax
callq *0x48(%rax)
movq 0x38(%rsp), %rdi
addq $0x58, %rdi
callq 0x1d820
testb $0x1, %al
jne 0x1b19e
movb $0x1, 0x47(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq 0x38(%rsp), %rsi
movq %rax, 0x10(%rsp)
movq (%rsi), %rax
movq 0x18(%rax), %rax
leaq 0x58(%rsp), %rdi
callq *%rax
jmp 0x1b082
leaq 0xb6533(%rip), %rsi     # 0xd15bc
leaq 0x78(%rsp), %rdi
leaq 0x58(%rsp), %rdx
callq 0x1bcf0
jmp 0x1b09a
leaq 0xb6525(%rip), %rdx     # 0xd15c6
leaq 0x98(%rsp), %rdi
leaq 0x78(%rsp), %rsi
callq 0xfa60
jmp 0x1b0b5
xorl %eax, %eax
movl %eax, %esi
leaq 0x48(%rsp), %rdi
movq %rdi, 0x8(%rsp)
callq 0xfbe0
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rcx
leaq 0x98(%rsp), %rsi
movl $0x3, %edx
callq 0x35600
jmp 0x1b0e6
movq 0x10(%rsp), %rdi
movb $0x0, 0x47(%rsp)
leaq 0xfa4d1(%rip), %rsi     # 0x1155c8
leaq -0xa8e(%rip), %rdx      # 0x1a670
callq 0xb640
jmp 0x1b1cb
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1b189
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1b17f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
jmp 0x1b175
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0xd8(%rsp)
movl %eax, 0xd4(%rsp)
leaq 0x48(%rsp), %rdi
callq 0xfc00
leaq 0x98(%rsp), %rdi
callq 0xb6e8
leaq 0x78(%rsp), %rdi
callq 0xb6e8
leaq 0x58(%rsp), %rdi
callq 0xb6e8
testb $0x1, 0x47(%rsp)
jne 0x1b192
jmp 0x1b19c
movq 0x10(%rsp), %rdi
callq 0xb2d0
jmp 0x1b1be
movq 0x28(%rsp), %rdi
movq 0x38(%rsp), %rsi
addq $0x58, %rsi
callq 0x1a920
movq 0x30(%rsp), %rax
addq $0x118, %rsp            # imm = 0x118
retq
movq 0xd8(%rsp), %rdi
callq 0xb680
nopl (%rax,%rax)