struct Foo; void foo(Foo* p0, Foo* p1) {} /* OUTPUT: { "includes": [], "skipped_ranges": [], "usr2func": [{ "usr": 8908726657907936744, "detailed_name": "void foo(Foo *p0, Foo *p1)", "qual_name_offset": 5, "short_name": "foo", "kind": 12, "storage": 0, "declarations": [], "spell": "3:6-3:9|0|1|2", "extent": "3:1-3:30|0|1|0", "declaring_type": 0, "bases": [], "derived": [], "vars": [8730439006497971620, 2525014371090380500], "uses": [], "callees": [] }], "usr2type": [{ "usr": 15041163540773201510, "detailed_name": "struct Foo", "qual_name_offset": 7, "short_name": "Foo", "kind": 23, "declarations": ["1:8-1:11|0|1|1"], "alias_of": 0, "bases": [], "derived": [], "types": [], "funcs": [], "vars": [], "instances": [8730439006497971620, 2525014371090380500], "uses": ["3:10-3:13|0|1|4", "3:19-3:22|0|1|4"] }], "usr2var": [{ "usr": 2525014371090380500, "detailed_name": "Foo *p1", "qual_name_offset": 5, "short_name": "p1", "declarations": [], "spell": "3:24-3:26|8908726657907936744|3|1026", "extent": "3:19-3:26|8908726657907936744|3|0", "type": 15041163540773201510, "uses": [], "kind": 253, "storage": 0 }, { "usr": 8730439006497971620, "detailed_name": "Foo *p0", "qual_name_offset": 5, "short_name": "p0", "declarations": [], "spell": "3:15-3:17|8908726657907936744|3|1026", "extent": "3:10-3:17|8908726657907936744|3|0", "type": 15041163540773201510, "uses": [], "kind": 253, "storage": 0 }] } */