// File: /workspace/github_cpp_makefile_star2_O3/WayfireWM[P]wf-utils/wayfire/lexer/symbol.cpp
// Function: wf::to_string[abi:cxx11](wf::symbol_t const&)
std::string to_string(const symbol_t &s)
{
    std::string out = "Symbol [";
    switch (s.type)
    {
    case symbol_t::type_t::END:
        out.append("END");
        break;
    case symbol_t::type_t::IDENTIFIER:
        out.append("Identifier: ").append(get_string(s.value));
        break;
    case symbol_t::type_t::LITERAL:
        out.append("Literal: [");
        out.append(to_string(s.value));
        out.append("]");
        break;
    case symbol_t::type_t::OPERATOR:
        out.append("Operator: ").append(get_string(s.value));
        break;
    case symbol_t::type_t::KEYWORD:
        out.append("Keyword: ").append(get_string(s.value));
        break;
    case symbol_t::type_t::STRUCTURAL:
        out.append("Structural: ").append(get_string(s.value));
        break;
    case symbol_t::type_t::SIGNAL:
        out.append("Signal: ").append(get_string(s.value));
        break;
    }
    out.append("]");
    return out;
}

// Assembly:
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %r14
leaq 0x10(%rdi), %r12
leaq 0x38e3(%rip), %rsi      # 0xc4d3
leaq 0x38e4(%rip), %rdx      # 0xc4db
movq %rdi, %rbx
movq %r12, (%rdi)
callq 0x6386
movl (%r14), %eax
cmpq $0x6, %rax
ja 0x8dbe
leaq 0x381a(%rip), %rcx      # 0xc430
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x38b6(%rip), %rsi      # 0xc4dc
jmp 0x8cb9
leaq 0x38d1(%rip), %rsi      # 0xc503
movq %rbx, %rdi
callq 0x53b0
movq %rax, %r15
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb34c
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x5090
jmp 0x8da3
leaq 0x3881(%rip), %rsi      # 0xc4ed
movq %rbx, %rdi
callq 0x53b0
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb376
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %rbx, %rdi
callq 0x5090
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8cb2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x3364(%rip), %rsi      # 0xc01d
movq %rbx, %rdi
callq 0x53b0
jmp 0x8dbe
leaq 0x382b(%rip), %rsi      # 0xc4f8
movq %rbx, %rdi
callq 0x53b0
movq %rax, %r15
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb34c
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x5090
jmp 0x8da3
leaq 0x37d9(%rip), %rsi      # 0xc4e0
movq %rbx, %rdi
callq 0x53b0
movq %rax, %r15
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb34c
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x5090
jmp 0x8da3
leaq 0x37cf(%rip), %rsi      # 0xc50d
movq %rbx, %rdi
callq 0x53b0
movq %rax, %r15
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb34c
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x5090
jmp 0x8da3
leaq 0x37a5(%rip), %rsi      # 0xc51a
movq %rbx, %rdi
callq 0x53b0
movq %rax, %r15
addq $0x8, %r14
leaq 0x8(%rsp), %rdi
movq %r14, %rsi
callq 0xb34c
movq 0x10(%rsp), %rdx
movq 0x8(%rsp), %rsi
movq %r15, %rdi
callq 0x5090
leaq 0x18(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x8dbe
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
leaq 0x3258(%rip), %rsi      # 0xc01d
movq %rbx, %rdi
callq 0x53b0
movq %rbx, %rax
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
retq
jmp 0x8de6
jmp 0x8de6
jmp 0x8de6
jmp 0x8de6
jmp 0x8de6
leaq 0x18(%rsp), %rcx
movq %rax, %r14
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x8e15
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x5230
jmp 0x8e15
jmp 0x8e12
jmp 0x8e12
jmp 0x8e12
jmp 0x8e12
jmp 0x8e12
jmp 0x8e12
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r12, %rdi
je 0x8e29
movq (%r12), %rsi
incq %rsi
callq 0x5230
movq %r14, %rdi
callq 0x5390