2017-02-17 09:57:44 +00:00
|
|
|
class Foo {
|
|
|
|
void foo();
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
2017-02-20 00:56:56 +00:00
|
|
|
// NOTE: Lack of declaring_type in functions and funcs in Foo is okay, because
|
|
|
|
// those are processed when we find the definition for Foo::foo.
|
|
|
|
// TODO: Verify the strategy above works well with pure virtual interfaces and
|
|
|
|
// the like (ie, we need to provide a good outline view). We could just
|
|
|
|
// add the info in the declaration if the func is pure virtual - see
|
|
|
|
// clang_CXXMethod_isPureVirtual
|
|
|
|
|
2017-02-17 09:57:44 +00:00
|
|
|
OUTPUT:
|
2017-02-18 19:37:24 +00:00
|
|
|
{
|
|
|
|
"types": [{
|
|
|
|
"id": 0,
|
2017-02-18 23:58:40 +00:00
|
|
|
"usr": "c:@S@Foo",
|
2017-02-18 19:37:24 +00:00
|
|
|
"short_name": "Foo",
|
|
|
|
"qualified_name": "Foo",
|
|
|
|
"definition": "tests/method_declaration.cc:1:7",
|
2017-02-20 00:56:56 +00:00
|
|
|
"all_uses": ["tests/method_declaration.cc:1:7"]
|
2017-02-18 19:37:24 +00:00
|
|
|
}],
|
|
|
|
"functions": [{
|
|
|
|
"id": 0,
|
2017-02-18 23:58:40 +00:00
|
|
|
"usr": "c:@S@Foo@F@foo#",
|
2017-02-18 19:37:24 +00:00
|
|
|
"short_name": "foo",
|
|
|
|
"qualified_name": "Foo::foo",
|
2017-02-20 00:56:56 +00:00
|
|
|
"all_uses": ["tests/method_declaration.cc:2:8"]
|
2017-02-18 19:37:24 +00:00
|
|
|
}],
|
|
|
|
"variables": []
|
|
|
|
}
|
2017-02-17 09:57:44 +00:00
|
|
|
*/
|