// File: /workspace/github_cpp_makefile_star2_O1/skyshore2001[P]symfind/symfind.cpp
// Function: TestShow()
int TestShow()
{
	// Test code for tranverse objects
	int maxcnt = 40;
	int i;
	char buf[1024];
	printf("=== folders:\n");
	SfFolderIter itFolder(g_repos);
	for (i=0; i<maxcnt && itFolder.Next(); ++i) {
		const SfContext &ctx = itFolder.GetContext();
		printf("%d: %s\n", i+1, GetFullName(buf, ctx.repo->root, ctx.folder->name));
	}
	printf("=== files:\n");
	SfFileIter itFile(g_repos);
	for (i=0; i<maxcnt && itFile.Next(); ++i) {
		const SfContext &ctx = itFile.GetContext();
		printf("%d: %s\n", i+1, GetFullName(buf, ctx.repo->root, ctx.folder->name, ctx.file->name));
	}
	printf("=== symbols:\n");
	SfSymbolIter itSymbol(g_repos);
	for (i=0; i<maxcnt && itSymbol.Next(); ++i) {
		const SfContext &ctx = itSymbol.GetContext();
		printf("%d: %s\t%s\t%s\t%s:%s\n", i+1, ctx.symbol->kind(), ctx.symbol->name(), ctx.symbol->extra(), GetFullName(buf, ctx.repo->root, ctx.folder->name, ctx.file->name), ctx.symbol->line());
	}
	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x4d8, %rsp            # imm = 0x4D8
leaq 0x2a51(%rip), %rdi      # 0x66bb
callq 0x2280
movq 0x55da(%rip), %rax      # 0x9250
leaq 0x10(%rsp), %rcx
movq %rax, 0x18(%rcx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rcx)
movups %xmm0, 0x30(%rcx)
movq %rcx, 0x20(%rcx)
leaq 0xd0(%rsp), %rbx
leaq 0x2787(%rip), %r14      # 0x6424
xorl %ebp, %ebp
movq 0x38(%rsp), %rax
testq %rax, %rax
je 0x3cb2
movq 0x10(%rax), %rcx
testq %rcx, %rcx
jne 0x3cd7
movq 0x30(%rsp), %rax
testq %rax, %rax
je 0x3cc5
movq 0x18(%rax), %rax
movq %rax, 0x30(%rsp)
testq %rax, %rax
je 0x3cd5
movq 0x10(%rax), %rcx
testq %rcx, %rcx
je 0x3cb7
jmp 0x3cd7
xorl %ecx, %ecx
movq %rcx, 0x38(%rsp)
testq %rcx, %rcx
je 0x3d11
incl %ebp
movq 0x30(%rsp), %rax
movq 0x38(%rsp), %rcx
movq (%rax), %rsi
movq (%rcx), %rdx
movq %rbx, %rdi
xorl %ecx, %ecx
callq 0x2c60
movq %r14, %rdi
movl %ebp, %esi
movq %rbx, %rdx
xorl %eax, %eax
callq 0x2030
cmpl $0x28, %ebp
jne 0x3c9f
leaq 0x29b0(%rip), %rdi      # 0x66c8
callq 0x2280
movq 0x552c(%rip), %rax      # 0x9250
leaq 0x90(%rsp), %rbx
movq %rax, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x30(%rbx)
movq %rbx, 0x20(%rbx)
movl $0x1, %ebp
leaq 0xd0(%rsp), %r14
leaq 0x26d1(%rip), %r15      # 0x6424
movq %rbx, %rdi
callq 0x4654
testq %rax, %rax
je 0x3d9f
movq 0xb0(%rsp), %rax
movq 0xb8(%rsp), %rcx
movq (%rax), %rsi
movq (%rcx), %rdx
movq 0xc0(%rsp), %rax
movq (%rax), %rcx
movq %r14, %rdi
callq 0x2c60
movq %r15, %rdi
movl %ebp, %esi
movq %r14, %rdx
xorl %eax, %eax
callq 0x2030
incl %ebp
cmpl $0x29, %ebp
jne 0x3d53
leaq 0x292d(%rip), %rdi      # 0x66d3
callq 0x2280
movq 0x549e(%rip), %rax      # 0x9250
leaq 0x50(%rsp), %rbx
movq %rax, 0x18(%rbx)
xorps %xmm0, %xmm0
movups %xmm0, 0x20(%rbx)
movups %xmm0, 0x30(%rbx)
movq %rbx, 0x20(%rbx)
movl $0x1, %ebp
leaq 0xd0(%rsp), %r14
movq %rbx, %rdi
callq 0x46ec
testq %rax, %rax
je 0x3e6e
movq 0x88(%rsp), %rax
movzwl 0x4(%rax), %ecx
leaq (%rax,%rcx), %r12
addq $0x10, %r12
movzwl (%rax), %ecx
leaq 0x10(%rax,%rcx), %r13
movzwl 0x6(%rax), %ecx
leaq 0x10(%rax,%rcx), %r15
movq 0x70(%rsp), %rax
movq 0x78(%rsp), %rcx
movq (%rax), %rsi
movq (%rcx), %rdx
movq 0x80(%rsp), %rax
movq (%rax), %rcx
movq %r14, %rdi
callq 0x2c60
movq 0x88(%rsp), %rax
movzwl 0x2(%rax), %ecx
addq %rcx, %rax
addq $0x10, %rax
movq %rax, (%rsp)
leaq 0x2664(%rip), %rdi      # 0x64b2
movl %ebp, %esi
movq %r12, %rdx
movq %r13, %rcx
movq %r15, %r8
movq %r14, %r9
xorl %eax, %eax
callq 0x2030
incl %ebp
cmpl $0x29, %ebp
jne 0x3dd7
xorl %eax, %eax
addq $0x4d8, %rsp            # imm = 0x4D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq