mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-27 01:51:57 +00:00
72 lines
1.8 KiB
C++
72 lines
1.8 KiB
C++
template<unsigned int C>
|
|
class Base1 {};
|
|
|
|
template<typename C>
|
|
class Base2 {};
|
|
|
|
template<unsigned int T>
|
|
class Derived1 : Base1<T> {};
|
|
|
|
template<typename T>
|
|
class Derived2 : Base2<T> {};
|
|
|
|
class Derived : Base1<3>, Base2<Derived>, Derived1<4>, Derived2<Derived> {};
|
|
|
|
/*
|
|
OUTPUT:
|
|
{
|
|
"types": [{
|
|
"id": 0,
|
|
"usr": "c:@ST>1#Ni@Base1",
|
|
"short_name": "Base1",
|
|
"detailed_name": "Base1",
|
|
"definition_spelling": "2:7-2:12",
|
|
"definition_extent": "2:1-2:15",
|
|
"derived": [2, 5],
|
|
"uses": ["2:7-2:12", "8:18-8:23", "13:17-13:22"]
|
|
}, {
|
|
"id": 1,
|
|
"usr": "c:@ST>1#T@Base2",
|
|
"short_name": "Base2",
|
|
"detailed_name": "Base2",
|
|
"definition_spelling": "5:7-5:12",
|
|
"definition_extent": "5:1-5:15",
|
|
"derived": [3, 5],
|
|
"uses": ["5:7-5:12", "11:18-11:23", "13:27-13:32"]
|
|
}, {
|
|
"id": 2,
|
|
"usr": "c:@ST>1#Ni@Derived1",
|
|
"short_name": "Derived1",
|
|
"detailed_name": "Derived1",
|
|
"definition_spelling": "8:7-8:15",
|
|
"definition_extent": "8:1-8:29",
|
|
"parents": [0],
|
|
"derived": [5],
|
|
"uses": ["8:7-8:15", "13:43-13:51"]
|
|
}, {
|
|
"id": 3,
|
|
"usr": "c:@ST>1#T@Derived2",
|
|
"short_name": "Derived2",
|
|
"detailed_name": "Derived2",
|
|
"definition_spelling": "11:7-11:15",
|
|
"definition_extent": "11:1-11:29",
|
|
"parents": [1],
|
|
"derived": [5],
|
|
"uses": ["11:7-11:15", "13:56-13:64"]
|
|
}, {
|
|
"id": 4,
|
|
"usr": "c:class_inherit_templated_parent.cc@154",
|
|
"uses": ["11:24-11:25"]
|
|
}, {
|
|
"id": 5,
|
|
"usr": "c:@S@Derived",
|
|
"short_name": "Derived",
|
|
"detailed_name": "Derived",
|
|
"definition_spelling": "13:7-13:14",
|
|
"definition_extent": "13:1-13:76",
|
|
"parents": [0, 1, 2, 3],
|
|
"uses": ["13:7-13:14", "13:33-13:40", "13:65-13:72"]
|
|
}]
|
|
}
|
|
*/
|