All functions:
  Elements:
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_fuzz_test.cc:25,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 27
      start: 23
    functionDepth: 1
    functionLinenumber: 23
    functionLinenumberEnd: 27
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/http_pattern_matcher/test/http_template_fuzz_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 48
    functionDepth: 0
    functionLinenumber: 48
    functionLinenumberEnd: 48
    functionName: PathMatcherUtilityTest::PathMatcherUtilityTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherUtilityTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:57,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:57,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:58,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:59,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 60
      start: 55
    functionDepth: 1
    functionLinenumber: 55
    functionLinenumberEnd: 60
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_TRUE
    - EXPECT_CALL
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    - Register
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, NeverRegister)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_get
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:64,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:65,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:66,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:67,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:67,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:67,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:67,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:68,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:68,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:68,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:69,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:70,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:71,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:72,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:73,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:73,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:73,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:73,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:74,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:74,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:75,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:76,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:76,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 78
      start: 62
    functionDepth: 1
    functionLinenumber: 62
    functionLinenumberEnd: 78
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - HttpRule::set_get
    - ASSERT_FALSE
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterGet)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_put
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:82,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:83,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:84,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:85,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:85,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:85,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:85,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:86,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:86,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:86,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:87,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:88,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:89,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:90,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:91,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:91,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:91,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:91,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:92,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:92,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:93,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:94,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 80
    functionDepth: 1
    functionLinenumber: 80
    functionLinenumberEnd: 96
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - ASSERT_FALSE
    - HttpRule::set_put
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterPut)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_post
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:100,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:101,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:102,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:103,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:103,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:103,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:103,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:104,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:104,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:104,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:105,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:106,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:107,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:108,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:109,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:109,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:109,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:109,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:110,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:110,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:111,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:112,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 98
    functionDepth: 1
    functionLinenumber: 98
    functionLinenumberEnd: 114
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - ASSERT_FALSE
    - HttpRule::set_post
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterPost)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_delete_
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:118,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:119,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:120,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:121,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:121,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:121,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:121,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:122,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:122,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:122,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:123,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:124,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:125,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:126,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:127,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:127,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:127,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:127,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:128,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:128,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:129,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:130,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:130,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 132
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - ASSERT_FALSE
    - ASSERT_TRUE
    - EXPECT_CALL
    - HttpRule::set_delete_
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterDelete)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_patch
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:136,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:137,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:138,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:139,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:139,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:139,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:139,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:140,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:140,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:140,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:141,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:142,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:143,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:144,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:145,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:145,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:145,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:145,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:146,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:146,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:147,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:148,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:148,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 134
    functionDepth: 1
    functionLinenumber: 134
    functionLinenumberEnd: 150
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - ASSERT_FALSE
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - HttpRule::set_patch
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterPatch)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:154,1
    - Dst: HttpRule::mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:155,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:156,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:157,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:158,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:158,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:158,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:158,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:159,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:159,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:159,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:160,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:161,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:162,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:163,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:164,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:164,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:164,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:164,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:165,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:165,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:166,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:167,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:167,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 152
    functionDepth: 1
    functionLinenumber: 152
    functionLinenumberEnd: 169
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::mutable_custom
    - HttpRule::set_body
    - Eq
    - ASSERT_FALSE
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterCustom)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_get
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:173,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:174,1
    - Dst: HttpRule::add_additional_bindings
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:176,1
    - Dst: mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:177,1
    - Dst: mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:178,1
    - Dst: set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:179,1
    - Dst: HttpRule::add_additional_bindings
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:181,1
    - Dst: mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:182,1
    - Dst: mutable_custom
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:183,1
    - Dst: HttpRule::add_additional_bindings
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:185,1
    - Dst: set_put
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:186,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:188,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:189,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:189,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:189,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:189,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:190,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:190,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:190,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:191,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:192,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:193,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:193,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:193,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:193,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:194,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:194,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:194,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:195,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:196,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:197,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:197,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:197,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:197,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:198,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:198,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:198,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:199,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:200,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:201,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:201,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:201,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:201,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:202,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:202,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:202,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:203,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:204,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:205,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:207,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:208,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:208,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:208,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:208,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:209,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:209,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:210,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:211,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:212,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:212,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:212,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:212,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:213,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:213,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:214,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:215,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 171
    functionDepth: 1
    functionLinenumber: 171
    functionLinenumberEnd: 217
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - mutable_custom
    - HttpRule::set_body
    - Eq
    - HttpRule::set_get
    - HttpRule::add_additional_bindings
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    - ASSERT_FALSE
    - ASSERT_TRUE
    - set_put
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - set_body
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterAdditionalBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpRule::set_get
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:221,1
    - Dst: HttpRule::set_body
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:222,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:223,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:224,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:224,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:224,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:224,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:225,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:225,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:225,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:226,1
    - Dst: ASSERT_TRUE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:227,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:228,1
    - Dst: EXPECT_CALL
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:229,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:230,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:230,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:230,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:230,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:231,1
    - Dst: Eq
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:231,1
    - Dst: Return
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:232,1
    - Dst: ASSERT_FALSE
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:233,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/test/path_matcher_utility_test.cc:233,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 235
    functionName: TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
    functionUses: 0
    functionsReached:
    - Return
    - HttpRule::set_body
    - Eq
    - HttpRule::set_get
    - ASSERT_FALSE
    - ASSERT_TRUE
    - EXPECT_CALL
    - std::unordered_set<std::string>
    - Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherUtilityTest, RegisterRootPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 2
    argCount: 2
    argNames:
    - v1
    - v2
    argTypes:
    - Variable
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: operator==(const Variable &v1, const Variable &v2)
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Variable &v1, const Variable &v2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/http_template_test.cc:44,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - fp
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 41
    functionDepth: 0
    functionLinenumber: 41
    functionLinenumberEnd: 50
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath &fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/http_template_test.cc:53,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - os
    - var
    argTypes:
    - std::ostream
    - Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 56
    functionName: '&operator<<(std::ostream &os, const Variable &var)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variable &var)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - os
    - vars
    argTypes:
    - std::ostream
    - Variables
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 63
    functionName: '&operator<<(std::ostream &os, const Variables &vars)'
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream &operator<<(std::ostream &os, const Variables &vars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:66,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:67,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:68,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:69,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:73,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 65
    functionDepth: 1
    functionLinenumber: 65
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:77,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:78,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:79,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:80,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 82
      start: 76
    functionDepth: 1
    functionLinenumber: 76
    functionLinenumberEnd: 82
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:85,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:86,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:87,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:88,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:89,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 84
    functionDepth: 1
    functionLinenumber: 84
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:93,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:94,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:95,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:96,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 1
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest3b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:101,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:102,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:103,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:104,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 106
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 106
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4a)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:109,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:110,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:111,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:112,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:113,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 114
      start: 108
    functionDepth: 1
    functionLinenumber: 108
    functionLinenumberEnd: 114
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest4b)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:117,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:118,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:119,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:120,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 116
    functionDepth: 1
    functionLinenumber: 116
    functionLinenumberEnd: 122
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:125,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:126,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:127,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:128,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 130
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 130
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest6)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:133,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:134,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:135,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:136,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:137,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 132
    functionDepth: 1
    functionLinenumber: 132
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest7)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:144,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:145,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:146,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:147,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:148,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:151,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 143
    functionDepth: 1
    functionLinenumber: 143
    functionLinenumberEnd: 152
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest8)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:155,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:156,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:157,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:158,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:159,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:162,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 163
      start: 154
    functionDepth: 1
    functionLinenumber: 154
    functionLinenumberEnd: 163
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest9)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:166,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:167,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:168,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:169,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:170,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 165
    functionDepth: 1
    functionLinenumber: 165
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest10)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:177,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:178,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:179,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:180,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:181,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:184,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 185
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 185
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest11)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:188,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:189,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:190,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:191,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:192,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest12)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:199,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:200,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:201,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:202,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:203,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:206,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 198
    functionDepth: 1
    functionLinenumber: 198
    functionLinenumberEnd: 207
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest13)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:210,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:211,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:212,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:213,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:214,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:217,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 209
    functionDepth: 1
    functionLinenumber: 209
    functionLinenumberEnd: 218
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest14)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:221,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:222,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:223,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:224,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:225,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 229
      start: 220
    functionDepth: 1
    functionLinenumber: 220
    functionLinenumberEnd: 229
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest15)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:232,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:233,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:234,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:235,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:236,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 240
      start: 231
    functionDepth: 1
    functionLinenumber: 231
    functionLinenumberEnd: 240
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseTest16)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:243,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:244,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:245,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:247,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:248,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:249,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:251,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:252,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:253,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:256,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:258,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:259,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:260,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:262,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:263,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:264,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:266,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:267,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:268,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:271,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 272
      start: 242
    functionDepth: 1
    functionLinenumber: 242
    functionLinenumberEnd: 272
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, CustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:275,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:277,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:278,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:279,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:280,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:283,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:285,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:287,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:288,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:289,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:290,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:293,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:295,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:297,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:298,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:299,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:300,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:303,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:305,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:307,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:308,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:309,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:310,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:313,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:315,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:317,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:318,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:319,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:320,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:323,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:325,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:327,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:328,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:329,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:330,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:333,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:335,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:337,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:338,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:339,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:340,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:343,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:345,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:347,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:348,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:349,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:350,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:353,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:355,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:357,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:358,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:359,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:360,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 45
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 274
    functionDepth: 1
    functionLinenumber: 274
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, MoreVariableTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:367,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:369,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:370,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:371,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:372,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:375,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:377,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:379,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:380,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:381,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:382,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:385,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:387,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:389,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:390,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:391,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:392,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:395,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:397,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:399,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:400,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:401,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:402,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:405,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:407,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:409,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:410,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:411,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:412,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:415,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:417,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:419,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:420,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:421,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:422,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:425,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:427,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:429,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:430,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:431,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:432,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:435,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 436
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 436
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, VariableAndCustomVerbTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:439,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:440,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:441,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:442,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    - Dst: auto::Variables
      Src: /src/http_pattern_matcher/test/http_template_test.cc:443,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 444
      start: 438
    functionDepth: 1
    functionLinenumber: 438
    functionLinenumberEnd: 444
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - Variables
    - ASSERT_NE
    - auto::verb
    - auto::segments
    - auto::Variables
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, RootPATH)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:447,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:448,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:449,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:450,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:451,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:453,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:454,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:455,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:457,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:458,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:459,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:460,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:461,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:463,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:464,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:465,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:466,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:468,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:469,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:470,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:471,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:473,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:474,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:475,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:476,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:477,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:478,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:479,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:480,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:481,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:482,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:484,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:485,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:486,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:487,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:488,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:489,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:490,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:491,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:492,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:493,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:494,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 446
    functionDepth: 1
    functionLinenumber: 446
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ErrorTests)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:499,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:500,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:501,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:502,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 503
      start: 498
    functionDepth: 1
    functionLinenumber: 498
    functionLinenumberEnd: 503
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:506,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:507,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:508,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 510
      start: 505
    functionDepth: 1
    functionLinenumber: 505
    functionLinenumberEnd: 510
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:513,1
    - Dst: ASSERT_NE
      Src: /src/http_pattern_matcher/test/http_template_test.cc:514,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: auto::segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: Segments
      Src: /src/http_pattern_matcher/test/http_template_test.cc:515,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    - Dst: auto::verb
      Src: /src/http_pattern_matcher/test/http_template_test.cc:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 517
      start: 512
    functionDepth: 1
    functionLinenumber: 512
    functionLinenumberEnd: 517
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - Segments
    - google::http::pattern_matcher::HttpTemplate::Parse
    - ASSERT_NE
    - auto::verb
    - auto::segments
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseVerbTest4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:520,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:521,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:522,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:523,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:524,1
    - Dst: ASSERT_EQ
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    - Dst: google::http::pattern_matcher::HttpTemplate::Parse
      Src: /src/http_pattern_matcher/test/http_template_test.cc:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 519
    functionDepth: 1
    functionLinenumber: 519
    functionLinenumberEnd: 526
    functionName: google::http::pattern_matcher::TEST
    functionSourceFile: /src/http_pattern_matcher/test/http_template_test.cc
    functionUses: 0
    functionsReached:
    - ASSERT_EQ
    - google::http::pattern_matcher::HttpTemplate::Parse
    linkageType: ''
    returnType: void
    signature: void TEST(HttpTemplate, ParseNonVerbTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 1
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 17
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 22
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 27
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 32
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 37
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 17
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 42
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 19
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 47
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 9
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 21
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 52
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 10
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 23
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 57
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 11
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 25
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 62
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 12
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 27
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 67
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 13
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 2
    argNames:
    - ' b1'
    - ' b2'
    argTypes:
    - Binding
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 54
    functionName: operator==(const Binding& b1, const Binding& b2)
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool operator==(const Binding& b1, const Binding& b2)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: std::string::empty
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:62,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - ' fp'
    argTypes:
    - FieldPath
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 68
    functionName: google::http::pattern_matcher::FieldPathToString
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - std::string::empty
    linkageType: ''
    returnType: std::string
    signature: std::string FieldPathToString(const FieldPath& fp)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: FieldPathToString
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ' os'
    - ' b'
    argTypes:
    - std::ostream
    - Binding
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 72
    functionName: '& operator<<(std::ostream& os, const Binding& b)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - FieldPathToString
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Binding& b)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 2
    argNames:
    - ' os'
    - ' bindings'
    argTypes:
    - std::ostream
    - Bindings
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 79
      start: 74
    functionDepth: 0
    functionLinenumber: 74
    functionLinenumberEnd: 79
    functionName: '& operator<<(std::ostream& os, const Bindings& bindings)'
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::ostream
    signature: std::ostream & operator<<(std::ostream& os, const Bindings& bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 29
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 72
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 14
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 88
      start: 88
    functionDepth: 0
    functionLinenumber: 88
    functionLinenumberEnd: 88
    functionName: google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherTest()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 89
      start: 89
    functionDepth: 0
    functionLinenumber: 89
    functionLinenumberEnd: 89
    functionName: ~PathMatcherTest()
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherTest()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:94,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:95,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:100,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 102
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 102
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithBodyFieldPath(std::string http_method,\n                                       std::string
      http_template,\n                                       std::string body_field_path)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: MethodInfo::MethodInfo
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:107,1
    - Dst: Register
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:108,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:113,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - http_method
    - http_template
    - system_params
    argTypes:
    - std::string
    - std::string
    - std::unordered_set<std::string>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    - Register
    - MethodInfo::MethodInfo
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * AddPathWithSystemParams(\n      std::string http_method,
      std::string http_template,\n      const std::unordered_set<std::string>* system_params)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:118,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - http_method
    - http_template
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 119
      start: 117
    functionDepth: 1
    functionLinenumber: 117
    functionLinenumberEnd: 119
    functionName: google::http::pattern_matcher::PathMatcherTest::AddPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddPath(std::string http_method, std::string http_template)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:121,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - path
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 121
      start: 121
    functionDepth: 2
    functionLinenumber: 121
    functionLinenumberEnd: 121
    functionName: google::http::pattern_matcher::PathMatcherTest::AddGetPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddPath
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * AddGetPath(std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:124,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 125
      start: 123
    functionDepth: 1
    functionLinenumber: 123
    functionLinenumberEnd: 125
    functionName: google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:127,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 127
    functionDepth: 1
    functionLinenumber: 127
    functionLinenumberEnd: 127
    functionName: google::http::pattern_matcher::PathMatcherTest::Build
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 31
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Build
    linkageType: ''
    returnType: void
    signature: void Build()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:132,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - Bindings*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 129
    functionDepth: 2
    functionLinenumber: 129
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithBodyFieldPath(std::string method, std::string
      path,\n                                      Bindings* bindings,\n                                      std::string*
      body_field_path)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - method
    - path
    - bindings
    argTypes:
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 139
      start: 135
    functionDepth: 1
    functionLinenumber: 135
    functionLinenumberEnd: 139
    functionName: google::http::pattern_matcher::PathMatcherTest::Lookup
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 77
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * Lookup(std::string method, std::string path, Bindings*
      bindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:144,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - method
    - path
    - query_params
    - bindings
    argTypes:
    - std::string
    - std::string
    - std::string
    - Bindings*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 146
      start: 141
    functionDepth: 2
    functionLinenumber: 141
    functionLinenumberEnd: 146
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupWithParams
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    linkageType: ''
    returnType: MethodInfo
    signature: "MethodInfo * LookupWithParams(std::string method, std::string path,\n
      \                              std::string query_params, Bindings* bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:151,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:153,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 2
    argNames:
    - method
    - path
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 155
      start: 148
    functionDepth: 2
    functionLinenumber: 148
    functionLinenumberEnd: 155
    functionName: google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    - Bindings::size
    - std::string
    linkageType: ''
    returnType: MethodInfo
    signature: MethodInfo * LookupNoBindings(std::string method, std::string path)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherTest::AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:159,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:160,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:162,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherTest::Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:166,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:172,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:173,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 1
    argNames:
    - expected_component
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 178
      start: 157
    functionDepth: 3
    functionLinenumber: 157
    functionLinenumberEnd: 178
    functionName: google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherTest::AddGetPath
    - EXPECT_NE
    - google::http::pattern_matcher::PathMatcherTest::Build
    - Bindings
    - google::http::pattern_matcher::PathMatcherTest::Lookup
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: "void MultiSegmentMatchWithReservedCharactersBase(\n      std::string
      expected_component)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:188,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:189,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:191,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:193,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:194,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:195,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 196
      start: 187
    functionDepth: 0
    functionLinenumber: 187
    functionLinenumberEnd: 196
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatchesRoot)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:200,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:201,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:202,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:203,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:204,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:205,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:206,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:208,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:209,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:210,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:211,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:212,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:213,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:215,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:216,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:217,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:219,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:220,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:221,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:222,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:223,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:226,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:228,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:230,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 231
      start: 198
    functionDepth: 0
    functionLinenumber: 198
    functionLinenumberEnd: 231
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, WildCardMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:234,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:235,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:236,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:237,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:238,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:239,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:240,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:241,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:242,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:243,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:245,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:246,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:247,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:248,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:249,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:250,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:251,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:252,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:253,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:256,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:257,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:262,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:263,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:269,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:270,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:276,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:278,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:284,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:285,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:290,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:291,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:296,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:297,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:302,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:303,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:308,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 314
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 314
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindings)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:317,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:318,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:320,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:323,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:324,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 328
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegment)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 2
    argNames:
    - digit
    - uppercase
    argTypes:
    - unsigned char
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 332
    functionDepth: 0
    functionLinenumber: 332
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::HexDigit
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 15
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char HexDigit(unsigned char digit, bool uppercase)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:345,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:346,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:348,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:353,1
    - Dst: google::http::pattern_matcher::HexDigit
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:354,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:357,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:358,1
    - Dst: std::string
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:359,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 364
      start: 344
    functionDepth: 1
    functionLinenumber: 344
    functionLinenumberEnd: 364
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - google::http::pattern_matcher::HexDigit
    - EXPECT_EQ
    - AddGetPath
    - std::string
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesUnescapedForSingleSegmentAllAsciiChars)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:367,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:368,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:370,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:373,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:375,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 0
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment1)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:380,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:381,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:383,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:386,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 390
      start: 379
    functionDepth: 0
    functionLinenumber: 379
    functionLinenumberEnd: 390
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, PercentEscapesNotUnescapedForMultiSegment2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:396,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 398
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 398
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedImplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:403,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 407
      start: 400
    functionDepth: 0
    functionLinenumber: 400
    functionLinenumberEnd: 407
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptReservedExplicit)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:412,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 416
      start: 409
    functionDepth: 0
    functionLinenumber: 409
    functionLinenumberEnd: 416
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(\n    PathMatcherTest,\n    OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAllExceptSlash)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: SetUrlUnescapeSpec
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:420,1
    - Dst: MultiSegmentMatchWithReservedCharactersBase
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:422,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 0
    functionLinenumber: 418
    functionLinenumberEnd: 423
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - MultiSegmentMatchWithReservedCharactersBase
    - SetUrlUnescapeSpec
    linkageType: ''
    returnType: void
    signature: "void TEST_F(PathMatcherTest,\n       OnlyUnreservedCharsAreUnescapedForMultiSegmentMatchUnescapeAll)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:426,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:427,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:428,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:429,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:431,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:432,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:433,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:437,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:438,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:439,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:440,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:443,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:444,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:445,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:446,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:449,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:450,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:451,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:452,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:455,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:456,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:457,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:458,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 460
      start: 425
    functionDepth: 0
    functionLinenumber: 425
    functionLinenumberEnd: 460
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbIssue)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:463,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:464,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:465,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:466,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:467,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:468,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:469,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:471,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:472,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:473,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:474,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:475,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:476,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:479,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:480,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:482,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:483,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:485,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:486,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:488,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:489,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:491,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:492,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:494,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:495,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 496
      start: 462
    functionDepth: 0
    functionLinenumber: 462
    functionLinenumberEnd: 496
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithCustomVerb)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:499,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:500,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:501,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:502,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:503,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:504,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:505,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:506,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:507,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:508,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:509,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:510,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:512,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:513,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:514,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:515,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:516,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:517,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:518,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:519,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:520,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:521,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:525,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:526,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:528,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:529,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:531,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:532,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:534,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:535,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:537,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:538,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:540,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:541,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:545,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:546,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:550,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:551,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:555,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:556,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:560,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:561,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:566,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:567,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 571
      start: 498
    functionDepth: 0
    functionLinenumber: 498
    functionLinenumberEnd: 571
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - Bindings
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ConstantSuffixesWithVariable)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:574,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:575,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:576,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:577,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:579,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:580,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:581,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:582,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 573
    functionDepth: 0
    functionLinenumber: 573
    functionLinenumberEnd: 583
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, InvalidTemplates)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:586,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:587,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:588,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:589,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:590,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:591,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:593,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:594,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:595,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:596,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:597,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:599,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:600,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:601,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:602,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:603,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:604,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:605,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 608
      start: 585
    functionDepth: 0
    functionLinenumber: 585
    functionLinenumberEnd: 608
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:611,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:612,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:614,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:615,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:616,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 618
      start: 610
    functionDepth: 0
    functionLinenumber: 610
    functionLinenumberEnd: 618
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch2)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:621,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:622,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:626,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:627,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 629
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 629
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch3)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:632,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:633,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:635,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:638,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 639
      start: 631
    functionDepth: 0
    functionLinenumber: 631
    functionLinenumberEnd: 639
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch4)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:642,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:643,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:644,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:646,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:647,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:648,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:649,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:650,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:651,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:652,1
    - Dst: Bindings::clear
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:653,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: Lookup
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:654,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: Bindings::size
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:655,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:656,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 657
      start: 641
    functionDepth: 0
    functionLinenumber: 641
    functionLinenumberEnd: 657
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - Bindings::size
    - Bindings::clear
    - Build
    - Lookup
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, CustomVerbMatch5)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:660,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:661,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:662,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:663,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:665,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:666,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:667,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:669,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:671,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:672,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:674,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:675,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:676,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:677,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 678
      start: 659
    functionDepth: 0
    functionLinenumber: 659
    functionLinenumberEnd: 678
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, RejectPartialMatches)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:681,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 683
      start: 680
    functionDepth: 0
    functionLinenumber: 680
    functionLinenumberEnd: 683
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - EXPECT_EQ
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullIfMatcherEmpty)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:686,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:687,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:688,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:689,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:690,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:691,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:693,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:694,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:695,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:696,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:697,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:699,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:700,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:701,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:702,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:705,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:706,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:707,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:708,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:709,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:710,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 711
      start: 685
    functionDepth: 0
    functionLinenumber: 685
    functionLinenumberEnd: 711
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupSimplePaths)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:715,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:716,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:717,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:719,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:720,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:722,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 724
      start: 713
    functionDepth: 0
    functionLinenumber: 713
    functionLinenumberEnd: 724
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - LookupNoBindings
    - AddGetPath
    - EXPECT_NE
    - Build
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReplacevoidForPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:730,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:731,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:732,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:733,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 734
      start: 729
    functionDepth: 0
    functionLinenumber: 729
    functionLinenumberEnd: 734
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, LookupReturnsNullForOverspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:737,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:738,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 736
    functionDepth: 0
    functionLinenumber: 736
    functionLinenumberEnd: 740
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, ReturnNullvoidSharedPtrForUnderspecifiedPath)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:743,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:744,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:745,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:746,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    - Dst: LookupNoBindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:747,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 0
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupNoBindings
    - Build
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, DifferentHttpMethod)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:751,1
    - Dst: AddPathWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:752,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:753,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:754,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:755,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:757,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:758,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: LookupWithBodyFieldPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:759,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:761,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 762
      start: 750
    functionDepth: 0
    functionLinenumber: 750
    functionLinenumberEnd: 762
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - Build
    - LookupWithBodyFieldPath
    - AddPathWithBodyFieldPath
    - EXPECT_EQ
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, BodyFieldPathTest)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:765,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:766,1
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:767,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:768,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:770,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:771,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:772,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:775,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:776,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:781,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:783,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:790,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:793,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 800
      start: 764
    functionDepth: 0
    functionLinenumber: 764
    functionLinenumberEnd: 800
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParams)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddGetPath
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:803,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:804,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:806,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:809,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:810,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:815,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:816,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 820
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 820
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - LookupWithParams
    - Build
    - Bindings
    - EXPECT_EQ
    - AddGetPath
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsEncoding)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: AddPathWithSystemParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:824,1
    - Dst: Build
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:825,1
    - Dst: EXPECT_NE
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:827,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:830,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:833,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:838,1
    - Dst: LookupWithParams
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:839,1
    - Dst: EXPECT_EQ
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    - Dst: Bindings
      Src: /src/http_pattern_matcher/test/path_matcher_test.cc:841,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 846
      start: 822
    functionDepth: 0
    functionLinenumber: 822
    functionLinenumberEnd: 846
    functionName: google::http::pattern_matcher::TEST_F
    functionSourceFile: /src/http_pattern_matcher/test/path_matcher_test.cc
    functionUses: 0
    functionsReached:
    - EXPECT_NE
    - EXPECT_EQ
    - LookupWithParams
    - Build
    - Bindings
    - AddPathWithSystemParams
    linkageType: ''
    returnType: void
    signature: void TEST_F(PathMatcherTest, VariableBindingsWithQueryParamsAndSystemParams)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 1
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 2
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 3
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 4
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 5
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 6
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 20
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 27
    functionDepth: 0
    functionLinenumber: 27
    functionLinenumberEnd: 52
    functionName: google::http::pattern_matcher::IsReservedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool IsReservedChar(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 2
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 61
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 61
    functionName: google::http::pattern_matcher::ascii_isxdigit
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: bool ascii_isxdigit(char c)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: static_cast<unsigned char>
      Src: /src/http_pattern_matcher/src/path_matcher.cc:65,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 70
      start: 63
    functionDepth: 0
    functionLinenumber: 63
    functionLinenumberEnd: 70
    functionName: google::http::pattern_matcher::hex_digit_to_int
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached:
    - static_cast<unsigned char>
    linkageType: ''
    returnType: int
    signature: int hex_digit_to_int(char c)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:76,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::ascii_isxdigit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:77,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::hex_digit_to_int
      Src: /src/http_pattern_matcher/src/path_matcher.cc:79,1
    - Dst: google::http::pattern_matcher::IsReservedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:82,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 22
    argCount: 4
    argNames:
    - ' src'
    - i
    - unescape_spec
    - out
    argTypes:
    - std::string
    - size_t
    - UrlUnescapeSpec
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 99
      start: 74
    functionDepth: 1
    functionLinenumber: 74
    functionLinenumberEnd: 99
    functionName: google::http::pattern_matcher::GetEscapedChar
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 7
    functionsReached:
    - size
    - google::http::pattern_matcher::ascii_isxdigit
    - google::http::pattern_matcher::IsReservedChar
    - google::http::pattern_matcher::hex_digit_to_int
    linkageType: ''
    returnType: bool
    signature: "bool GetEscapedChar(const std::string& src, size_t i,\n                    UrlUnescapeSpec
      unescape_spec, char* out)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:110,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:111,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:121,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:126,1
    - Dst: google::http::pattern_matcher::GetEscapedChar
      Src: /src/http_pattern_matcher/src/path_matcher.cc:127,1
    - Dst: std::string::resize
      Src: /src/http_pattern_matcher/src/path_matcher.cc:136,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 23
    argCount: 2
    argNames:
    - ' part'
    - unescape_spec
    argTypes:
    - std::string
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 138
      start: 104
    functionDepth: 2
    functionLinenumber: 104
    functionLinenumberEnd: 138
    functionName: google::http::pattern_matcher::UrlUnescapeString
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - size
    - google::http::pattern_matcher::GetEscapedChar
    - std::string::resize
    linkageType: ''
    returnType: std::string
    signature: "std::string UrlUnescapeString(const std::string& part,\n                              UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_first_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:155,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:159,1
    - Dst: std::string::find_last_of
      Src: /src/http_pattern_matcher/src/path_matcher.cc:160,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:162,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:164,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:166,1
    - Dst: std::string::size
      Src: /src/http_pattern_matcher/src/path_matcher.cc:171,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::string::substr
      Src: /src/http_pattern_matcher/src/path_matcher.cc:172,1
    - Dst: std::vector::empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: empty
      Src: /src/http_pattern_matcher/src/path_matcher.cc:175,1
    - Dst: std::vector::pop_back
      Src: /src/http_pattern_matcher/src/path_matcher.cc:176,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 15
    argCount: 3
    argNames:
    - path
    - ' custom_verbs'
    - ' verb'
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 151
    functionDepth: 0
    functionLinenumber: 151
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::ExtractRequestParts
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - std::string::find_last_of
    - std::vector::end
    - std::vector::empty
    - std::string::substr
    - std::string::size
    - std::string::find_first_of
    - find
    - absl::StrSplit
    - empty
    - std::vector::pop_back
    linkageType: ''
    returnType: std::vector<std::string>
    signature: "std::vector<std::string> ExtractRequestParts(\n    std::string path,
      const std::unordered_set<std::string>& custom_verbs,\n    std::string& verb)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: begin
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher.cc:186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 3
    argNames:
    - ' root'
    - ' parts'
    - ' http_method'
    argTypes:
    - PathMatcherNode
    - std::vector<std::string>
    - HttpMethod
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 188
      start: 182
    functionDepth: 0
    functionLinenumber: 182
    functionLinenumberEnd: 188
    functionName: google::http::pattern_matcher::LookupInPathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - end
    - begin
    - LookupPath
    linkageType: ''
    returnType: PathMatcherLookupResult
    signature: "PathMatcherLookupResult LookupInPathMatcherNode(\n    const PathMatcherNode&
      root, const std::vector<std::string>& parts,\n    const HttpMethod& http_method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: segments
      Src: /src/http_pattern_matcher/src/path_matcher.cc:193,1
    - Dst: PathMatcherNode::PathInfo::Builder::AppendLiteralNode
      Src: /src/http_pattern_matcher/src/path_matcher.cc:194,1
    - Dst: PathMatcherNode::PathInfo::Builder::Build
      Src: /src/http_pattern_matcher/src/path_matcher.cc:197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - ' ht'
    argTypes:
    - HttpTemplate
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 198
      start: 190
    functionDepth: 0
    functionLinenumber: 190
    functionLinenumberEnd: 198
    functionName: google::http::pattern_matcher::TransformHttpTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher.cc
    functionUses: 0
    functionsReached:
    - segments
    - PathMatcherNode::PathInfo::Builder::AppendLiteralNode
    - PathMatcherNode::PathInfo::Builder::Build
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo TransformHttpTemplate(const HttpTemplate&
      ht)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 1
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 1
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 2
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 3
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 4
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 9
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 5
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 10
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 11
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 6
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 12
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 13
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 7
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 14
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:39,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - collection
    - ' vt'
    argTypes:
    - Collection*
    - typename Collection::value_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 15
    functionsReached:
    - Collection*::insert
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection, const typename Collection::value_type& vt)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:53,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - collection
    - ' key'
    - ' data'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    - typename Collection::value_type::second_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 49
    functionDepth: 1
    functionLinenumber: 49
    functionLinenumberEnd: 55
    functionName: google::http::pattern_matcher::InsertOrReturnExisting
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::InsertOrReturnExisting
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * InsertOrReturnExisting(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key,\n    const typename Collection::value_type::second_type& data)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Collection*::insert
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Collection::value_type
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:68,1
    - Dst: Mapped
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    - Dst: Element::Element
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:70,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 2
    argNames:
    - collection
    - ' key'
    argTypes:
    - Collection*
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 73
    functionName: google::http::pattern_matcher::LookupOrInsertNew
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - Mapped
    - Collection*::insert
    - Element::Element
    - Collection::value_type
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type & LookupOrInsertNew(\n
      \   Collection* const collection,\n    const typename Collection::value_type::first_type&
      key)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:82,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:83,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:84,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:85,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 3
    argNames:
    - ' collection'
    - ' key1'
    - ' key2'
    argTypes:
    - Collection
    - typename Collection::value_type::first_type
    - typename Collection::value_type::first_type
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 90
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 90
    functionName: google::http::pattern_matcher::Find2KeysOrNull
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - end
    - find
    linkageType: ''
    returnType: typename Collection::value_type::second_type
    signature: "typename Collection::value_type::second_type * Find2KeysOrNull(\n
      \   const Collection& collection,\n    const typename Collection::value_type::first_type&
      key1,\n    const typename Collection::value_type::first_type& key2)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:99,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - name
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 93
    functionDepth: 0
    functionLinenumber: 93
    functionLinenumberEnd: 101
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 103
    functionDepth: 0
    functionLinenumber: 103
    functionLinenumberEnd: 107
    functionName: '&

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - emplace_back
    linkageType: ''
    returnType: PathMatcherNode::PathInfo::Builder
    signature: 'PathMatcherNode::PathInfo::Builder &

      PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 1
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: PathMatcherNode::PathInfo::Builder::Build() const
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    linkageType: ''
    returnType: PathMatcherNode::PathInfo
    signature: PathMatcherNode::PathInfo PathMatcherNode::PathInfo::Builder::Build()
      const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 113
      start: 113
    functionDepth: 0
    functionLinenumber: 113
    functionLinenumberEnd: 113
    functionName: PathMatcherNode::~PathMatcherNode()
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode::~PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:116,1
    - Dst: std::unique_ptr::children_::emplace
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    - Dst: second::Clone
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:120,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 124
    functionName: google::http::pattern_matcher::PathMatcherNode::Clone
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    - std::unique_ptr::children_::emplace
    - second::Clone
    linkageType: ''
    returnType: std::unique_ptr<PathMatcherNode>
    signature: std::unique_ptr<PathMatcherNode> PathMatcherNode::Clone() const
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:146,1
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:150,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:151,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:153,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:158,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:165,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:174,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 21
    argCount: 4
    argNames:
    - current
    - end
    - http_method
    - result
    argTypes:
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 179
      start: 140
    functionDepth: 1
    functionLinenumber: 140
    functionLinenumberEnd: 179
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - end
    - find
    - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    - google::http::pattern_matcher::PathMatcherNode::LookupPath
    - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    linkageType: ''
    returnType: void
    signature: "void PathMatcherNode::LookupPath(const RequestPathParts::const_iterator
      current,\n                                 const RequestPathParts::const_iterator
      end,\n                                 HttpMethod http_method,\n                                 PathMatcherLookupResult*
      result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:184,1
    - Dst: path_info
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:185,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' node_path_info'
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - PathInfo
    - std::string
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 181
    functionDepth: 2
    functionLinenumber: 181
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertPath
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - path_info
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertPath(const PathInfo& node_path_info,\n
      \                                std::string http_method, void* method_data,\n
      \                                bool mark_duplicates)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: InsertOrReturnExisting
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:202,1
    - Dst: PathMatcherLookupResult
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:203,1
    - Dst: LOG
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:208,1
    - Dst: ConvertHttpRuleToString
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: http_rule
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:209,1
    - Dst: LookupOrInsertNew
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:219,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::set_wildcard
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:221,1
    - Dst: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:223,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 16
    argCount: 5
    argNames:
    - current
    - end
    - http_method
    - method_data
    - mark_duplicates
    argTypes:
    - std::vector<std::string>::const_iterator
    - std::vector<std::string>::const_iterator
    - HttpMethod
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 197
    functionDepth: 1
    functionLinenumber: 197
    functionLinenumberEnd: 225
    functionName: google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 16
    functionsReached:
    - PathMatcherLookupResult
    - google::http::pattern_matcher::PathMatcherNode::set_wildcard
    - LOG
    - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
    - http_rule
    - ConvertHttpRuleToString
    - InsertOrReturnExisting
    - LookupOrInsertNew
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::InsertTemplate(\n    const std::vector<std::string>::const_iterator
      current,\n    const std::vector<std::string>::const_iterator end, HttpMethod
      http_method,\n    void* method_data, bool mark_duplicates)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: find
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:231,1
    - Dst: end
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:232,1
    - Dst: auto::second::LookupPath
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:233,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - child_key
    - current
    - end
    - http_method
    - result
    argTypes:
    - std::string
    - RequestPathParts::const_iterator
    - RequestPathParts::const_iterator
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 227
    functionDepth: 0
    functionLinenumber: 227
    functionLinenumberEnd: 239
    functionName: google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - auto::second::LookupPath
    - end
    - find
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::LookupPathFromChild(\n    const std::string
      child_key, const RequestPathParts::const_iterator current,\n    const RequestPathParts::const_iterator
      end, HttpMethod http_method,\n    PathMatcherLookupResult* result) const"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: Find2KeysOrNull
      Src: /src/http_pattern_matcher/src/path_matcher_node.cc:244,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - result
    argTypes:
    - HttpMethod
    - PathMatcherLookupResult*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 250
      start: 241
    functionDepth: 0
    functionLinenumber: 241
    functionLinenumberEnd: 250
    functionName: google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
    functionSourceFile: /src/http_pattern_matcher/src/path_matcher_node.cc
    functionUses: 8
    functionsReached:
    - Find2KeysOrNull
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherNode::GetResultForHttpMethod(\n    HttpMethod key,
      PathMatcherLookupResult* result) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 1
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 1
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 1
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 1
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 1
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 1
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 2
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 24
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 3
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 32
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 20
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 4
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 40
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 20
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 25
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 5
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 48
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 18
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 24
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 30
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 6
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 56
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 21
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 28
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 35
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 7
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 64
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 24
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 32
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 40
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 8
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 17
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 18
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 72
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 27
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 36
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 45
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 9
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 19
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 20
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 80
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 30
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 40
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 50
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 10
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 21
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 22
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 88
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 33
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 44
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 55
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 11
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 23
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 24
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 96
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 36
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 48
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 60
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 12
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 25
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 26
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 104
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 39
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 52
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 65
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 13
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 27
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 28
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 112
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 42
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 56
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 70
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 14
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 29
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 30
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 120
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 45
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 60
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 75
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 15
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - input
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 45
    functionName: google::http::pattern_matcher::Parser::Parser
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Parser(const std::string &input)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::ConsumedAllInput
      Src: /src/http_pattern_matcher/src/http_template.cc:48,1
    - Dst: google::http::pattern_matcher::Parser::PostProcessVariables
      Src: /src/http_pattern_matcher/src/http_template.cc:51,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 53
      start: 47
    functionDepth: 2
    functionLinenumber: 47
    functionLinenumberEnd: 53
    functionName: google::http::pattern_matcher::Parser::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::Parser::ConsumedAllInput
    - google::http::pattern_matcher::Parser::ParseTemplate
    - google::http::pattern_matcher::Parser::PostProcessVariables
    linkageType: ''
    returnType: bool
    signature: bool Parse()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 55
    functionDepth: 0
    functionLinenumber: 55
    functionLinenumberEnd: 55
    functionName: '&segments()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: '&verb()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: '&variables()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<HttpTemplate::Variable>
    signature: std::vector<HttpTemplate::Variable> &variables()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:62,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 60
    functionDepth: 0
    functionLinenumber: 60
    functionLinenumberEnd: 74
    functionName: google::http::pattern_matcher::Parser::ValidateParts
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ValidateParts()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:79,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:83,1
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:87,1
    - Dst: google::http::pattern_matcher::Parser::ParseVerb
      Src: /src/http_pattern_matcher/src/http_template.cc:88,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 93
      start: 78
    functionDepth: 2
    functionLinenumber: 78
    functionLinenumberEnd: 93
    functionName: google::http::pattern_matcher::Parser::ParseTemplate
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::ParseVerb
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseTemplate()
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:97,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:102,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:103,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 109
      start: 96
    functionDepth: 2
    functionLinenumber: 96
    functionLinenumberEnd: 109
    functionName: google::http::pattern_matcher::Parser::ParseSegments
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 31
    functionsReached:
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::ParseSegment
    linkageType: ''
    returnType: bool
    signature: bool ParseSegments()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:113,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:116,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:118,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:119,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:121,1
    - Dst: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
      Src: /src/http_pattern_matcher/src/http_template.cc:123,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:127,1
    - Dst: google::http::pattern_matcher::Parser::ParseVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:133,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteralSegment
      Src: /src/http_pattern_matcher/src/http_template.cc:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 137
      start: 112
    functionDepth: 3
    functionLinenumber: 112
    functionLinenumberEnd: 137
    functionName: google::http::pattern_matcher::Parser::ParseSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    - push_back
    - google::http::pattern_matcher::Parser::ParseVariable
    - google::http::pattern_matcher::Parser::ParseLiteralSegment
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseSegment()
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:141,1
    - Dst: google::http::pattern_matcher::Parser::StartVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:144,1
    - Dst: google::http::pattern_matcher::Parser::ParseFieldPath
      Src: /src/http_pattern_matcher/src/http_template.cc:147,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:150,1
    - Dst: google::http::pattern_matcher::Parser::ParseSegments
      Src: /src/http_pattern_matcher/src/http_template.cc:151,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:156,1
    - Dst: google::http::pattern_matcher::Parser::EndVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:158,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:161,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 165
      start: 140
    functionDepth: 2
    functionLinenumber: 140
    functionLinenumberEnd: 165
    functionName: google::http::pattern_matcher::Parser::ParseVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseSegments
    - google::http::pattern_matcher::Parser::EndVariable
    - google::http::pattern_matcher::Parser::ParseFieldPath
    - push_back
    - google::http::pattern_matcher::Parser::StartVariable
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:169,1
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:172,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 174
      start: 167
    functionDepth: 2
    functionLinenumber: 167
    functionLinenumberEnd: 174
    functionName: google::http::pattern_matcher::Parser::ParseLiteralSegment
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteralSegment()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:178,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:181,1
    - Dst: google::http::pattern_matcher::Parser::ParseIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:182,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 187
      start: 177
    functionDepth: 2
    functionLinenumber: 177
    functionLinenumberEnd: 187
    functionName: google::http::pattern_matcher::Parser::ParseFieldPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseIdentifier
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseFieldPath()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:191,1
    - Dst: google::http::pattern_matcher::Parser::ParseLiteral
      Src: /src/http_pattern_matcher/src/http_template.cc:192,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 194
      start: 190
    functionDepth: 2
    functionLinenumber: 190
    functionLinenumberEnd: 194
    functionName: google::http::pattern_matcher::Parser::ParseVerb
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - google::http::pattern_matcher::Parser::ParseLiteral
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseVerb()
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:202,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:204,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:208,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:210,1
    - Dst: std::string::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:211,1
    - Dst: google::http::pattern_matcher::Parser::AddFieldIdentifier
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:216,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 2
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: google::http::pattern_matcher::Parser::ParseIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - std::move
    - google::http::pattern_matcher::Parser::AddFieldIdentifier
    - std::string::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    linkageType: ''
    returnType: bool
    signature: bool ParseIdentifier()
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::EnsureCurrent
      Src: /src/http_pattern_matcher/src/http_template.cc:220,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:229,1
    - Dst: google::http::pattern_matcher::Parser::Consume
      Src: /src/http_pattern_matcher/src/http_template.cc:235,1
    - Dst: std::string*::push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:236,1
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:242,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 21
    argCount: 1
    argNames:
    - lit
    argTypes:
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 247
      start: 219
    functionDepth: 2
    functionLinenumber: 219
    functionLinenumberEnd: 247
    functionName: google::http::pattern_matcher::Parser::ParseLiteral
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 32
    functionsReached:
    - std::string*::push_back
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    - google::http::pattern_matcher::Parser::Consume
    - google::http::pattern_matcher::Parser::EnsureCurrent
    linkageType: ''
    returnType: bool
    signature: bool ParseLiteral(std::string *lit)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:250,1
    - Dst: google::http::pattern_matcher::Parser::current_char
      Src: /src/http_pattern_matcher/src/http_template.cc:253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 9
    argCount: 1
    argNames:
    - c
    argTypes:
    - char
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 249
    functionDepth: 1
    functionLinenumber: 249
    functionLinenumberEnd: 258
    functionName: google::http::pattern_matcher::Parser::Consume
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 128
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    - google::http::pattern_matcher::Parser::current_char
    linkageType: ''
    returnType: bool
    signature: bool Consume(char c)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 260
      start: 260
    functionDepth: 0
    functionLinenumber: 260
    functionLinenumberEnd: 260
    functionName: google::http::pattern_matcher::Parser::ConsumedAllInput
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool ConsumedAllInput()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::Parser::NextChar
      Src: /src/http_pattern_matcher/src/http_template.cc:262,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 262
      start: 262
    functionDepth: 1
    functionLinenumber: 262
    functionLinenumberEnd: 262
    functionName: google::http::pattern_matcher::Parser::EnsureCurrent
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 48
    functionsReached:
    - google::http::pattern_matcher::Parser::NextChar
    linkageType: ''
    returnType: bool
    signature: bool EnsureCurrent()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:265,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 264
    functionDepth: 0
    functionLinenumber: 264
    functionLinenumberEnd: 271
    functionName: google::http::pattern_matcher::Parser::NextChar
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 64
    functionsReached:
    - size
    linkageType: ''
    returnType: bool
    signature: bool NextChar()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:275,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 276
      start: 274
    functionDepth: 0
    functionLinenumber: 274
    functionLinenumberEnd: 276
    functionName: google::http::pattern_matcher::Parser::current_char
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 80
    functionsReached:
    - size
    linkageType: ''
    returnType: char
    signature: char current_char() const
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: back
      Src: /src/http_pattern_matcher/src/http_template.cc:278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 278
    functionDepth: 0
    functionLinenumber: 278
    functionLinenumberEnd: 278
    functionName: '&CurrentVariable()'
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 0
    functionsReached:
    - back
    linkageType: ''
    returnType: HttpTemplate::Variable
    signature: HttpTemplate::Variable &CurrentVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: push_back
      Src: /src/http_pattern_matcher/src/http_template.cc:282,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:283,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:284,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 291
      start: 280
    functionDepth: 0
    functionLinenumber: 280
    functionLinenumberEnd: 291
    functionName: google::http::pattern_matcher::Parser::StartVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - CurrentVariable
    - size
    - push_back
    linkageType: ''
    returnType: bool
    signature: bool StartVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:294,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:295,1
    - Dst: google::http::pattern_matcher::Parser::ValidateVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:297,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 293
    functionDepth: 1
    functionLinenumber: 293
    functionLinenumberEnd: 302
    functionName: google::http::pattern_matcher::Parser::EndVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - CurrentVariable
    - empty
    - size
    - google::http::pattern_matcher::Parser::ValidateVariable
    linkageType: ''
    returnType: bool
    signature: bool EndVariable()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:305,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:306,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 1
    argNames:
    - id
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 312
      start: 304
    functionDepth: 0
    functionLinenumber: 304
    functionLinenumberEnd: 312
    functionName: google::http::pattern_matcher::Parser::AddFieldIdentifier
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - CurrentVariable
    - empty
    - emplace_back
    - std::move
    linkageType: ''
    returnType: bool
    signature: bool AddFieldIdentifier(std::string id)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: empty
      Src: /src/http_pattern_matcher/src/http_template.cc:315,1
    - Dst: CurrentVariable
      Src: /src/http_pattern_matcher/src/http_template.cc:316,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 322
      start: 314
    functionDepth: 0
    functionLinenumber: 314
    functionLinenumberEnd: 322
    functionName: google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - CurrentVariable
    - empty
    linkageType: ''
    returnType: bool
    signature: bool MarkVariableHasWildCardPath()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: HttpTemplate::Variable::field_path::empty
      Src: /src/http_pattern_matcher/src/http_template.cc:325,1
    - Dst: static_cast<int>
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:326,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 2
    argCount: 1
    argNames:
    - var
    argTypes:
    - HttpTemplate::Variable
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 324
    functionDepth: 0
    functionLinenumber: 324
    functionLinenumberEnd: 327
    functionName: google::http::pattern_matcher::Parser::ValidateVariable
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - static_cast<int>
    - size
    - HttpTemplate::Variable::field_path::empty
    linkageType: ''
    returnType: bool
    signature: bool ValidateVariable(const HttpTemplate::Variable &var)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/src/http_template.cc:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 340
      start: 329
    functionDepth: 0
    functionLinenumber: 329
    functionLinenumberEnd: 340
    functionName: google::http::pattern_matcher::Parser::PostProcessVariables
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 16
    functionsReached:
    - size
    linkageType: ''
    returnType: void
    signature: void PostProcessVariables()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:366,1
    - Dst: Parser::Parse
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: Parser::ValidateParts
      Src: /src/http_pattern_matcher/src/http_template.cc:370,1
    - Dst: std::unique_ptr<HttpTemplate>
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::segments
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::verb
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: Parser::variables
      Src: /src/http_pattern_matcher/src/http_template.cc:375,1
    - Dst: HttpTemplate::HttpTemplate
      Src: /src/http_pattern_matcher/src/http_template.cc:374,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 1
    argNames:
    - ht
    argTypes:
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 376
      start: 364
    functionDepth: 0
    functionLinenumber: 364
    functionLinenumberEnd: 376
    functionName: google::http::pattern_matcher::HttpTemplate::Parse
    functionSourceFile: /src/http_pattern_matcher/src/http_template.cc
    functionUses: 217
    functionsReached:
    - Parser::segments
    - std::move
    - std::unique_ptr<HttpTemplate>
    - Parser::variables
    - HttpTemplate::HttpTemplate
    - Parser::verb
    - Parser::ValidateParts
    - Parser::Parse
    linkageType: ''
    returnType: std::unique_ptr<HttpTemplate>
    signature: std::unique_ptr<HttpTemplate> HttpTemplate::Parse(const std::string
      &ht)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 1
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 1
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 1
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 2
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 2
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 2
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 3
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 3
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 3
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 4
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 4
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 4
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 5
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 5
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 5
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 6
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 6
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 6
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 7
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 68
    functionName: ~PathMatcher()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcher()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: ~PathMatcherBuilder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - unescape_spec
    argTypes:
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 131
    functionDepth: 0
    functionLinenumber: 131
    functionLinenumberEnd: 133
    functionName: google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void SetUrlUnescapeSpec(UrlUnescapeSpec unescape_spec)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: size
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:194,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:206,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:211,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 4
    argNames:
    - ' vars'
    - ' parts'
    - bindings
    - unescape_spec
    argTypes:
    - std::vector<HttpTemplate::Variable>
    - std::vector<std::string>
    - std::vector<VariableBinding>*
    - UrlUnescapeSpec
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 179
    functionDepth: 3
    functionLinenumber: 179
    functionLinenumberEnd: 213
    functionName: google::http::pattern_matcher::ExtractBindingsFromPath
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - google::http::pattern_matcher::UrlUnescapeString
    - size
    - std::vector<VariableBinding>*::emplace_back
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromPath(const std::vector<HttpTemplate::Variable>&
      vars,\n                             const std::vector<std::string>& parts,\n
      \                            std::vector<VariableBinding>* bindings,\n                             UrlUnescapeSpec
      unescape_spec)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:225,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:227,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:229,1
    - Dst: find
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: std::end
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:232,1
    - Dst: absl::StrSplit
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:237,1
    - Dst: google::http::pattern_matcher::UrlUnescapeString
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: substr
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:238,1
    - Dst: std::vector<VariableBinding>*::emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:240,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 9
    argCount: 3
    argNames:
    - ' query_params'
    - ' system_params'
    - bindings
    argTypes:
    - std::string
    - std::unordered_set<std::string>
    - std::vector<VariableBinding>*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 244
      start: 216
    functionDepth: 3
    functionLinenumber: 216
    functionLinenumberEnd: 244
    functionName: google::http::pattern_matcher::ExtractBindingsFromQueryParameters
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - substr
    - std::move
    - find
    - absl::StrSplit
    - google::http::pattern_matcher::UrlUnescapeString
    - std::vector<VariableBinding>*::emplace_back
    - std::end
    linkageType: ''
    returnType: void
    signature: "void ExtractBindingsFromQueryParameters(\n    const std::string& query_params,\n
      \   const std::unordered_set<std::string>& system_params,\n    std::vector<VariableBinding>*
      bindings)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:270,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:271,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - PathMatcherBuilder<Method>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 273
      start: 269
    functionDepth: 0
    functionLinenumber: 269
    functionLinenumberEnd: 273
    functionName: google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: void PathMatcher<Method>::PathMatcher(PathMatcherBuilder<Method>&&
      builder)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:292,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:301,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:306,1
    - Dst: std::vector<VariableBinding>*::clear
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:308,1
    - Dst: ExtractBindingsFromPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:309,1
    - Dst: ExtractBindingsFromQueryParameters
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:311,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 16
    argCount: 5
    argNames:
    - ' http_method'
    - ' path'
    - ' query_params'
    - variable_bindings
    - body_field_path
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::vector<VariableBinding>*
    - std::string*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 319
      start: 285
    functionDepth: 0
    functionLinenumber: 285
    functionLinenumberEnd: 319
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - ExtractBindingsFromQueryParameters
    - std::vector<VariableBinding>*::clear
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    - ExtractBindingsFromPath
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(\n    const std::string& http_method,
      const std::string& path,\n    const std::string& query_params,\n    std::vector<VariableBinding>*
      variable_bindings,\n    std::string* body_field_path) const"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: ExtractRequestParts
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:327,1
    - Dst: LookupInPathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:336,1
    - Dst: reinterpret_cast<MethodData*>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:341,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - ' http_method'
    - ' path'
    argTypes:
    - std::string
    - std::string
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 343
      start: 323
    functionDepth: 0
    functionLinenumber: 323
    functionLinenumberEnd: 343
    functionName: google::http::pattern_matcher::PathMatcher<Method>::Lookup
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - LookupInPathMatcherNode
    - reinterpret_cast<MethodData*>
    - ExtractRequestParts
    linkageType: ''
    returnType: Method
    signature: "Method PathMatcher<Method>::Lookup(const std::string& http_method,\n
      \                                  const std::string& path) const"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode::PathMatcherNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 348
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 348
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcherNode::PathMatcherNode
    linkageType: ''
    returnType: void
    signature: void PathMatcherBuilder<Method>::PathMatcherBuilder()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherPtr<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    - Dst: PathMatcher<Method>::PathMatcher<Method>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 0
    functionsReached:
    - PathMatcher<Method>::PathMatcher<Method>
    - std::move
    - PathMatcherPtr<Method>
    linkageType: ''
    returnType: PathMatcherPtr<Method>
    signature: PathMatcherPtr<Method> PathMatcherBuilder<Method>::Build()
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: PathMatcherNode*::InsertPath
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:359,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 5
    argNames:
    - ' path'
    - method_data
    - http_method
    - mark_duplicates
    - root_ptr
    argTypes:
    - PathMatcherNode::PathInfo
    - void*
    - std::string
    - bool
    - PathMatcherNode*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 365
      start: 356
    functionDepth: 0
    functionLinenumber: 356
    functionLinenumberEnd: 365
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 7
    functionsReached:
    - PathMatcherNode*::InsertPath
    linkageType: ''
    returnType: void
    signature: "void PathMatcherBuilder<Method>::InsertPathToNode(\n    const PathMatcherNode::PathInfo&
      path, void* method_data,\n    std::string http_method, bool mark_duplicates,
      PathMatcherNode* root_ptr)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: TransformHttpTemplate
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:379,1
    - Dst: std::unique_ptr<MethodData>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: MethodData::MethodData
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:383,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: std::unique_ptr::Variables
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:385,1
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: auto::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:389,1
    - Dst: get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:390,1
    - Dst: emplace_back
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:392,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:393,1
    - Dst: insert
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    - Dst: std::unique_ptr::verb
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:394,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 14
    argCount: 5
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - ' system_query_parameter_names'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 397
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 397
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 7
    functionsReached:
    - emplace_back
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
    - std::unique_ptr::Variables
    - auto::get
    - std::move
    - MethodData::MethodData
    - get
    - TransformHttpTemplate
    - insert
    - std::unique_ptr::verb
    - std::unique_ptr<MethodData>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(\n    const std::string&
      http_method, const std::string& http_template,\n    const std::string& body_field_path,\n
      \   const std::unordered_set<std::string>& system_query_parameter_names,\n    Method
      method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:404,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h:405,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - ' http_method'
    - ' http_template'
    - ' body_field_path'
    - method
    argTypes:
    - std::string
    - std::string
    - std::string
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 406
      start: 400
    functionDepth: 1
    functionLinenumber: 400
    functionLinenumberEnd: 406
    functionName: google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    functionUses: 8
    functionsReached:
    - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
    - std::unordered_set<std::string>
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherBuilder<Method>::Register(const std::string& http_method,\n
      \                                         const std::string& http_template,\n
      \                                         const std::string& body_field_path,\n
      \                                         Method method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 31
      start: 31
    functionDepth: 0
    functionLinenumber: 31
    functionLinenumberEnd: 31
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - data
    - is_multiple
    argTypes:
    - void*
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 34
      start: 33
    functionDepth: 0
    functionLinenumber: 33
    functionLinenumberEnd: 34
    functionName: google::http::pattern_matcher::PathMatcherLookupResult
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherLookupResult(void* data, bool is_multiple)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 56
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 56
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 57
    functionDepth: 0
    functionLinenumber: 57
    functionLinenumberEnd: 57
    functionName: ~Builder()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~Builder()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 101
      start: 101
    functionDepth: 0
    functionLinenumber: 101
    functionLinenumberEnd: 101
    functionName: ~PathInfo()
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void ~PathInfo()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 105
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 105
    functionName: '& path_info() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> & path_info() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - ' builder'
    argTypes:
    - Builder
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 108
    functionDepth: 0
    functionLinenumber: 108
    functionLinenumberEnd: 108
    functionName: google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathInfo(const Builder& builder)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 115
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 115
    functionName: google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void PathMatcherNode()
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - wildcard
    argTypes:
    - bool
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 141
      start: 141
    functionDepth: 0
    functionLinenumber: 141
    functionLinenumberEnd: 141
    functionName: google::http::pattern_matcher::PathMatcherNode::set_wildcard
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    functionUses: 8
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void set_wildcard(bool wildcard)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 29
      start: 29
    functionDepth: 0
    functionLinenumber: 29
    functionLinenumberEnd: 29
    functionName: '&segments() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<std::string>
    signature: std::vector<std::string> &segments() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 30
      start: 30
    functionDepth: 0
    functionLinenumber: 30
    functionLinenumberEnd: 30
    functionName: '&verb() const'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::string
    signature: std::string &verb() const
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 49
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 49
    functionName: '&Variables()'
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::vector<Variable>
    signature: std::vector<Variable> &Variables()
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:61,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:62,1
    - Dst: std::move
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 1
    argCount: 3
    argNames:
    - segments
    - verb
    - variables
    argTypes:
    - std::vector<std::string>
    - std::string
    - std::vector<Variable>
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 63
    functionName: google::http::pattern_matcher::HttpTemplate::HttpTemplate
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    functionUses: 0
    functionsReached:
    - std::move
    linkageType: ''
    returnType: void
    signature: "void HttpTemplate(std::vector<std::string> &&segments, std::string
      &&verb,\n               std::vector<Variable> &&variables)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 10
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 11
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 12
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 13
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 14
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 15
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 16
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 17
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 18
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 19
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 20
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 21
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 22
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 23
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    - Dst: std::unordered_set<std::string>
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:37,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - pmb
    - http_rule
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 39
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 39
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 24
    functionsReached:
    - std::unordered_set<std::string>
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool RegisterByHttpRule(PathMatcherBuilder<Method> &pmb,\n                                 const
      google::api::HttpRule &http_rule,\n                                 const Method
      &method)"
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: google::api::HttpRule::pattern_case
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:48,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::get
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:50,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::put
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:54,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::post
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:58,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::delete_
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:62,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::patch
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:66,1
    - Dst: PathMatcherBuilder<Method>::Register
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::custom
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:70,1
    - Dst: google::api::HttpRule::body
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:71,1
    - Dst: google::api::HttpRule::additional_bindings
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:77,1
    - Dst: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
      Src: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h:81,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 29
    argCount: 4
    argNames:
    - pmb
    - http_rule
    - system_query_parameter_names
    - method
    argTypes:
    - PathMatcherBuilder<Method>
    - google::api::HttpRule
    - std::unordered_set<std::string>
    - Method
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 86
    functionName: google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    functionSourceFile: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
    functionUses: 25
    functionsReached:
    - google::api::HttpRule::body
    - google::api::HttpRule::delete_
    - google::api::HttpRule::get
    - google::api::HttpRule::additional_bindings
    - google::api::HttpRule::patch
    - google::api::HttpRule::post
    - google::api::HttpRule::pattern_case
    - google::api::HttpRule::put
    - google::api::HttpRule::custom
    - PathMatcherBuilder<Method>::Register
    - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
    linkageType: ''
    returnType: bool
    signature: "bool PathMatcherUtility::RegisterByHttpRule(\n    PathMatcherBuilder<Method>
      &pmb, const google::api::HttpRule &http_rule,\n    const std::unordered_set<std::string>
      &system_query_parameter_names,\n    const Method &method)"
Fuzzer filename: /src/http_pattern_matcher/test/http_template_fuzz_test.cc
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- absl/strings/str_split.h
- cstddef
- cassert
- include/http_pattern_matcher/path_matcher_node.h
- google/api/http.pb.h
- sstream
- gtest/gtest.h
- include/http_pattern_matcher/path_matcher.h
- memory
- map
- string
- unordered_map
- unordered_set
- cstdint
- gmock/gmock.h
- ostream
- vector
- include/http_pattern_matcher/path_matcher_utility.h
- include/http_pattern_matcher/http_template.h
report: name
sources:
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/http_pattern_matcher/test/http_template_fuzz_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - PathMatcherUtilityTest::PathMatcherUtilityTest
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  - TEST_F
  source_file: /src/http_pattern_matcher/test/path_matcher_utility_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - operator==(const Variable &v1, const Variable &v2)
  - google::http::pattern_matcher::FieldPathToString
  - '&operator<<(std::ostream &os, const Variable &var)'
  - '&operator<<(std::ostream &os, const Variables &vars)'
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  - google::http::pattern_matcher::TEST
  source_file: /src/http_pattern_matcher/test/http_template_test.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Segments
      pos:
        line_end: 28
        line_start: 28
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variable
      pos:
        line_end: 29
        line_start: 29
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: Variables
      pos:
        line_end: 30
        line_start: 30
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 31
        line_start: 31
        source_file: /src/http_pattern_matcher/test/http_template_test.cc
    union: []
- function_names:
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - operator==(const Binding& b1, const Binding& b2)
  - google::http::pattern_matcher::FieldPathToString
  - '& operator<<(std::ostream& os, const Binding& b)'
  - '& operator<<(std::ostream& os, const Bindings& bindings)'
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::PathMatcherTest::PathMatcherTest
  - ~PathMatcherTest()
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::AddPathWithSystemParams
  - google::http::pattern_matcher::PathMatcherTest::AddPath
  - google::http::pattern_matcher::PathMatcherTest::AddGetPath
  - google::http::pattern_matcher::PathMatcherTest::SetUrlUnescapeSpec
  - google::http::pattern_matcher::PathMatcherTest::Build
  - google::http::pattern_matcher::PathMatcherTest::LookupWithBodyFieldPath
  - google::http::pattern_matcher::PathMatcherTest::Lookup
  - google::http::pattern_matcher::PathMatcherTest::LookupWithParams
  - google::http::pattern_matcher::PathMatcherTest::LookupNoBindings
  - google::http::pattern_matcher::PathMatcherTest::MultiSegmentMatchWithReservedCharactersBase
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::HexDigit
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  - google::http::pattern_matcher::TEST_F
  source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - fields:
      - name: field_path
        type: std::vector<std::string>
      - name: value
        type: std::string
      item_type: struct
      name: Binding
      pos:
        line_end: 45
        line_start: 38
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    typedefs:
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: Bindings
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    - item_type: typedef
      name: FieldPath
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/http_pattern_matcher/test/path_matcher_test.cc
    union: []
- function_names:
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::IsReservedChar
  - google::http::pattern_matcher::ascii_isxdigit
  - google::http::pattern_matcher::hex_digit_to_int
  - google::http::pattern_matcher::GetEscapedChar
  - google::http::pattern_matcher::UrlUnescapeString
  - google::http::pattern_matcher::ExtractRequestParts
  - google::http::pattern_matcher::LookupInPathMatcherNode
  - google::http::pattern_matcher::TransformHttpTemplate
  source_file: /src/http_pattern_matcher/src/path_matcher.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::InsertOrReturnExisting
  - google::http::pattern_matcher::LookupOrInsertNew
  - google::http::pattern_matcher::Find2KeysOrNull
  - '&

    PathMatcherNode::PathInfo::Builder::AppendLiteralNode(std::string name)'
  - '&

    PathMatcherNode::PathInfo::Builder::AppendSingleParameterNode()'
  - PathMatcherNode::PathInfo::Builder::Build() const
  - PathMatcherNode::~PathMatcherNode()
  - google::http::pattern_matcher::PathMatcherNode::Clone
  - google::http::pattern_matcher::PathMatcherNode::LookupPath
  - google::http::pattern_matcher::PathMatcherNode::InsertPath
  - google::http::pattern_matcher::PathMatcherNode::InsertTemplate
  - google::http::pattern_matcher::PathMatcherNode::LookupPathFromChild
  - google::http::pattern_matcher::PathMatcherNode::GetResultForHttpMethod
  source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs:
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Mapped
      pos:
        line_end: 64
        line_start: 64
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    - item_type: typedef
      name: Element
      pos:
        line_end: 65
        line_start: 65
        source_file: /src/http_pattern_matcher/src/path_matcher_node.cc
    union: []
- function_names:
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::Parser::Parser
  - google::http::pattern_matcher::Parser::Parse
  - '&segments()'
  - '&verb()'
  - '&variables()'
  - google::http::pattern_matcher::Parser::ValidateParts
  - google::http::pattern_matcher::Parser::ParseTemplate
  - google::http::pattern_matcher::Parser::ParseSegments
  - google::http::pattern_matcher::Parser::ParseSegment
  - google::http::pattern_matcher::Parser::ParseVariable
  - google::http::pattern_matcher::Parser::ParseLiteralSegment
  - google::http::pattern_matcher::Parser::ParseFieldPath
  - google::http::pattern_matcher::Parser::ParseVerb
  - google::http::pattern_matcher::Parser::ParseIdentifier
  - google::http::pattern_matcher::Parser::ParseLiteral
  - google::http::pattern_matcher::Parser::Consume
  - google::http::pattern_matcher::Parser::ConsumedAllInput
  - google::http::pattern_matcher::Parser::EnsureCurrent
  - google::http::pattern_matcher::Parser::NextChar
  - google::http::pattern_matcher::Parser::current_char
  - '&CurrentVariable()'
  - google::http::pattern_matcher::Parser::StartVariable
  - google::http::pattern_matcher::Parser::EndVariable
  - google::http::pattern_matcher::Parser::AddFieldIdentifier
  - google::http::pattern_matcher::Parser::MarkVariableHasWildCardPath
  - google::http::pattern_matcher::Parser::ValidateVariable
  - google::http::pattern_matcher::Parser::PostProcessVariables
  - google::http::pattern_matcher::HttpTemplate::Parse
  source_file: /src/http_pattern_matcher/src/http_template.cc
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - ~PathMatcher()
  - ~PathMatcherBuilder()
  - google::http::pattern_matcher::PathMatcherBuilder::SetUrlUnescapeSpec
  - google::http::pattern_matcher::ExtractBindingsFromPath
  - google::http::pattern_matcher::ExtractBindingsFromQueryParameters
  - google::http::pattern_matcher::PathMatcher<Method>::PathMatcher
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcher<Method>::Lookup
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::PathMatcherBuilder
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Build
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::InsertPathToNode
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  - google::http::pattern_matcher::PathMatcherBuilder<Method>::Register
  source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
  types:
    enum:
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - enumerators:
      - name: kAllCharactersExceptReserved
        value: '0'
      - name: kAllCharactersExceptSlash
      - name: kAllCharacters
      item_type: enum
      name: UrlUnescapeSpec
      pos:
        line_end: 45
        line_start: 35
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    preproc_defs: []
    structs:
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - fields:
      - name: method
        type: Method
      - name: variables
        type: std::vector<HttpTemplate::Variable>
      - name: body_field_path
        type: std::string
      - name: system_query_parameter_names
        type: std::unordered_set<std::string>
      item_type: struct
      name: MethodData
      pos:
        line_end: 93
        line_start: 88
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    typedefs:
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    - item_type: typedef
      name: MethodData
      pos:
        line_end: 152
        line_start: 152
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher.h
    union: []
- function_names:
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherLookupResult
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::Builder::Builder
  - ~Builder()
  - ~PathInfo()
  - '& path_info() const'
  - google::http::pattern_matcher::PathMatcherNode::PathInfo::PathInfo
  - google::http::pattern_matcher::PathMatcherNode::PathMatcherNode
  - google::http::pattern_matcher::PathMatcherNode::set_wildcard
  source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - fields:
      - name: '* data'
        type: void
      - name: is_multiple
        type: bool
      item_type: struct
      name: PathMatcherLookupResult
      pos:
        line_end: 39
        line_start: 29
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    typedefs:
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: HttpMethod
      pos:
        line_end: 27
        line_start: 27
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    - item_type: typedef
      name: RequestPathParts
      pos:
        line_end: 111
        line_start: 111
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_node.h
    union: []
- function_names:
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  - '&segments() const'
  - '&verb() const'
  - '&Variables()'
  - google::http::pattern_matcher::HttpTemplate::HttpTemplate
  source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    - fields:
      - name: start_segment
        type: int
      - name: end_segment
        type: int
      - name: field_path
        type: std::vector<std::string>
      - name: has_wildcard_path
        type: bool
      item_type: struct
      name: Variable
      pos:
        line_end: 46
        line_start: 32
        source_file: /src/http_pattern_matcher/include/http_pattern_matcher/http_template.h
    typedefs: []
    union: []
- function_names:
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  - google::http::pattern_matcher::PathMatcherUtility::RegisterByHttpRule
  source_file: /src/http_pattern_matcher/include/http_pattern_matcher/path_matcher_utility.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
