// File: kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_assignment::dump(std::ostream&, int)
void AST_assignment::dump(ostream &strm, int indentation){
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation);
    
    strm << "Assignment:" << endl;
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation+1);
    
    strm << "Lvalue ["
         << types.types[lvalue->type]->name
         << "]" << endl;
    lvalue->dump(strm, indentation+2);
    
    strm << setw(3) << line << ": ";
    dump_indentation(strm, indentation+1);
    
    if (0 != expr) {
        strm << "Rvalue ["
             << types.types[expr->type]->name
             << "]" << endl;
        
        expr->dump(strm, indentation+2);
    } else {
        strm << "Rvalue undefined" << endl;
    }
}

// Assembly:
subq $0x58, %rsp
movq %rdi, 0x50(%rsp)
movq %rsi, 0x48(%rsp)
movl %edx, 0x44(%rsp)
movq 0x50(%rsp), %rax
movq %rax, 0x30(%rsp)
movq 0x48(%rsp), %rax
movq %rax, 0x10(%rsp)
movl $0x3, %edi
callq 0x1fc70
movq 0x10(%rsp), %rdi
movl %eax, 0x40(%rsp)
movl 0x40(%rsp), %esi
callq 0x6450
movq %rax, %rdi
movq 0x30(%rsp), %rax
movl 0x8(%rax), %esi
callq 0x6690
movq %rax, %rdi
leaq 0x48417(%rip), %rsi     # 0x526a3
callq 0x6370
movq 0x48(%rsp), %rdi
movl 0x44(%rsp), %esi
callq 0x78a0
movq 0x48(%rsp), %rdi
leaq 0x4836d(%rip), %rsi     # 0x52618
callq 0x6370
movq %rax, %rdi
movq 0x63cde(%rip), %rsi     # 0x6df98
callq 0x63d0
movq 0x48(%rsp), %rax
movq %rax, 0x18(%rsp)
movl $0x3, %edi
callq 0x1fc70
movq 0x18(%rsp), %rdi
movl %eax, 0x3c(%rsp)
movl 0x3c(%rsp), %esi
callq 0x6450
movq %rax, %rdi
movq 0x30(%rsp), %rax
movl 0x8(%rax), %esi
callq 0x6690
movq %rax, %rdi
leaq 0x483a4(%rip), %rsi     # 0x526a3
callq 0x6370
movq 0x48(%rsp), %rdi
movl 0x44(%rsp), %esi
addl $0x1, %esi
callq 0x78a0
movq 0x48(%rsp), %rdi
leaq 0x48303(%rip), %rsi     # 0x52624
callq 0x6370
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x20(%rsp)
movq 0x78(%rax), %rax
movslq 0x10(%rax), %rsi
leaq 0x6419e(%rip), %rdi     # 0x6e4e0
callq 0x1fc90
movq 0x20(%rsp), %rdi
movq (%rax), %rsi
addq $0x8, %rsi
callq 0x6340
movq %rax, %rdi
leaq 0x47cdb(%rip), %rsi     # 0x5203d
callq 0x6370
movq %rax, %rdi
movq 0x63c27(%rip), %rsi     # 0x6df98
callq 0x63d0
movq 0x30(%rsp), %rax
movq 0x78(%rax), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
addl $0x2, %edx
movq (%rdi), %rax
callq *(%rax)
movq 0x48(%rsp), %rax
movq %rax, 0x28(%rsp)
movl $0x3, %edi
callq 0x1fc70
movq 0x28(%rsp), %rdi
movl %eax, 0x38(%rsp)
movl 0x38(%rsp), %esi
callq 0x6450
movq %rax, %rdi
movq 0x30(%rsp), %rax
movl 0x8(%rax), %esi
callq 0x6690
movq %rax, %rdi
leaq 0x482d3(%rip), %rsi     # 0x526a3
callq 0x6370
movq 0x48(%rsp), %rdi
movl 0x44(%rsp), %esi
addl $0x1, %esi
callq 0x78a0
movq 0x30(%rsp), %rcx
xorl %eax, %eax
cmpq 0x80(%rcx), %rax
je 0xa47d
movq 0x48(%rsp), %rdi
leaq 0x48227(%rip), %rsi     # 0x5262d
callq 0x6370
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x8(%rsp)
movq 0x80(%rax), %rax
movslq 0x10(%rax), %rsi
leaq 0x640b6(%rip), %rdi     # 0x6e4e0
callq 0x1fc90
movq 0x8(%rsp), %rdi
movq (%rax), %rsi
addq $0x8, %rsi
callq 0x6340
movq %rax, %rdi
leaq 0x47bf3(%rip), %rsi     # 0x5203d
callq 0x6370
movq %rax, %rdi
movq 0x63b3f(%rip), %rsi     # 0x6df98
callq 0x63d0
movq 0x30(%rsp), %rax
movq 0x80(%rax), %rdi
movq 0x48(%rsp), %rsi
movl 0x44(%rsp), %edx
addl $0x2, %edx
movq (%rdi), %rax
callq *(%rax)
jmp 0xa49d
movq 0x48(%rsp), %rdi
leaq 0x481ad(%rip), %rsi     # 0x52636
callq 0x6370
movq %rax, %rdi
movq 0x63b00(%rip), %rsi     # 0x6df98
callq 0x63d0
addq $0x58, %rsp
retq
nopw %cs:(%rax,%rax)