ccls/tests/inheritance/class_multiple_inherit.cc

50 lines
1.2 KiB
C++

class Root {};
class MiddleA : public Root {};
class MiddleB : public Root {};
class Derived : public MiddleA, public MiddleB {};
/*
OUTPUT:
{
"types": [{
"id": 0,
"usr": "c:@S@Root",
"short_name": "Root",
"detailed_name": "Root",
"definition_spelling": "1:7-1:11",
"definition_extent": "1:1-1:14",
"derived": [1, 2],
"uses": ["1:7-1:11", "2:24-2:28", "3:24-3:28"]
}, {
"id": 1,
"usr": "c:@S@MiddleA",
"short_name": "MiddleA",
"detailed_name": "MiddleA",
"definition_spelling": "2:7-2:14",
"definition_extent": "2:1-2:31",
"parents": [0],
"derived": [3],
"uses": ["2:7-2:14", "4:24-4:31"]
}, {
"id": 2,
"usr": "c:@S@MiddleB",
"short_name": "MiddleB",
"detailed_name": "MiddleB",
"definition_spelling": "3:7-3:14",
"definition_extent": "3:1-3:31",
"parents": [0],
"derived": [3],
"uses": ["3:7-3:14", "4:40-4:47"]
}, {
"id": 3,
"usr": "c:@S@Derived",
"short_name": "Derived",
"detailed_name": "Derived",
"definition_spelling": "4:7-4:14",
"definition_extent": "4:1-4:50",
"parents": [1, 2],
"uses": ["4:7-4:14"]
}]
}
*/