ccls/index_tests/unions/union_usage.cc

130 lines
2.8 KiB
C++
Raw Normal View History

2018-03-31 03:16:33 +00:00
union Foo {
int a : 5;
bool b : 3;
};
Foo f;
void act(Foo*) {
f.a = 3;
}
/*
// TODO: instantiations on Foo should include parameter?
OUTPUT:
{
"includes": [],
2018-07-07 23:56:47 +00:00
"skipped_ranges": [],
"usr2func": [{
"usr": 13982179977217945200,
"detailed_name": "void act(Foo *)",
"qual_name_offset": 5,
"short_name": "act",
"spell": "8:6-8:9|8:1-10:2|2|-1",
"bases": [],
"vars": [],
"callees": [],
"kind": 12,
"parent_kind": 0,
"storage": 0,
2018-03-31 03:16:33 +00:00
"declarations": [],
"derived": [],
"uses": []
}],
"usr2type": [{
2018-07-07 23:56:47 +00:00
"usr": 37,
2018-03-31 03:16:33 +00:00
"detailed_name": "",
"qual_name_offset": 0,
2018-03-31 03:16:33 +00:00
"short_name": "",
"bases": [],
"funcs": [],
"types": [],
2018-03-31 03:16:33 +00:00
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [8804696910588009104],
2018-03-31 03:16:33 +00:00
"uses": []
}, {
2018-07-07 23:56:47 +00:00
"usr": 53,
2018-03-31 03:16:33 +00:00
"detailed_name": "",
"qual_name_offset": 0,
2018-03-31 03:16:33 +00:00
"short_name": "",
"bases": [],
"funcs": [],
"types": [],
2018-03-31 03:16:33 +00:00
"vars": [],
"alias_of": 0,
"kind": 0,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [9529311430721959843],
2018-03-31 03:16:33 +00:00
"uses": []
}, {
"usr": 8501689086387244262,
2018-07-07 23:56:47 +00:00
"detailed_name": "union Foo {}",
"qual_name_offset": 6,
"short_name": "Foo",
"spell": "1:7-1:10|1:1-4:2|2|-1",
2018-03-31 03:16:33 +00:00
"bases": [],
"funcs": [],
"types": [],
"vars": [{
"L": 9529311430721959843,
"R": 0
}, {
"L": 8804696910588009104,
"R": 0
}],
"alias_of": 0,
"kind": 5,
"parent_kind": 0,
"declarations": [],
"derived": [],
"instances": [2933643612409209903],
"uses": ["6:1-6:4|4|-1", "8:10-8:13|4|-1"]
2018-03-31 03:16:33 +00:00
}],
"usr2var": [{
"usr": 2933643612409209903,
"detailed_name": "Foo f",
"qual_name_offset": 4,
"short_name": "f",
"spell": "6:5-6:6|6:1-6:6|2|-1",
"type": 8501689086387244262,
"kind": 13,
"parent_kind": 0,
"storage": 0,
"declarations": [],
"uses": ["9:3-9:4|4|-1"]
2018-03-31 03:16:33 +00:00
}, {
"usr": 8804696910588009104,
2018-07-27 07:21:57 +00:00
"detailed_name": "bool Foo::b : 3",
"qual_name_offset": 5,
2018-03-31 03:16:33 +00:00
"short_name": "b",
"spell": "3:8-3:9|3:3-3:13|1026|-1",
2018-07-07 23:56:47 +00:00
"type": 37,
2018-03-31 03:16:33 +00:00
"kind": 8,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": []
2018-03-31 03:16:33 +00:00
}, {
"usr": 9529311430721959843,
2018-07-07 23:56:47 +00:00
"detailed_name": "int Foo::a : 5",
"qual_name_offset": 4,
"short_name": "a",
"spell": "2:7-2:8|2:3-2:12|1026|-1",
2018-07-07 23:56:47 +00:00
"type": 53,
"kind": 8,
"parent_kind": 5,
"storage": 0,
"declarations": [],
"uses": ["9:5-9:6|20|-1"]
2018-03-31 03:16:33 +00:00
}]
}
*/