ccls/index_tests/unions/union_usage.cc

128 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",
"kind": 12,
"storage": 0,
2018-03-31 03:16:33 +00:00
"declarations": [],
"spell": "8:6-8:9|0|1|2",
"extent": "8:1-10:2|0|1|0",
2018-03-31 03:16:33 +00:00
"bases": [],
"derived": [],
"vars": [],
"uses": [],
"callees": []
}],
"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": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
2018-03-31 03:16:33 +00:00
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"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": "",
"kind": 0,
"declarations": [],
"alias_of": 0,
2018-03-31 03:16:33 +00:00
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [],
"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",
2018-07-07 23:56:47 +00:00
"kind": 5,
2018-03-31 03:16:33 +00:00
"declarations": [],
"spell": "1:7-1:10|0|1|2",
"extent": "1:1-4:2|0|1|0",
"alias_of": 0,
2018-03-31 03:16:33 +00:00
"bases": [],
"derived": [],
"types": [],
"funcs": [],
"vars": [{
"L": 9529311430721959843,
"R": 0
}, {
"L": 8804696910588009104,
"R": 0
}],
"instances": [2933643612409209903],
"uses": ["6:1-6:4|0|1|4", "8:10-8:13|0|1|4"]
2018-03-31 03:16:33 +00:00
}],
"usr2var": [{
"usr": 2933643612409209903,
"detailed_name": "Foo f",
"qual_name_offset": 4,
"short_name": "f",
2018-03-31 03:16:33 +00:00
"declarations": [],
"spell": "6:5-6:6|0|1|2",
"extent": "6:1-6:6|0|1|0",
"type": 8501689086387244262,
2018-07-07 23:56:47 +00:00
"uses": ["9:3-9:4|0|1|4"],
"kind": 13,
"storage": 0
2018-03-31 03:16:33 +00:00
}, {
"usr": 8804696910588009104,
2018-07-07 23:56:47 +00:00
"detailed_name": "Foo::bool b : 3",
"qual_name_offset": 0,
2018-03-31 03:16:33 +00:00
"short_name": "b",
"declarations": [],
2018-07-10 06:40:26 +00:00
"spell": "3:8-3:9|8501689086387244262|2|1026",
"extent": "3:3-3:13|8501689086387244262|2|0",
2018-07-07 23:56:47 +00:00
"type": 37,
2018-03-31 03:16:33 +00:00
"uses": [],
"kind": 8,
"storage": 0
}, {
"usr": 9529311430721959843,
2018-07-07 23:56:47 +00:00
"detailed_name": "int Foo::a : 5",
"qual_name_offset": 4,
"short_name": "a",
2018-03-31 03:16:33 +00:00
"declarations": [],
2018-07-10 06:40:26 +00:00
"spell": "2:7-2:8|8501689086387244262|2|1026",
"extent": "2:3-2:12|8501689086387244262|2|0",
2018-07-07 23:56:47 +00:00
"type": 53,
"uses": ["9:5-9:6|8501689086387244262|2|20"],
"kind": 8,
"storage": 0
2018-03-31 03:16:33 +00:00
}]
}
*/