ccls/tests/inheritance/function_override.cc
Jacob Dufault d6123bd861 Every function usage is now considered a call of that function.
This means we will now report function calls that happen in the global scope (previously, those would only show up for find all refs).
2017-04-13 00:47:47 -07:00

52 lines
1.1 KiB
C++

class Root {
virtual void foo();
};
class Derived : public Root {
void foo() override {}
};
/*
OUTPUT:
{
"types": [{
"id": 0,
"usr": "c:@S@Root",
"short_name": "Root",
"qualified_name": "Root",
"definition_spelling": "1:7-1:11",
"definition_extent": "1:1-3:2",
"derived": [1],
"funcs": [0],
"uses": ["*1:7-1:11", "*4:24-4:28"]
}, {
"id": 1,
"usr": "c:@S@Derived",
"short_name": "Derived",
"qualified_name": "Derived",
"definition_spelling": "4:7-4:14",
"definition_extent": "4:1-6:2",
"parents": [0],
"funcs": [1],
"uses": ["*4:7-4:14"]
}],
"funcs": [{
"id": 0,
"usr": "c:@S@Root@F@foo#",
"short_name": "foo",
"qualified_name": "Root::foo",
"declarations": ["2:16-2:19"],
"declaring_type": 0,
"derived": [1]
}, {
"id": 1,
"usr": "c:@S@Derived@F@foo#",
"short_name": "foo",
"qualified_name": "Derived::foo",
"definition_spelling": "5:8-5:11",
"definition_extent": "5:3-5:25",
"declaring_type": 1,
"base": 0
}]
}
*/