// File: /workspace/github_cpp_makefile_star2_O1/mhe[P]raytracerframework_cpp/yaml/parser.cpp
// Function: YAML::Parser::HandleYamlDirective(YAML::Token*)
void Parser::HandleYamlDirective(Token *pToken)
	{
		if(pToken->params.size() != 1)
			throw ParserException(pToken->line, pToken->column, ErrorMsg::YAML_DIRECTIVE_ARGS);

		std::stringstream str(pToken->params[0]);
		str >> m_state.version.major;
		str.get();
		str >> m_state.version.minor;
		if(!str || str.peek() != EOF)
			throw ParserException(pToken->line, pToken->column, ErrorMsg::YAML_VERSION + pToken->params[0]);

		if(m_state.version.major > 1)
			throw ParserException(pToken->line, pToken->column, ErrorMsg::YAML_MAJOR_VERSION);

		// TODO: warning on major == 1, minor > 2?
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1a8, %rsp            # imm = 0x1A8
movq %rsi, %rbx
movq 0x30(%rsi), %rsi
movq 0x38(%rbx), %rax
subq %rsi, %rax
cmpq $0x20, %rax
jne 0x2935b
movq %rdi, %r15
leaq -0x1d0(%rbp), %r12
movq %r12, %rdi
movl $0x18, %edx
callq 0x54c0
leaq 0x8(%r15), %r14
movq %r12, %rdi
movq %r14, %rsi
callq 0x5180
leaq -0x1d0(%rbp), %rdi
callq 0x53a0
addq $0xc, %r15
leaq -0x1d0(%rbp), %rdi
movq %r15, %rsi
callq 0x5180
movq -0x1d0(%rbp), %rax
movq -0x18(%rax), %rax
testb $0x5, -0x1b0(%rbp,%rax)
jne 0x292f8
leaq -0x1d0(%rbp), %rdi
callq 0x5100
cmpl $-0x1, %eax
jne 0x292f8
cmpl $0x2, (%r14)
jge 0x29393
movq 0x12cda(%rip), %rsi     # 0x3bfa8
leaq -0x1d0(%rbp), %rdi
callq 0x5240
leaq -0x150(%rbp), %rdi
callq 0x50e0
addq $0x1a8, %rsp            # imm = 0x1A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movl $0x30, %edi
callq 0x5140
movq %rax, %r14
movl 0x8(%rbx), %r15d
movl 0xc(%rbx), %r12d
movq 0x30(%rbx), %rdx
leaq 0x15a88(%rip), %rsi     # 0x3eda0
leaq -0x48(%rbp), %rdi
callq 0x295df
movb $0x1, %r13b
leaq -0x48(%rbp), %rcx
movq %r14, %rdi
movl %r15d, %esi
movl %r12d, %edx
callq 0x1a648
leaq 0x12583(%rip), %rax     # 0x3b8c0
movq %rax, (%r14)
xorl %r13d, %r13d
leaq 0x1230e(%rip), %rsi     # 0x3b658
leaq -0xeb1d(%rip), %rdx     # 0x1a834
movq %r14, %rdi
callq 0x5520
jmp 0x293d5
movl $0x30, %edi
callq 0x5140
movq %rax, %r14
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %edx
leaq 0x15a0b(%rip), %rcx     # 0x3ed80
movq %rax, %rdi
callq 0x26d60
leaq 0x122d4(%rip), %rsi     # 0x3b658
leaq -0xeb57(%rip), %rdx     # 0x1a834
movq %r14, %rdi
callq 0x5520
movl $0x30, %edi
callq 0x5140
movq %rax, %r14
movl 0x8(%rbx), %esi
movl 0xc(%rbx), %edx
leaq 0x15a13(%rip), %rcx     # 0x3edc0
movq %rax, %rdi
callq 0x1a648
leaq 0x12504(%rip), %rax     # 0x3b8c0
movq %rax, (%r14)
leaq 0x12292(%rip), %rsi     # 0x3b658
leaq -0xeb99(%rip), %rdx     # 0x1a834
movq %r14, %rdi
callq 0x5520
movq %rax, %rbx
jmp 0x29410
movq %rax, %rbx
movq %r14, %rdi
callq 0x5230
jmp 0x2943c
movq %rax, %rbx
leaq -0x38(%rbp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x2940b
movq -0x38(%rbp), %rsi
incq %rsi
callq 0x52e0
jmp 0x2940b
movq %rax, %rbx
movb $0x1, %r13b
testb %r13b, %r13b
je 0x2941d
movq %r14, %rdi
callq 0x5230
jmp 0x2941d
movq %rax, %rbx
movq 0x12b84(%rip), %rsi     # 0x3bfa8
leaq -0x1d0(%rbp), %rdi
callq 0x5240
leaq -0x150(%rbp), %rdi
callq 0x50e0
movq %rbx, %rdi
callq 0x5560