// File: kelwinfc[P]ci4721-Fernandez-Gyomrey/src/AST/dump.cpp
// Function: AST_discrete_arg_list::dump(std::ostream&, int)
void AST_discrete_arg_list::dump(ostream &strm, int indentation){  
    vector<symbol*>::iterator it;
    vector<pair<int,int> >::iterator it_boundaries;
    
    it_boundaries = boundaries.begin();
    for ( it = args.begin(); it != args.end(); ++it_boundaries){
        strm << setw(3) << (*it)->getLine() << ": ";
        dump_indentation(strm, indentation);

        strm << types.types[(*it)->getType()]->name << "(";
        strm << (*it)->getName();
        strm << ") in [" << (*it_boundaries).first << ", "
             << (*it_boundaries).second << "]";
        
        if ( ++it != args.end() ){
            strm << ",";
        }
        
        strm << endl;
        
    }
}

// Assembly:
subq $0xd8, %rsp
movq %rdi, 0xd0(%rsp)
movq %rsi, 0xc8(%rsp)
movl %edx, 0xc4(%rsp)
movq 0xd0(%rsp), %rax
movq %rax, 0x50(%rsp)
leaq 0xb8(%rsp), %rdi
callq 0x1fd10
leaq 0xb0(%rsp), %rdi
callq 0x1fe00
movq 0x50(%rsp), %rdi
addq $0x28, %rdi
callq 0x1fe20
movq 0x50(%rsp), %rdi
movq %rax, 0xa8(%rsp)
movq 0xa8(%rsp), %rax
movq %rax, 0xb0(%rsp)
addq $0x10, %rdi
callq 0x1fd30
movq %rax, 0xa0(%rsp)
movq 0xa0(%rsp), %rax
movq %rax, 0xb8(%rsp)
movq 0x50(%rsp), %rdi
addq $0x10, %rdi
callq 0x1fda0
movq %rax, 0x98(%rsp)
leaq 0xb8(%rsp), %rdi
leaq 0x98(%rsp), %rsi
callq 0x1fd60
testb $0x1, %al
jne 0x8315
jmp 0x8523
movq 0xc8(%rsp), %rax
movq %rax, 0x20(%rsp)
movl $0x3, %edi
callq 0x1fc70
movq 0x20(%rsp), %rdi
movl %eax, 0x94(%rsp)
movl 0x94(%rsp), %esi
callq 0x6450
movq %rax, 0x28(%rsp)
leaq 0xb8(%rsp), %rdi
movq %rdi, 0x38(%rsp)
callq 0x1fdd0
movq (%rax), %rdi
callq 0x29600
movq 0x28(%rsp), %rdi
movl %eax, %esi
callq 0x6690
movq %rax, %rdi
leaq 0x4a32a(%rip), %rsi     # 0x526a3
callq 0x6370
movq 0xc8(%rsp), %rdi
movl 0xc4(%rsp), %esi
callq 0x78a0
movq 0x38(%rsp), %rdi
movq 0xc8(%rsp), %rax
movq %rax, 0x30(%rsp)
callq 0x1fdd0
movq (%rax), %rdi
callq 0x295f0
movslq %eax, %rsi
leaq 0x66125(%rip), %rdi     # 0x6e4e0
callq 0x1fc90
movq 0x30(%rsp), %rdi
movq (%rax), %rsi
addq $0x8, %rsi
callq 0x6340
movq %rax, %rdi
leaq 0x4a101(%rip), %rsi     # 0x524dc
callq 0x6370
movq 0x38(%rsp), %rdi
movq 0xc8(%rsp), %rax
movq %rax, 0x40(%rsp)
callq 0x1fdd0
movq (%rax), %rsi
leaq 0x70(%rsp), %rdi
movq %rdi, 0x48(%rsp)
callq 0x295b0
movq 0x40(%rsp), %rdi
movq 0x48(%rsp), %rsi
callq 0x6340
jmp 0x841a
leaq 0x70(%rsp), %rdi
callq 0x6778
movq 0xc8(%rsp), %rdi
leaq 0x4a0b3(%rip), %rsi     # 0x524e6
callq 0x6370
movq %rax, 0x8(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x1fe50
movq 0x8(%rsp), %rdi
movl (%rax), %esi
callq 0x6690
movq %rax, %rdi
leaq 0x4a5d2(%rip), %rsi     # 0x52a32
callq 0x6370
movq %rax, 0x10(%rsp)
leaq 0xb0(%rsp), %rdi
callq 0x1fe50
movq 0x10(%rsp), %rdi
movl 0x4(%rax), %esi
callq 0x6690
movq %rax, %rdi
leaq 0x49baf(%rip), %rsi     # 0x5203d
callq 0x6370
leaq 0xb8(%rsp), %rdi
callq 0x1fde0
movq 0x50(%rsp), %rdi
movq %rax, 0x18(%rsp)
addq $0x10, %rdi
callq 0x1fda0
movq 0x18(%rsp), %rdi
movq %rax, 0x58(%rsp)
leaq 0x58(%rsp), %rsi
callq 0x1fd60
testb $0x1, %al
jne 0x84cd
jmp 0x84fd
movq 0xc8(%rsp), %rdi
leaq 0x4a1a2(%rip), %rsi     # 0x5267e
callq 0x6370
jmp 0x84fd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, 0x68(%rsp)
movl %eax, 0x64(%rsp)
leaq 0x70(%rsp), %rdi
callq 0x6778
jmp 0x852b
movq 0xc8(%rsp), %rdi
movq 0x65a8c(%rip), %rsi     # 0x6df98
callq 0x63d0
leaq 0xb0(%rsp), %rdi
callq 0x1fe60
jmp 0x82e1
addq $0xd8, %rsp
retq
movq 0x68(%rsp), %rdi
callq 0x66b0
nopw %cs:(%rax,%rax)