ccls/tests/declaration_vs_definition/method.cc

63 lines
1.5 KiB
C++
Raw Normal View History

2017-02-20 07:51:31 +00:00
class Foo {
void declonly();
virtual void purevirtual() = 0;
void def();
};
void Foo::def() {}
/*
OUTPUT:
{
"types": [{
"id": 0,
"usr": "c:@S@Foo",
"short_name": "Foo",
"detailed_name": "Foo",
2017-04-05 08:29:15 +00:00
"definition_spelling": "1:7-1:10",
"definition_extent": "1:1-5:2",
2017-02-21 05:16:45 +00:00
"funcs": [0, 1, 2],
2017-04-19 04:58:39 +00:00
"uses": ["1:7-1:10", "7:6-7:9"]
2017-02-20 07:51:31 +00:00
}],
2017-03-07 18:17:49 +00:00
"funcs": [{
2017-02-20 07:51:31 +00:00
"id": 0,
2017-12-02 01:07:03 +00:00
"is_operator": false,
2017-02-20 07:51:31 +00:00
"usr": "c:@S@Foo@F@declonly#",
"short_name": "declonly",
"detailed_name": "void Foo::declonly()",
"declarations": [{
"spelling": "2:8-2:16",
"extent": "2:3-2:18",
"content": "void declonly()"
}],
"declaring_type": 0
2017-02-20 07:51:31 +00:00
}, {
"id": 1,
2017-12-02 01:07:03 +00:00
"is_operator": false,
2017-02-20 07:51:31 +00:00
"usr": "c:@S@Foo@F@purevirtual#",
"short_name": "purevirtual",
"detailed_name": "void Foo::purevirtual()",
"declarations": [{
"spelling": "3:16-3:27",
"extent": "3:3-3:33",
"content": "virtual void purevirtual() = 0"
}],
"declaring_type": 0
2017-02-20 07:51:31 +00:00
}, {
"id": 2,
2017-12-02 01:07:03 +00:00
"is_operator": false,
2017-02-20 07:51:31 +00:00
"usr": "c:@S@Foo@F@def#",
"short_name": "def",
"detailed_name": "void Foo::def()",
"declarations": [{
"spelling": "4:8-4:11",
"extent": "4:3-4:13",
"content": "void def()"
}],
2017-04-05 08:29:15 +00:00
"definition_spelling": "7:11-7:14",
"definition_extent": "7:1-7:19",
"declaring_type": 0
2017-03-08 08:09:15 +00:00
}]
2017-02-20 07:51:31 +00:00
}
2017-03-07 18:17:49 +00:00
*/