// File: /workspace/github_cpp_makefile_star2_O1/adamiaonr[P]rid-analytics/src/argvparser.cpp
// Function: CommandLineProcessing::ArgvParser::parseErrorDescription[abi:cxx11](int) const
std::string ArgvParser::parseErrorDescription( ParserResults _error_code ) const
{
    string descr;

    switch (_error_code)
    {
    case ArgvParser::NoParserError:
        // no error -> nothing to do
        break;
    case ArgvParser::ParserUnknownOption:
        descr = "Unknown option: '" + errorOption() + "'";
        break;
    case ArgvParser::ParserMissingValue:
        descr = "Missing required value for option: '" + errorOption()+ "'";
        break;
    case ArgvParser::ParserOptionAfterArgument:
        descr = "Misplaced option '" + errorOption() + "' detected. All option have to be BEFORE the first argument";
        break;
    case ArgvParser::ParserMalformedMultipleShortOption:
        descr = "Malformed short-options: '" + errorOption() + "'";
        break;
    case ArgvParser::ArgvParser::ParserRequiredOptionMissing:
        descr = "Required option missing: '" + errorOption() + "'";
        break;
    case ArgvParser::ParserHelpRequested: // help
        descr = usageDescription();
        break;
    default:
        cerr << "ArgvParser::documentParserErrors(): Unknown error code" << endl;
    }

    return(descr);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x40, %rsp
movq %rsi, %rax
movq %rdi, %rbx
leaq 0x10(%rdi), %r15
movq %r15, (%rdi)
movq $0x0, 0x8(%rdi)
movb $0x0, 0x10(%rdi)
cmpl $0x8, %edx
ja 0x2153b
movl %edx, %ecx
leaq 0x10652(%rip), %rdx     # 0x31b58
movslq (%rdx,%rcx,4), %rcx
addq %rdx, %rcx
jmpq *%rcx
addq $0x138, %rax            # imm = 0x138
leaq 0x10766(%rip), %rsi     # 0x31c82
movq %rsp, %rdi
movq %rax, %rdx
callq 0x21de2
leaq 0x1080e(%rip), %rsi     # 0x31d3c
movq %rsp, %rdi
callq 0x4760
jmp 0x21673
cmpl $0x16, %edx
je 0x2164c
cmpl $0x32, %edx
jne 0x21586
leaq 0x20(%rsp), %rdi
movq %rax, %rsi
movl $0x50, %edx
callq 0x205d4
leaq 0x20(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4460
movq (%r14), %rdi
leaq 0x30(%rsp), %rax
cmpq %rax, %rdi
je 0x216f8
movq 0x30(%rsp), %rsi
jmp 0x216f0
movq 0x1ea63(%rip), %r14     # 0x3fff0
leaq 0x107aa(%rip), %rsi     # 0x31d3e
movl $0x36, %edx
movq %r14, %rdi
callq 0x4400
movq (%r14), %rax
addq -0x18(%rax), %r14
movq %r14, %rdi
movl $0xa, %esi
callq 0x4370
movsbl %al, %esi
movq 0x1ea31(%rip), %rdi     # 0x3fff0
callq 0x4040
movq %rax, %rdi
callq 0x42a0
jmp 0x216f8
addq $0x138, %rax            # imm = 0x138
leaq 0x106b6(%rip), %rsi     # 0x31c94
movq %rsp, %rdi
movq %rax, %rdx
callq 0x21de2
leaq 0x1074c(%rip), %rsi     # 0x31d3c
movq %rsp, %rdi
callq 0x4760
jmp 0x21673
addq $0x138, %rax            # imm = 0x138
leaq 0x106b2(%rip), %rsi     # 0x31cb9
movq %rsp, %rdi
movq %rax, %rdx
callq 0x21de2
leaq 0x106b3(%rip), %rsi     # 0x31ccc
movq %rsp, %rdi
callq 0x4760
jmp 0x21673
addq $0x138, %rax            # imm = 0x138
leaq 0x106d8(%rip), %rsi     # 0x31d08
movq %rsp, %rdi
movq %rax, %rdx
callq 0x21de2
leaq 0x106fa(%rip), %rsi     # 0x31d3c
movq %rsp, %rdi
callq 0x4760
jmp 0x21673
addq $0x138, %rax            # imm = 0x138
leaq 0x106ca(%rip), %rsi     # 0x31d23
movq %rsp, %rdi
movq %rax, %rdx
callq 0x21de2
leaq 0x106d1(%rip), %rsi     # 0x31d3c
movq %rsp, %rdi
callq 0x4760
leaq 0x30(%rsp), %r15
movq %r15, -0x10(%r15)
movq (%rax), %rdx
movq %rax, %rcx
addq $0x10, %rcx
cmpq %rcx, %rdx
je 0x2169a
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x216a1
movups (%rcx), %xmm0
movups %xmm0, (%r15)
movq 0x8(%rax), %rdx
leaq 0x20(%rsp), %r14
movq %rdx, 0x8(%r14)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq %rbx, %rdi
movq %r14, %rsi
callq 0x4460
movq (%r14), %rdi
cmpq %r15, %rdi
je 0x216dd
movq 0x30(%rsp), %rsi
incq %rsi
callq 0x43a0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x216f8
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x43a0
movq %rbx, %rax
addq $0x40, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0x21711
jmp 0x21739
jmp 0x21739
jmp 0x21711
jmp 0x21711
jmp 0x21711
movq %rax, %r14
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2173c
movq 0x10(%rsp), %rsi
incq %rsi
callq 0x43a0
jmp 0x2173c
jmp 0x21739
jmp 0x21739
jmp 0x21739
jmp 0x21739
movq %rax, %r14
movq (%rbx), %rdi
cmpq %r15, %rdi
je 0x2174f
movq (%r15), %rsi
incq %rsi
callq 0x43a0
movq %r14, %rdi
callq 0x4700
nop