// File: menhits[P]phplus/src/AstNode.cpp
// Function: AstList::resolveAction()
void AstList::resolveAction()
{
	if (!inLeftType->isVoid() || !inRightType->isVoid())
	{
		throw PhplusError("AstList given non void input", INTERNAL_ERROR, getToken());
	}
	
	ns=ns->makeChild();
	
	for (int i=0; i<int(nodes.size()); i++)
	{
		nodes[i]->setInput(ns, dynamic, Void, Void);
		nodes[i]->dealWithConstants();
	}
	
	vector<Action> actions;
	
	for (int i=0; i<int(nodes.size()); i++)
	{
		try
		{
			Action action=nodes[i]->getAction();
			
			if (i!=(int)nodes.size()-1)
				action=ns->wrapInDestroyer(action);
			
			actions.push_back(action);
		}
		catch (PhplusError err)
		{
			err.log();
		}
	}
	
	action=listAction(actions, *ns->getDestroyerActions());
}

// Assembly:
subq $0x1b8, %rsp            # imm = 0x1B8
movq %rdi, 0x1b0(%rsp)
movq 0x1b0(%rsp), %rdi
movq %rdi, 0x78(%rsp)
addq $0x28, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x28(%rax)
testb $0x1, %al
jne 0x12ac4
jmp 0x12ae3
movq 0x78(%rsp), %rdi
addq $0x38, %rdi
callq 0x1a660
movq %rax, %rdi
movq (%rdi), %rax
callq *0x28(%rax)
testb $0x1, %al
jne 0x12c07
movb $0x1, 0x167(%rsp)
movl $0x38, %edi
callq 0xb1f0
movq %rax, 0x68(%rsp)
leaq 0x18f(%rsp), %rdi
movq %rdi, 0x70(%rsp)
callq 0xb690
movq 0x70(%rsp), %rdx
leaq 0xbe5f1(%rip), %rsi     # 0xd1109
leaq 0x190(%rsp), %rdi
callq 0xb4c0
jmp 0x12b27
movq 0x78(%rsp), %rsi
movq (%rsi), %rax
movq 0x38(%rax), %rax
leaq 0x168(%rsp), %rdi
callq *%rax
jmp 0x12b3f
movq 0x68(%rsp), %rdi
leaq 0x190(%rsp), %rsi
movl $0x3, %edx
leaq 0x168(%rsp), %rcx
callq 0x35600
jmp 0x12b60
movq 0x68(%rsp), %rdi
movb $0x0, 0x167(%rsp)
leaq 0x102a54(%rip), %rsi    # 0x1155c8
leaq 0x7af5(%rip), %rdx      # 0x1a670
callq 0xb640
jmp 0x130b9
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
jmp 0x12bdf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
jmp 0x12bd2
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
leaq 0x168(%rsp), %rdi
callq 0xfc00
leaq 0x190(%rsp), %rdi
callq 0xb6e8
leaq 0x18f(%rsp), %rdi
callq 0xb3f0
testb $0x1, 0x167(%rsp)
jne 0x12bf8
jmp 0x12c02
movq 0x68(%rsp), %rdi
callq 0xb2d0
jmp 0x130a4
movq 0x78(%rsp), %rdi
addq $0x70, %rdi
callq 0x1a6a0
movq %rax, %rsi
leaq 0x150(%rsp), %rdi
callq 0x39cf0
movq 0x78(%rsp), %rdi
addq $0x70, %rdi
leaq 0x150(%rsp), %rsi
callq 0x1a6b0
leaq 0x150(%rsp), %rdi
callq 0x1a6e0
movl $0x0, 0x14c(%rsp)
movq 0x78(%rsp), %rdi
movl 0x14c(%rsp), %eax
movl %eax, 0x64(%rsp)
addq $0x88, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x64(%rsp), %eax
cmpl %ecx, %eax
jge 0x12dc9
movq 0x78(%rsp), %rdi
addq $0x88, %rdi
movslq 0x14c(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq 0x78(%rsp), %rsi
movq %rax, 0x40(%rsp)
addq $0x70, %rsi
leaq 0x138(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x1a8f0
movq 0x78(%rsp), %rax
movzbl 0x68(%rax), %eax
movl %eax, 0x3c(%rsp)
leaq 0x1057d5(%rip), %rsi    # 0x1184a8
movq %rsi, 0x30(%rsp)
leaq 0x128(%rsp), %rdi
movq %rdi, 0x50(%rsp)
callq 0x1a920
movq 0x30(%rsp), %rsi
leaq 0x118(%rsp), %rdi
movq %rdi, 0x58(%rsp)
callq 0x1a920
movl 0x3c(%rsp), %edx
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rsi
movq 0x50(%rsp), %rcx
movq 0x58(%rsp), %r8
andl $0x1, %edx
callq 0x1a6f0
jmp 0x12d23
leaq 0x118(%rsp), %rdi
callq 0x1a950
leaq 0x128(%rsp), %rdi
callq 0x1a950
leaq 0x138(%rsp), %rdi
callq 0x1a6e0
movq 0x78(%rsp), %rdi
addq $0x88, %rdi
movslq 0x14c(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq %rax, %rdi
callq 0x1a960
movl 0x14c(%rsp), %eax
addl $0x1, %eax
movl %eax, 0x14c(%rsp)
jmp 0x12c53
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
leaq 0x118(%rsp), %rdi
callq 0x1a950
leaq 0x128(%rsp), %rdi
callq 0x1a950
leaq 0x138(%rsp), %rdi
callq 0x1a6e0
jmp 0x130a4
leaq 0x100(%rsp), %rdi
callq 0x1aa90
movl $0x0, 0xfc(%rsp)
movq 0x78(%rsp), %rdi
movl 0xfc(%rsp), %eax
movl %eax, 0x2c(%rsp)
addq $0x88, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x2c(%rsp), %eax
cmpl %ecx, %eax
jge 0x13026
movq 0x78(%rsp), %rdi
addq $0x88, %rdi
movslq 0xfc(%rsp), %rsi
callq 0x1a5d0
movq %rax, %rdi
callq 0x1a5f0
movq %rax, %rsi
leaq 0xe8(%rsp), %rdi
callq 0x1aaa0
jmp 0x12e3f
movq 0x78(%rsp), %rdi
movl 0xfc(%rsp), %eax
movl %eax, 0x28(%rsp)
addq $0x88, %rdi
callq 0x1a580
movq %rax, %rcx
movl 0x28(%rsp), %eax
subl $0x1, %ecx
cmpl %ecx, %eax
je 0x12f1d
movq 0x78(%rsp), %rdi
addq $0x70, %rdi
callq 0x1a6a0
movq %rax, 0x18(%rsp)
leaq 0xc8(%rsp), %rdi
movq %rdi, 0x20(%rsp)
leaq 0xe8(%rsp), %rsi
callq 0x1ac60
movq 0x18(%rsp), %rsi
movq 0x20(%rsp), %rdx
leaq 0xd8(%rsp), %rdi
callq 0x3df90
jmp 0x12eb3
leaq 0xe8(%rsp), %rdi
leaq 0xd8(%rsp), %rsi
callq 0x1ac90
leaq 0xd8(%rsp), %rdi
callq 0x1acc0
leaq 0xc8(%rsp), %rdi
callq 0x1acc0
jmp 0x12f1d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
jmp 0x12f67
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
leaq 0xc8(%rsp), %rdi
callq 0x1acc0
jmp 0x12f5a
leaq 0x100(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x1acd0
jmp 0x12f34
leaq 0xe8(%rsp), %rdi
callq 0x1acc0
jmp 0x12fce
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
leaq 0xe8(%rsp), %rdi
callq 0x1acc0
movl 0x17c(%rsp), %eax
movl $0x1, %ecx
cmpl %ecx, %eax
jne 0x13097
movq 0x180(%rsp), %rdi
movq %rdi, 0x10(%rsp)
callq 0xb460
movq %rax, %rsi
leaq 0x90(%rsp), %rdi
callq 0x1ad40
jmp 0x12f9f
movq 0x10(%rsp), %rdi
callq 0xb180
leaq 0x90(%rsp), %rdi
callq 0x356b0
jmp 0x12fb8
leaq 0x90(%rsp), %rdi
callq 0x1a670
callq 0xb5f0
jmp 0x12fcc
jmp 0x12fce
jmp 0x12fd0
movl 0xfc(%rsp), %eax
addl $0x1, %eax
movl %eax, 0xfc(%rsp)
jmp 0x12de1
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
leaq 0x90(%rsp), %rdi
callq 0x1a670
callq 0xb5f0
jmp 0x13024
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x180(%rsp)
movl %eax, 0x17c(%rsp)
jmp 0x13097
jmp 0x13097
movq 0x78(%rsp), %rdi
addq $0x70, %rdi
callq 0x1a6a0
movq %rax, %rdi
callq 0x1ad90
movq %rax, 0x8(%rsp)
jmp 0x13043
movq 0x8(%rsp), %rdx
leaq 0x80(%rsp), %rdi
leaq 0x100(%rsp), %rsi
callq 0xbc650
jmp 0x1305f
movq 0x78(%rsp), %rdi
addq $0x48, %rdi
leaq 0x80(%rsp), %rsi
callq 0x1ac90
leaq 0x80(%rsp), %rdi
callq 0x1acc0
leaq 0x100(%rsp), %rdi
callq 0x1adb0
addq $0x1b8, %rsp            # imm = 0x1B8
retq
leaq 0x100(%rsp), %rdi
callq 0x1adb0
movq 0x180(%rsp), %rdi
callq 0xb680
movq %rax, %rdi
callq 0xffe0
nopl (%rax)