// File: /workspace/github_cpp_makefile_star2_O2/swxlion[P]swxJson/src/swxJsonParser.cpp
// Function: swxJson::JsonParser::processSlash()
void processSlash()
	{
		_pos++;

		if (*_pos == 0)
			throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, uncompleted string.");

		switch (*_pos)
		{
			// case '"':		//-- Action same as default;
			// case '\\':		//-- Action same as default;
			// case '/':		//-- Action same as default;

			case 'b': _outStringStream<<'\b'; break;
			case 'f': _outStringStream<<'\f'; break;
			case 'n': _outStringStream<<'\n'; break;
			case 'r': _outStringStream<<'\r'; break;
			case 't': _outStringStream<<'\t'; break;
			case 'u':
			{
				_pos++;
				uint16_t W1 = parseUTF16Char();
				_pos += 4;
				
				if (W1 < 0xD800 || W1 > 0xDFFF)
				{
					UTF16ToUTF8(W1);
					return;
				}

				if (W1 >= 0xD800 && W1 <= 0xDBFF)
				{
					if(*_pos++ != '\\')
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair missing.");
					}
					else if(*_pos++ != 'u')
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair missing.");
					}
					uint16_t W2 = parseUTF16Char();
					if (W2 < 0xDC00 || W2 > 0xDFFF)
					{
						throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, trail surrogates for utf-16 surrogate pair in wrong range.");
					}
					UTF16ToUTF8(W1, W2);
					_pos += 4;
					return;
				}
				else
					throw JSON_ERROR_MSG(JosnInvalidContentError, "Json parser: content error, lead surrogates for utf-16 surrogate pair missing.");
			}

			default:
				_outStringStream<<(char)(*_pos);
				break;
		}

		_pos++;
	}

// Assembly:
pushq %rbp
pushq %r14
pushq %rbx
subq $0x30, %rsp
movq %rdi, %rbx
movq 0x12f0(%rdi), %rcx
leaq 0x1(%rcx), %rax
movq %rax, 0x12f0(%rdi)
movb 0x1(%rcx), %al
movzbl %al, %edx
leal -0x6e(%rdx), %esi
cmpl $0x7, %esi
ja 0x2e4d6
leaq 0x160a(%rip), %rdx      # 0x2fad0
movslq (%rdx,%rsi,4), %rsi
addq %rdx, %rsi
jmpq *%rsi
movb $0xa, %al
jmp 0x2e5a9
cmpl $0x62, %edx
je 0x2e5a3
cmpl $0x66, %edx
je 0x2e5a7
testl %edx, %edx
jne 0x2e5a9
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x191c(%rip), %rsi      # 0x2fe1e
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x15d5(%rip), %rsi      # 0x2faf0
leaq 0x192c(%rip), %rdx      # 0x2fe4e
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0xdf, %ecx
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xe82b(%rip), %rsi      # 0x3cd68
leaq -0xf2ee(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
jmp 0x2e7a8
movb $0x9, %al
jmp 0x2e5a9
movb $0xd, %al
jmp 0x2e5a9
addq $0x2, %rcx
movq %rcx, 0x12f0(%rbx)
movq %rbx, %rdi
callq 0x2e7e0
movl %eax, %r14d
movq 0x12f0(%rbx), %rax
leaq 0x4(%rax), %rcx
movq %rcx, 0x12f0(%rbx)
leal 0x2000(%r14), %ecx
cmpw $0xf7ff, %cx            # imm = 0xF7FF
ja 0x2e5c8
movzwl %r14w, %esi
movq %rbx, %rdi
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
jmp 0x2e8c0
movb $0x8, %al
jmp 0x2e5a9
movb $0xc, %al
leaq 0x1100(%rbx), %rdi
movsbl %al, %esi
callq 0x1b2f0
incq 0x12f0(%rbx)
addq $0x30, %rsp
popq %rbx
popq %r14
popq %rbp
retq
cmpw $0xdbff, %r14w          # imm = 0xDBFF
ja 0x2e62c
leaq 0x5(%rax), %rcx
movq %rcx, 0x12f0(%rbx)
cmpb $0x5c, 0x4(%rax)
jne 0x2e68d
leaq 0x6(%rax), %rcx
movq %rcx, 0x12f0(%rbx)
cmpb $0x75, 0x5(%rax)
jne 0x2e6ee
movq %rbx, %rdi
callq 0x2e7e0
leal 0x2000(%rax), %ecx
cmpw $0xfbff, %cx            # imm = 0xFBFF
jbe 0x2e74c
movzwl %r14w, %esi
movzwl %ax, %edx
movq %rbx, %rdi
callq 0x2e93e
addq $0x4, 0x12f0(%rbx)
jmp 0x2e5bf
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x18c4(%rip), %rsi      # 0x2ff02
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x1499(%rip), %rsi      # 0x2faf0
leaq 0x17f0(%rip), %rdx      # 0x2fe4e
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x10c, %ecx            # imm = 0x10C
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xe6ef(%rip), %rsi      # 0x3cd68
leaq -0xf42a(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
jmp 0x2e7a8
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x17bc(%rip), %rsi      # 0x2fe5b
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x1438(%rip), %rsi      # 0x2faf0
leaq 0x178f(%rip), %rdx      # 0x2fe4e
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0xfc, %ecx
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xe68e(%rip), %rsi      # 0x3cd68
leaq -0xf48b(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
jmp 0x2e7a8
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x175b(%rip), %rsi      # 0x2fe5b
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x13d7(%rip), %rsi      # 0x2faf0
leaq 0x172e(%rip), %rdx      # 0x2fe4e
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x100, %ecx            # imm = 0x100
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xe62d(%rip), %rsi      # 0x3cd68
leaq -0xf4ec(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
jmp 0x2e7a8
pushq $0x60
popq %rdi
callq 0x1b110
movq %rax, %rbx
leaq 0x174d(%rip), %rsi      # 0x2feab
leaq 0x10(%rsp), %rdi
leaq 0xf(%rsp), %rdx
callq 0x1d34a
movb $0x1, %bpl
leaq 0x1379(%rip), %rsi      # 0x2faf0
leaq 0x16d0(%rip), %rdx      # 0x2fe4e
leaq 0x10(%rsp), %r8
movq %rbx, %rdi
movl $0x105, %ecx            # imm = 0x105
callq 0x2cc64
xorl %ebp, %ebp
leaq 0xe5cf(%rip), %rsi      # 0x3cd68
leaq -0xf54a(%rip), %rdx     # 0x1f256
movq %rbx, %rdi
callq 0x1b3f0
jmp 0x2e7b8
jmp 0x2e7cc
jmp 0x2e7b8
jmp 0x2e7cc
jmp 0x2e7b8
jmp 0x2e7cc
jmp 0x2e7b8
jmp 0x2e7cc
movq %rax, %r14
leaq 0x10(%rsp), %rdi
callq 0x1b458
testb %bpl, %bpl
jne 0x2e7cf
jmp 0x2e7d7
movq %rax, %r14
movq %rbx, %rdi
callq 0x1b1c0
movq %r14, %rdi
callq 0x1b410
nop