// File: Barath-Kannan[P]SignalsAndSlots/3rdparty/googletest/inc/gtest/internal/gtest-param-util.h
// Function: testing::internal::ParameterizedTestCaseInfo<SignalTestParametrized>* testing::internal::ParameterizedTestCaseRegistry::GetTestCasePatternHolder<SignalTestParametrized>(char const*, testing::internal::CodeLocation)
ParameterizedTestCaseInfo<TestCase>* GetTestCasePatternHolder(
      const char* test_case_name,
      CodeLocation code_location) {
    ParameterizedTestCaseInfo<TestCase>* typed_test_info = NULL;
    for (TestCaseInfoContainer::iterator it = test_case_infos_.begin();
         it != test_case_infos_.end(); ++it) {
      if ((*it)->GetTestCaseName() == test_case_name) {
        if ((*it)->GetTestCaseTypeId() != GetTypeId<TestCase>()) {
          // Complain about incorrect usage of Google Test facilities
          // and terminate the program since we cannot guaranty correct
          // test case setup and tear-down in this case.
          ReportInvalidTestCaseType(test_case_name, code_location);
          posix::Abort();
        } else {
          // At this point we are sure that the object we found is of the same
          // type we are looking for, so we downcast it to that type
          // without further checks.
          typed_test_info = CheckedDowncastToActualType<
              ParameterizedTestCaseInfo<TestCase> >(*it);
        }
        break;
      }
    }
    if (typed_test_info == NULL) {
      typed_test_info = new ParameterizedTestCaseInfo<TestCase>(
          test_case_name, code_location);
      test_case_infos_.push_back(typed_test_info);
    }
    return typed_test_info;
  }

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xe0, %rsp
movq %rdx, -0xb0(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rdi
movq %rdi, -0xa8(%rbp)
movq $0x0, -0x20(%rbp)
callq 0x56360
movq %rax, -0x28(%rbp)
movq -0xa8(%rbp), %rdi
callq 0x563d0
movq %rax, -0x30(%rbp)
leaq -0x28(%rbp), %rdi
leaq -0x30(%rbp), %rsi
callq 0x56390
testb $0x1, %al
jne 0x53a10
jmp 0x53aec
leaq -0x28(%rbp), %rdi
callq 0x56430
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x10(%rax)
movq %rax, %rdi
movq -0x10(%rbp), %rsi
callq 0x56400
testb $0x1, %al
jne 0x53a37
jmp 0x53adc
leaq -0x28(%rbp), %rdi
callq 0x56430
movq (%rax), %rdi
movq (%rdi), %rax
callq *0x18(%rax)
movq %rax, -0xb8(%rbp)
callq 0x56450
movq %rax, %rcx
movq -0xb8(%rbp), %rax
cmpq %rcx, %rax
je 0x53ac5
movq -0xb0(%rbp), %rsi
movq -0x10(%rbp), %rax
movq %rax, -0xc8(%rbp)
leaq -0x58(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0x56460
movq -0xc8(%rbp), %rdi
movq -0xc0(%rbp), %rsi
callq 0x75ce0
jmp 0x53a9b
leaq -0x58(%rbp), %rdi
callq 0x1c120
callq 0x564a0
jmp 0x53ada
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x58(%rbp), %rdi
callq 0x1c120
jmp 0x53bda
leaq -0x28(%rbp), %rdi
callq 0x56430
movq (%rax), %rdi
callq 0x564b0
movq %rax, -0x20(%rbp)
jmp 0x53aec
jmp 0x53ade
leaq -0x28(%rbp), %rdi
callq 0x565a0
jmp 0x539ea
cmpq $0x0, -0x20(%rbp)
jne 0x53bcd
movl $0x80, %edi
callq 0xd660
movq -0xb0(%rbp), %rsi
movq %rax, -0xd8(%rbp)
movb $0x1, -0x91(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xd0(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x56460
jmp 0x53b2f
movq -0xd0(%rbp), %rsi
movq -0xd8(%rbp), %rdi
leaq -0x90(%rbp), %rdx
callq 0x565c0
jmp 0x53b4b
movq -0xd8(%rbp), %rax
movb $0x0, -0x91(%rbp)
movq %rax, -0x20(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x1c120
movq -0xa8(%rbp), %rdi
movq -0x20(%rbp), %rax
movq %rax, -0xa0(%rbp)
leaq -0xa0(%rbp), %rsi
callq 0x566b0
jmp 0x53bcd
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
jmp 0x53baf
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x60(%rbp)
movl %eax, -0x64(%rbp)
leaq -0x90(%rbp), %rdi
callq 0x1c120
testb $0x1, -0x91(%rbp)
jne 0x53bba
jmp 0x53bcb
movq -0xd8(%rbp), %rdi
movl $0x80, %esi
callq 0xd690
jmp 0x53bda
movq -0x20(%rbp), %rax
addq $0xe0, %rsp
popq %rbp
retq
movq -0x60(%rbp), %rdi
callq 0xdcb0
nopw %cs:(%rax,%rax)
nopl (%rax)