// File: Nallantli[P]Rossa/main/rossa/node/node.cpp
// Function: ClassNode::printTree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, bool) const
void ClassNode::printTree(std::string indent, bool last) const
{
	std::cout << indent;
	if (last)
	{
		std::cout << "└─";
		indent += "  ";
	}
	else
	{
		std::cout << "├─";
		indent += "│ ";
	}
	printc(deHashVec(path) + " ", RED_TEXT);
	std::cout << "CLASS : " << ROSSA_DEHASH(key) << ", " << std::to_string(type) << "\n";
	if (extends != nullptr)
		extends->printTree(indent, false);
	for (size_t i = 0; i < body.size(); i++)
		body[i]->printTree(indent, i == body.size() - 1);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x170, %rsp            # imm = 0x170
movq %rsi, -0x100(%rbp)
movb %dl, %al
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
andb $0x1, %al
movb %al, -0x11(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0xf8(%rbp)
movq 0x10f05d(%rip), %rdi    # 0x1e4fa0
callq 0x114e0
testb $0x1, -0x11(%rbp)
je 0xd5f76
movq 0x10f04b(%rip), %rdi    # 0x1e4fa0
leaq 0x7d80c(%rip), %rsi     # 0x153768
callq 0x11560
movq -0x100(%rbp), %rdi
leaq 0x7d800(%rip), %rsi     # 0x15376f
callq 0x11540
jmp 0xd5f9c
movq 0x10f023(%rip), %rdi    # 0x1e4fa0
leaq 0x7d7ee(%rip), %rsi     # 0x153772
callq 0x11560
movq -0x100(%rbp), %rdi
leaq 0x7d7e2(%rip), %rsi     # 0x153779
callq 0x11540
movq -0xf8(%rbp), %rsi
addq $0x8, %rsi
leaq -0x58(%rbp), %rdi
movq %rdi, -0x108(%rbp)
callq 0xd27b0
movq -0x108(%rbp), %rsi
leaq 0x7d7ab(%rip), %rdx     # 0x153770
leaq -0x38(%rbp), %rdi
callq 0x24ec0
jmp 0xd5fd0
movl $0x1f, -0x68(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x68(%rbp), %rsi
callq 0x247f0
jmp 0xd5fe6
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
movq 0x10efa1(%rip), %rdi    # 0x1e4fa0
leaq 0x7d7c9(%rip), %rsi     # 0x1537cf
callq 0x11560
movq -0xf8(%rbp), %rdx
movq %rax, -0x120(%rbp)
addq $0xa8, %rdx
leaq 0x10fa71(%rip), %rsi    # 0x1e5a98
leaq -0x88(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x2d270
movq -0x120(%rbp), %rdi
movq -0x118(%rbp), %rsi
callq 0x114e0
movq %rax, -0x110(%rbp)
jmp 0xd6056
movq -0x110(%rbp), %rdi
leaq 0x7beb8(%rip), %rsi     # 0x151f1c
callq 0x11560
movq %rax, -0x128(%rbp)
jmp 0xd6072
movq -0xf8(%rbp), %rax
movl 0xb0(%rax), %esi
leaq -0xa8(%rbp), %rdi
callq 0x24d00
jmp 0xd608d
movq -0x128(%rbp), %rdi
leaq -0xa8(%rbp), %rsi
callq 0x114e0
movq %rax, -0x130(%rbp)
jmp 0xd60a9
movq -0x130(%rbp), %rdi
leaq 0x7c41e(%rip), %rsi     # 0x1524d5
callq 0x11560
jmp 0xd60be
leaq -0xa8(%rbp), %rdi
callq 0x11360
leaq -0x88(%rbp), %rdi
callq 0x11360
movq -0xf8(%rbp), %rdi
addq $0xd0, %rdi
xorl %eax, %eax
movl %eax, %esi
callq 0xe53d0
testb $0x1, %al
jne 0xd60f6
jmp 0xd61db
movq -0xf8(%rbp), %rdi
addq $0xd0, %rdi
callq 0x2d030
movq -0x100(%rbp), %rsi
movq %rax, -0x140(%rbp)
leaq -0xc8(%rbp), %rdi
movq %rdi, -0x138(%rbp)
callq 0x11250
movq -0x140(%rbp), %rdi
movq -0x138(%rbp), %rsi
movq (%rdi), %rax
movq 0x10(%rax), %rax
xorl %edx, %edx
callq *%rax
jmp 0xd6145
leaq -0xc8(%rbp), %rdi
callq 0x11360
jmp 0xd61db
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd6179
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x11360
leaq -0x58(%rbp), %rdi
callq 0x11360
jmp 0xd62f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0xd61ad
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xa8(%rbp), %rdi
callq 0x11360
leaq -0x88(%rbp), %rdi
callq 0x11360
jmp 0xd62f3
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xc8(%rbp), %rdi
callq 0x11360
jmp 0xd62f3
movq $0x0, -0xd0(%rbp)
movq -0xf8(%rbp), %rdi
movq -0xd0(%rbp), %rax
movq %rax, -0x148(%rbp)
addq $0xb8, %rdi
callq 0x593c0
movq %rax, %rcx
movq -0x148(%rbp), %rax
cmpq %rcx, %rax
jae 0xd62ea
movq -0xf8(%rbp), %rdi
addq $0xb8, %rdi
movq %rdi, -0x168(%rbp)
movq -0xd0(%rbp), %rsi
callq 0xe5650
movq %rax, %rdi
callq 0x2d030
movq -0x100(%rbp), %rsi
movq %rax, -0x160(%rbp)
leaq -0xf0(%rbp), %rdi
movq %rdi, -0x158(%rbp)
callq 0x11250
movq -0x168(%rbp), %rdi
movq -0xd0(%rbp), %rax
movq %rax, -0x150(%rbp)
callq 0x593c0
movq -0x160(%rbp), %rdi
movq -0x158(%rbp), %rsi
movq %rax, %rcx
movq -0x150(%rbp), %rax
decq %rcx
subq %rcx, %rax
sete %cl
movq (%rdi), %rax
movq 0x10(%rax), %rax
movzbl %cl, %edx
callq *%rax
jmp 0xd62ad
leaq -0xf0(%rbp), %rdi
callq 0x11360
movq -0xd0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xd0(%rbp)
jmp 0xd61e6
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0xf0(%rbp), %rdi
callq 0x11360
jmp 0xd62f3
addq $0x170, %rsp            # imm = 0x170
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0x119c0
nopl (%rax)