mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-26 01:21:57 +00:00
Move tests to index_tests
This commit is contained in:
parent
3ab2f2e2b7
commit
4781e9a53d
@ -2041,7 +2041,7 @@ void IndexInit() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void ClangSanityCheck() {
|
void ClangSanityCheck() {
|
||||||
std::vector<const char*> args = {"clang", "tests/vars/class_member.cc"};
|
std::vector<const char*> args = {"clang", "index_tests/vars/class_member.cc"};
|
||||||
unsigned opts = 0;
|
unsigned opts = 0;
|
||||||
CXIndex index = clang_createIndex(0, 1);
|
CXIndex index = clang_createIndex(0, 1);
|
||||||
CXTranslationUnit tu;
|
CXTranslationUnit tu;
|
||||||
|
@ -124,7 +124,7 @@ void RunIndexTests(const std::string& filter_path) {
|
|||||||
bool update_all = false;
|
bool update_all = false;
|
||||||
ClangIndex index;
|
ClangIndex index;
|
||||||
|
|
||||||
for (std::string path : GetFilesInFolder("tests", true /*recursive*/,
|
for (std::string path : GetFilesInFolder("index_tests", true /*recursive*/,
|
||||||
true /*add_folder_to_path*/)) {
|
true /*add_folder_to_path*/)) {
|
||||||
if (!RunObjectiveCIndexTests() && EndsWithAny(path, {".m", ".mm"})) {
|
if (!RunObjectiveCIndexTests() && EndsWithAny(path, {".m", ".mm"})) {
|
||||||
std::cout << "Skipping \"" << path << "\" since this platform does not "
|
std::cout << "Skipping \"" << path << "\" since this platform does not "
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,29 +0,0 @@
|
|||||||
class Foo;
|
|
||||||
class Foo;
|
|
||||||
class Foo {};
|
|
||||||
class Foo;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "3:7-3:10",
|
|
||||||
"definition_extent": "3:1-3:13",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "2:7-2:10", "3:7-3:10", "4:7-4:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,83 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
public:
|
|
||||||
Foo() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
void foo() {
|
|
||||||
Foo f;
|
|
||||||
Foo* f2 = new Foo();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["1:7-1:10", "3:3-3:6", "7:3-7:6", "8:3-8:6", "8:17-8:20"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Foo#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Foo::Foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:3-3:6",
|
|
||||||
"definition_extent": "3:3-3:11",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~1@7:7-7:8", "1@8:17-8:20"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "6:6-6:9",
|
|
||||||
"definition_extent": "6:1-9:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["~0@7:7-7:8", "0@8:17-8:20"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:constructor.cc@56@F@foo#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo f",
|
|
||||||
"definition_spelling": "7:7-7:8",
|
|
||||||
"definition_extent": "7:3-7:8",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["7:7-7:8"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:constructor.cc@66@F@foo#@f2",
|
|
||||||
"short_name": "f2",
|
|
||||||
"detailed_name": "Foo * f2",
|
|
||||||
"definition_spelling": "8:8-8:10",
|
|
||||||
"definition_extent": "8:3-8:22",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["8:8-8:10"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,93 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
public:
|
|
||||||
Foo() {}
|
|
||||||
~Foo() {};
|
|
||||||
};
|
|
||||||
|
|
||||||
void foo() {
|
|
||||||
Foo f;
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Support destructors (notice how the dtor has no usages listed).
|
|
||||||
// - check if variable is a pointer. if so, do *not* insert dtor
|
|
||||||
// - check if variable is normal type. if so, insert dtor
|
|
||||||
// - scan for statements that look like dtors in function def handler
|
|
||||||
// - figure out some way to support w/ unique_ptrs?
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-5:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0, 1],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:7-1:10", "3:3-3:6", "4:4-4:7", "8:3-8:6"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Foo#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Foo::Foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:3-3:6",
|
|
||||||
"definition_extent": "3:3-3:11",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~2@8:7-8:8"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@~Foo#",
|
|
||||||
"short_name": "~Foo",
|
|
||||||
"detailed_name": "void Foo::~Foo() noexcept",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:3-4:7",
|
|
||||||
"definition_extent": "4:3-4:12",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "7:6-7:9",
|
|
||||||
"definition_extent": "7:1-9:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["~0@8:7-8:8"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:destructor.cc@70@F@foo#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo f",
|
|
||||||
"definition_spelling": "8:7-8:8",
|
|
||||||
"definition_extent": "8:3-8:8",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["8:7-8:8"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,82 +0,0 @@
|
|||||||
struct Type {
|
|
||||||
Type() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
void Make() {
|
|
||||||
Type foo0;
|
|
||||||
auto foo1 = Type();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Type",
|
|
||||||
"short_name": "Type",
|
|
||||||
"detailed_name": "Type",
|
|
||||||
"definition_spelling": "1:8-1:12",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["1:8-1:12", "2:3-2:7", "6:3-6:7", "7:15-7:19"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Type@F@Type#",
|
|
||||||
"short_name": "Type",
|
|
||||||
"detailed_name": "void Type::Type()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:3-2:7",
|
|
||||||
"definition_extent": "2:3-2:12",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~1@6:8-6:12", "1@7:15-7:19"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@Make#",
|
|
||||||
"short_name": "Make",
|
|
||||||
"detailed_name": "void Make()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:10",
|
|
||||||
"definition_extent": "5:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["~0@6:8-6:12", "0@7:15-7:19"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:implicit_constructor.cc@51@F@Make#@foo0",
|
|
||||||
"short_name": "foo0",
|
|
||||||
"detailed_name": "Type foo0",
|
|
||||||
"definition_spelling": "6:8-6:12",
|
|
||||||
"definition_extent": "6:3-6:12",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:8-6:12"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:implicit_constructor.cc@65@F@Make#@foo1",
|
|
||||||
"short_name": "foo1",
|
|
||||||
"detailed_name": "Type foo1",
|
|
||||||
"definition_spelling": "7:8-7:12",
|
|
||||||
"definition_extent": "7:3-7:21",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["7:8-7:12"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,48 +0,0 @@
|
|||||||
struct Foo {};
|
|
||||||
|
|
||||||
template<class T>
|
|
||||||
Foo::Foo() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
EXTRA_FLAGS:
|
|
||||||
-fms-compatibility
|
|
||||||
-fdelayed-template-parsing
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:8-1:11",
|
|
||||||
"definition_extent": "1:1-1:14",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:11", "4:6-4:9", "4:1-4:4"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@FT@>1#TFoo#v#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Foo::Foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:6-4:9",
|
|
||||||
"definition_extent": "4:1-4:11",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,322 +0,0 @@
|
|||||||
#include "make_functions.h"
|
|
||||||
|
|
||||||
template <typename T, typename... Args>
|
|
||||||
T* MakeUnique(Args&&... args) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T, typename... Args>
|
|
||||||
T* maKE_NoRefs(Args... args) {
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
|
|
||||||
void caller22() {
|
|
||||||
MakeUnique<Foobar>();
|
|
||||||
MakeUnique<Foobar>(1);
|
|
||||||
MakeUnique<Foobar>(1, new Bar(), nullptr);
|
|
||||||
maKE_NoRefs<Foobar>(1, new Bar(), nullptr);
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Eliminate the extra entries in the "types" array here. They come from
|
|
||||||
// the template function definitions.
|
|
||||||
|
|
||||||
// Foobar is defined in a separate file to ensure that we can attribute
|
|
||||||
// MakeUnique calls across translation units.
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT: make_functions.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Bar",
|
|
||||||
"short_name": "Bar",
|
|
||||||
"detailed_name": "Bar",
|
|
||||||
"definition_spelling": "1:8-1:11",
|
|
||||||
"definition_extent": "1:1-1:14",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:11", "7:17-7:20", "8:15-8:18"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Foobar",
|
|
||||||
"short_name": "Foobar",
|
|
||||||
"detailed_name": "Foobar",
|
|
||||||
"definition_spelling": "3:7-3:13",
|
|
||||||
"definition_extent": "3:1-9:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0, 1, 2, 3],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:7-3:13", "5:3-5:9", "6:3-6:9", "7:3-7:9", "8:3-8:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#",
|
|
||||||
"short_name": "Foobar",
|
|
||||||
"detailed_name": "void Foobar::Foobar()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:3-5:9",
|
|
||||||
"definition_extent": "5:3-5:14",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#I#",
|
|
||||||
"short_name": "Foobar",
|
|
||||||
"detailed_name": "void Foobar::Foobar(int)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "6:3-6:9",
|
|
||||||
"definition_extent": "6:3-6:17",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#&&I#*$@S@Bar#*b#",
|
|
||||||
"short_name": "Foobar",
|
|
||||||
"detailed_name": "void Foobar::Foobar(int &&, Bar *, bool *)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "7:3-7:9",
|
|
||||||
"definition_extent": "7:3-7:32",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#I#*$@S@Bar#*b#",
|
|
||||||
"short_name": "Foobar",
|
|
||||||
"detailed_name": "void Foobar::Foobar(int, Bar *, bool *)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "8:3-8:9",
|
|
||||||
"definition_extent": "8:3-8:30",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
OUTPUT: make_functions.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&make_functions.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:make_functions.cc@41",
|
|
||||||
"short_name": "T",
|
|
||||||
"detailed_name": "T",
|
|
||||||
"definition_spelling": "3:20-3:21",
|
|
||||||
"definition_extent": "3:11-3:21",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:1-4:2"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:make_functions.cc@53",
|
|
||||||
"short_name": "Args",
|
|
||||||
"detailed_name": "Args",
|
|
||||||
"definition_spelling": "3:35-3:39",
|
|
||||||
"definition_extent": "3:23-3:39",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:15-4:19"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:make_functions.cc@139",
|
|
||||||
"short_name": "T",
|
|
||||||
"detailed_name": "T",
|
|
||||||
"definition_spelling": "8:20-8:21",
|
|
||||||
"definition_extent": "8:11-8:21",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["9:1-9:2"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:make_functions.cc@151",
|
|
||||||
"short_name": "Args",
|
|
||||||
"detailed_name": "Args",
|
|
||||||
"definition_spelling": "8:35-8:39",
|
|
||||||
"definition_extent": "8:23-8:39",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["9:16-9:20"]
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"usr": "c:@S@Foobar",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["14:14-14:20", "15:14-15:20", "16:14-16:20", "17:15-17:21"]
|
|
||||||
}, {
|
|
||||||
"id": 5,
|
|
||||||
"usr": "c:@S@Bar",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["16:29-16:32", "17:30-17:33"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>2#T#pTMakeUnique#P&&t0.1#*t0.0#",
|
|
||||||
"short_name": "MakeUnique",
|
|
||||||
"detailed_name": "T *MakeUnique(Args &&... args)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:4-4:14",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@14:3-14:13", "2@15:3-15:13", "2@16:3-16:13"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>2#T#pTmaKE_NoRefs#Pt0.1#*t0.0#",
|
|
||||||
"short_name": "maKE_NoRefs",
|
|
||||||
"detailed_name": "T *maKE_NoRefs(Args... args)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "9:4-9:15",
|
|
||||||
"definition_extent": "9:1-11:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@17:3-17:14"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@caller22#",
|
|
||||||
"short_name": "caller22",
|
|
||||||
"detailed_name": "void caller22()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "13:6-13:14",
|
|
||||||
"definition_extent": "13:1-18:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@14:3-14:13", "0@15:3-15:13", "0@16:3-16:13", "1@17:3-17:14"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~-1@14:3-14:13"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#I#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~-1@15:3-15:13"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 5,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#&&I#*$@S@Bar#*b#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~-1@16:3-16:13"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 6,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foobar@F@Foobar#I#*$@S@Bar#*b#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~-1@17:3-17:14"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:make_functions.cc@86@FT@>2#T#pTMakeUnique#P&&t0.1#*t0.0#@args",
|
|
||||||
"short_name": "args",
|
|
||||||
"detailed_name": "Args &&... args",
|
|
||||||
"definition_spelling": "4:25-4:29",
|
|
||||||
"definition_extent": "4:15-4:29",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:25-4:29"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:make_functions.cc@185@FT@>2#T#pTmaKE_NoRefs#Pt0.1#*t0.0#@args",
|
|
||||||
"short_name": "args",
|
|
||||||
"detailed_name": "Args... args",
|
|
||||||
"definition_spelling": "9:24-9:28",
|
|
||||||
"definition_extent": "9:16-9:28",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["9:24-9:28"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,10 +0,0 @@
|
|||||||
struct Bar {};
|
|
||||||
|
|
||||||
class Foobar {
|
|
||||||
public:
|
|
||||||
Foobar() {}
|
|
||||||
Foobar(int) {}
|
|
||||||
Foobar(int&&, Bar*, bool*) {}
|
|
||||||
Foobar(int, Bar*, bool*) {}
|
|
||||||
};
|
|
||||||
|
|
@ -1,31 +0,0 @@
|
|||||||
class Foo;
|
|
||||||
class Foo;
|
|
||||||
class Foo {};
|
|
||||||
class Foo;
|
|
||||||
|
|
||||||
/*
|
|
||||||
// NOTE: Separate decl/definition are not supported for classes. See source
|
|
||||||
// for comments.
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "3:7-3:10",
|
|
||||||
"definition_extent": "3:1-3:13",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "2:7-2:10", "3:7-3:10", "4:7-4:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,38 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
int foo;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo@FI@foo",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int Foo::foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:3-2:10",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:7-2:10"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,41 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
static int foo;
|
|
||||||
};
|
|
||||||
|
|
||||||
int Foo::foo;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "5:5-5:8"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo@foo",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int Foo::foo",
|
|
||||||
"declaration": "2:14-2:17",
|
|
||||||
"definition_spelling": "5:10-5:13",
|
|
||||||
"definition_extent": "5:1-5:13",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:14-2:17", "5:10-5:13"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,45 +0,0 @@
|
|||||||
void foo();
|
|
||||||
void foo();
|
|
||||||
void foo() {}
|
|
||||||
void foo();
|
|
||||||
|
|
||||||
/*
|
|
||||||
// Note: we always use the latest seen ("most local") definition/declaration.
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:6-1:9",
|
|
||||||
"extent": "1:1-1:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}, {
|
|
||||||
"spelling": "2:6-2:9",
|
|
||||||
"extent": "2:1-2:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}, {
|
|
||||||
"spelling": "4:6-4:9",
|
|
||||||
"extent": "4:1-4:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "3:6-3:9",
|
|
||||||
"definition_extent": "3:1-3:14",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,63 +0,0 @@
|
|||||||
int foo(int, int);
|
|
||||||
int foo(int aa,
|
|
||||||
int bb);
|
|
||||||
int foo(int aaa, int bbb);
|
|
||||||
int foo(int a, int b) { return 0; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#I#I#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int foo(int a, int b)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:5-1:8",
|
|
||||||
"extent": "1:1-1:18",
|
|
||||||
"content": "int foo(int, int)",
|
|
||||||
"param_spellings": ["1:12-1:12", "1:17-1:17"]
|
|
||||||
}, {
|
|
||||||
"spelling": "2:5-2:8",
|
|
||||||
"extent": "2:1-3:16",
|
|
||||||
"content": "int foo(int aa,\n int bb)",
|
|
||||||
"param_spellings": ["2:13-2:15", "3:13-3:15"]
|
|
||||||
}, {
|
|
||||||
"spelling": "4:5-4:8",
|
|
||||||
"extent": "4:1-4:26",
|
|
||||||
"content": "int foo(int aaa, int bbb)",
|
|
||||||
"param_spellings": ["4:13-4:16", "4:22-4:25"]
|
|
||||||
}],
|
|
||||||
"definition_spelling": "5:5-5:8",
|
|
||||||
"definition_extent": "5:1-5:36",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_associated_function_params.cc@91@F@foo#I#I#@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "5:13-5:14",
|
|
||||||
"definition_extent": "5:9-5:14",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["5:13-5:14"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:func_associated_function_params.cc@98@F@foo#I#I#@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "5:20-5:21",
|
|
||||||
"definition_extent": "5:16-5:21",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["5:20-5:21"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,88 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
void declonly();
|
|
||||||
virtual void purevirtual() = 0;
|
|
||||||
void def();
|
|
||||||
};
|
|
||||||
|
|
||||||
void Foo::def() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-5:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0, 1, 2],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "7:6-7:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@declonly#",
|
|
||||||
"short_name": "declonly",
|
|
||||||
"detailed_name": "void Foo::declonly()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:16",
|
|
||||||
"extent": "2:3-2:18",
|
|
||||||
"content": "void declonly()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@purevirtual#",
|
|
||||||
"short_name": "purevirtual",
|
|
||||||
"detailed_name": "void Foo::purevirtual()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:16-3:27",
|
|
||||||
"extent": "3:3-3:33",
|
|
||||||
"content": "virtual void purevirtual() = 0",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@def#",
|
|
||||||
"short_name": "def",
|
|
||||||
"detailed_name": "void Foo::def()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "4:8-4:11",
|
|
||||||
"extent": "4:3-4:13",
|
|
||||||
"content": "void def()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "7:11-7:14",
|
|
||||||
"definition_extent": "7:1-7:19",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,51 +0,0 @@
|
|||||||
enum class Foo {
|
|
||||||
A,
|
|
||||||
B = 20
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:12-1:15",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:12-1:15"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo::A",
|
|
||||||
"definition_spelling": "2:3-2:4",
|
|
||||||
"definition_extent": "2:3-2:4",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:3-2:4"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo::B",
|
|
||||||
"definition_spelling": "3:3-3:4",
|
|
||||||
"definition_extent": "3:3-3:9",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:3-3:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,51 +0,0 @@
|
|||||||
enum Foo {
|
|
||||||
A,
|
|
||||||
B = 20
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:6-1:9",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:6-1:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo::A",
|
|
||||||
"definition_spelling": "2:3-2:4",
|
|
||||||
"definition_extent": "2:3-2:4",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:3-2:4"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo::B",
|
|
||||||
"definition_spelling": "3:3-3:4",
|
|
||||||
"definition_extent": "3:3-3:9",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:3-3:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,51 +0,0 @@
|
|||||||
enum Foo : int {
|
|
||||||
A,
|
|
||||||
B = 20
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:6-1:9",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:6-1:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo::A",
|
|
||||||
"definition_spelling": "2:3-2:4",
|
|
||||||
"definition_extent": "2:3-2:4",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:3-2:4"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo::B",
|
|
||||||
"definition_spelling": "3:3-3:4",
|
|
||||||
"definition_extent": "3:3-3:9",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:3-3:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,63 +0,0 @@
|
|||||||
enum class Foo {
|
|
||||||
A,
|
|
||||||
B = 20
|
|
||||||
};
|
|
||||||
|
|
||||||
Foo x = Foo::A;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:12-1:15",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [2],
|
|
||||||
"uses": ["1:12-1:15", "6:1-6:4", "6:9-6:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo::A",
|
|
||||||
"definition_spelling": "2:3-2:4",
|
|
||||||
"definition_extent": "2:3-2:4",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:3-2:4", "6:14-6:15"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo::B",
|
|
||||||
"definition_spelling": "3:3-3:4",
|
|
||||||
"definition_extent": "3:3-3:9",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:3-3:4"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "Foo x",
|
|
||||||
"definition_spelling": "6:5-6:6",
|
|
||||||
"definition_extent": "6:1-6:15",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:5-6:6"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,96 +0,0 @@
|
|||||||
enum A {};
|
|
||||||
enum B {};
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
struct Inner {};
|
|
||||||
};
|
|
||||||
|
|
||||||
Foo<A>::Inner a;
|
|
||||||
Foo<B> b;
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "A",
|
|
||||||
"definition_spelling": "1:6-1:7",
|
|
||||||
"definition_extent": "1:1-1:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:6-1:7", "9:5-9:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "B",
|
|
||||||
"definition_spelling": "2:6-2:7",
|
|
||||||
"definition_extent": "2:1-2:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:6-2:7", "10:5-10:6"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "5:8-5:11",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": ["5:8-5:11", "9:1-9:4", "10:1-10:4"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@ST>1#T@Foo@S@Inner",
|
|
||||||
"short_name": "Inner",
|
|
||||||
"detailed_name": "Foo::Inner",
|
|
||||||
"definition_spelling": "6:10-6:15",
|
|
||||||
"definition_extent": "6:3-6:18",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["6:10-6:15", "9:9-9:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "Foo<A>::Inner a",
|
|
||||||
"definition_spelling": "9:15-9:16",
|
|
||||||
"definition_extent": "9:1-9:16",
|
|
||||||
"variable_type": 3,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["9:15-9:16"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "Foo<B> b",
|
|
||||||
"definition_spelling": "10:8-10:9",
|
|
||||||
"definition_extent": "10:1-10:9",
|
|
||||||
"variable_type": 2,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["10:8-10:9"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,29 +0,0 @@
|
|||||||
void foo(int a, int b);
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#I#I#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo(int a, int b)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:6-1:9",
|
|
||||||
"extent": "1:1-1:23",
|
|
||||||
"content": "void foo(int a, int b)",
|
|
||||||
"param_spellings": ["1:14-1:15", "1:21-1:22"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,33 +0,0 @@
|
|||||||
void foo();
|
|
||||||
|
|
||||||
void foo() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:6-1:9",
|
|
||||||
"extent": "1:1-1:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "3:6-3:9",
|
|
||||||
"definition_extent": "3:1-3:14",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,26 +0,0 @@
|
|||||||
void foo() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:6-1:9",
|
|
||||||
"definition_extent": "1:1-1:14",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,41 +0,0 @@
|
|||||||
class Parent {};
|
|
||||||
class Derived : public Parent {};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Parent",
|
|
||||||
"short_name": "Parent",
|
|
||||||
"detailed_name": "Parent",
|
|
||||||
"definition_spelling": "1:7-1:13",
|
|
||||||
"definition_extent": "1:1-1:16",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [1],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:13", "2:24-2:30"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Derived",
|
|
||||||
"short_name": "Derived",
|
|
||||||
"detailed_name": "Derived",
|
|
||||||
"definition_spelling": "2:7-2:14",
|
|
||||||
"definition_extent": "2:1-2:33",
|
|
||||||
"parents": [0],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,106 +0,0 @@
|
|||||||
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:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"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",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [2, 5],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [3, 5],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["11:7-11:15", "13:56-13:64"]
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"usr": "c:class_inherit_templated_parent.cc@154",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["13:7-13:14", "13:33-13:40", "13:65-13:72"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,71 +0,0 @@
|
|||||||
class Root {};
|
|
||||||
class MiddleA : public Root {};
|
|
||||||
class MiddleB : public Root {};
|
|
||||||
class Derived : public MiddleA, public MiddleB {};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"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",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [1, 2],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"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],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:7-4:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,78 +0,0 @@
|
|||||||
class Root {
|
|
||||||
virtual void foo();
|
|
||||||
};
|
|
||||||
class Derived : public Root {
|
|
||||||
void foo() override {}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Root",
|
|
||||||
"short_name": "Root",
|
|
||||||
"detailed_name": "Root",
|
|
||||||
"definition_spelling": "1:7-1:11",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [1],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:11", "4:24-4:28"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Derived",
|
|
||||||
"short_name": "Derived",
|
|
||||||
"detailed_name": "Derived",
|
|
||||||
"definition_spelling": "4:7-4:14",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"parents": [0],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [1],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:7-4:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Root@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Root::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:16-2:19",
|
|
||||||
"extent": "2:3-2:21",
|
|
||||||
"content": "virtual void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [1],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Derived@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Derived::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:8-5:11",
|
|
||||||
"definition_extent": "5:3-5:25",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [0],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,46 +0,0 @@
|
|||||||
class IFoo {
|
|
||||||
virtual void foo() = 0;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@IFoo",
|
|
||||||
"short_name": "IFoo",
|
|
||||||
"detailed_name": "IFoo",
|
|
||||||
"definition_spelling": "1:7-1:11",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:11"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@IFoo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void IFoo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:16-2:19",
|
|
||||||
"extent": "2:3-2:25",
|
|
||||||
"content": "virtual void foo() = 0",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,107 +0,0 @@
|
|||||||
struct Base0 {
|
|
||||||
virtual ~Base0() { }
|
|
||||||
};
|
|
||||||
struct Base1 {
|
|
||||||
virtual ~Base1() { }
|
|
||||||
};
|
|
||||||
struct Derived : Base0, Base1 {
|
|
||||||
~Derived() override { }
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Base0",
|
|
||||||
"short_name": "Base0",
|
|
||||||
"detailed_name": "Base0",
|
|
||||||
"definition_spelling": "1:8-1:13",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [2],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:13", "2:12-2:17", "7:18-7:23"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Base1",
|
|
||||||
"short_name": "Base1",
|
|
||||||
"detailed_name": "Base1",
|
|
||||||
"definition_spelling": "4:8-4:13",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [2],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [1],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:13", "5:12-5:17", "7:25-7:30"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@S@Derived",
|
|
||||||
"short_name": "Derived",
|
|
||||||
"detailed_name": "Derived",
|
|
||||||
"definition_spelling": "7:8-7:15",
|
|
||||||
"definition_extent": "7:1-9:2",
|
|
||||||
"parents": [0, 1],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [2],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["7:8-7:15", "8:4-8:11"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Base0@F@~Base0#",
|
|
||||||
"short_name": "~Base0",
|
|
||||||
"detailed_name": "void Base0::~Base0() noexcept",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:11-2:17",
|
|
||||||
"definition_extent": "2:3-2:23",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [2],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Base1@F@~Base1#",
|
|
||||||
"short_name": "~Base1",
|
|
||||||
"detailed_name": "void Base1::~Base1() noexcept",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:11-5:17",
|
|
||||||
"definition_extent": "5:3-5:23",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [2],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Derived@F@~Derived#",
|
|
||||||
"short_name": "~Derived",
|
|
||||||
"detailed_name": "void Derived::~Derived() noexcept",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "8:3-8:11",
|
|
||||||
"definition_extent": "8:3-8:26",
|
|
||||||
"declaring_type": 2,
|
|
||||||
"base": [0, 1],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,89 +0,0 @@
|
|||||||
void foo() {
|
|
||||||
int x;
|
|
||||||
|
|
||||||
auto dosomething = [&x](int y) {
|
|
||||||
++x;
|
|
||||||
++y;
|
|
||||||
};
|
|
||||||
|
|
||||||
dosomething(1);
|
|
||||||
dosomething(1);
|
|
||||||
dosomething(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:lambda.cc@47@F@foo#@Sa",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": []
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:6-1:9",
|
|
||||||
"definition_extent": "1:1-12:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@9:14-9:15", "1@10:14-10:15", "1@11:14-11:15"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:lambda.cc@57@F@foo#@Sa@F@operator()#I#1",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["0@9:14-9:15", "0@10:14-10:15", "0@11:14-11:15"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:lambda.cc@16@F@foo#@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "int x",
|
|
||||||
"definition_spelling": "2:7-2:8",
|
|
||||||
"definition_extent": "2:3-2:8",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["2:7-2:8", "5:7-5:8", "4:24-4:25"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:lambda.cc@28@F@foo#@dosomething",
|
|
||||||
"short_name": "dosomething",
|
|
||||||
"detailed_name": "lambda dosomething",
|
|
||||||
"definition_spelling": "4:8-4:19",
|
|
||||||
"definition_extent": "4:3-7:4",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:8-4:19", "9:3-9:14", "10:3-10:14", "11:3-11:14"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:lambda.cc@52@F@foo#@Sa@F@operator()#I#1@y",
|
|
||||||
"short_name": "y",
|
|
||||||
"detailed_name": "int y",
|
|
||||||
"definition_spelling": "4:31-4:32",
|
|
||||||
"definition_extent": "4:27-4:32",
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["4:31-4:32", "6:7-6:8"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,75 +0,0 @@
|
|||||||
#define FOO(aaa, bbb) \
|
|
||||||
int a();\
|
|
||||||
int a() { return aaa + bbb; }
|
|
||||||
|
|
||||||
|
|
||||||
int make1() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
const int make2 = 5;
|
|
||||||
|
|
||||||
|
|
||||||
FOO(make1(), make2);
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@make1#",
|
|
||||||
"short_name": "make1",
|
|
||||||
"detailed_name": "int make1()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "6:5-6:10",
|
|
||||||
"definition_extent": "6:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@12:5-12:10"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@a#",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "12:1-12:20",
|
|
||||||
"extent": "12:1-12:20",
|
|
||||||
"content": "int a();\n int a() { return aaa + bbb; }\n\n\n int make1() {\n return 3;\n }\n const int make2 = 5;\n\n\n FOO(make1(), make2)",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "12:1-12:20",
|
|
||||||
"definition_extent": "12:1-12:20",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@12:5-12:10"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:complex.cc@make2",
|
|
||||||
"short_name": "make2",
|
|
||||||
"detailed_name": "const int make2",
|
|
||||||
"definition_spelling": "9:11-9:16",
|
|
||||||
"definition_extent": "9:1-9:20",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["9:11-9:16", "12:14-12:19"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:complex.cc@8@macro@FOO",
|
|
||||||
"short_name": "FOO",
|
|
||||||
"detailed_name": "FOO",
|
|
||||||
"hover": "#define FOO(aaa, bbb)\n int a();\n int a() { return aaa + bbb; }",
|
|
||||||
"definition_spelling": "1:9-1:12",
|
|
||||||
"definition_extent": "1:9-3:32",
|
|
||||||
"cls": 2,
|
|
||||||
"uses": ["1:9-1:12", "12:1-12:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,62 +0,0 @@
|
|||||||
#define A 5
|
|
||||||
#define DISALLOW(type) type(type&&) = delete;
|
|
||||||
|
|
||||||
struct Foo {
|
|
||||||
DISALLOW(Foo);
|
|
||||||
};
|
|
||||||
|
|
||||||
int x = A;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "4:8-4:11",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:11"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "int x",
|
|
||||||
"definition_spelling": "8:5-8:6",
|
|
||||||
"definition_extent": "8:1-8:10",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["8:5-8:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:foo.cc@8@macro@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "A",
|
|
||||||
"hover": "#define A 5",
|
|
||||||
"definition_spelling": "1:9-1:10",
|
|
||||||
"definition_extent": "1:9-1:12",
|
|
||||||
"cls": 2,
|
|
||||||
"uses": ["1:9-1:10", "8:9-8:10"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:foo.cc@21@macro@DISALLOW",
|
|
||||||
"short_name": "DISALLOW",
|
|
||||||
"detailed_name": "DISALLOW",
|
|
||||||
"hover": "#define DISALLOW(type) type(type&&) = delete;",
|
|
||||||
"definition_spelling": "2:9-2:17",
|
|
||||||
"definition_extent": "2:9-2:46",
|
|
||||||
"cls": 2,
|
|
||||||
"uses": ["2:9-2:17", "5:3-5:11"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,50 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
void foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
// NOTE: Lack of declaring_type in functions and funcs in Foo is okay, because
|
|
||||||
// those are processed when we find the definition for Foo::foo. Pure
|
|
||||||
// virtuals are treated specially and get added to the type immediately.
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Foo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:11",
|
|
||||||
"extent": "2:3-2:13",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,50 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
void foo() const;
|
|
||||||
};
|
|
||||||
|
|
||||||
void Foo::foo() const {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "5:6-5:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@foo#1",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Foo::foo() const",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:11",
|
|
||||||
"extent": "2:3-2:19",
|
|
||||||
"content": "void foo() const",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "5:11-5:14",
|
|
||||||
"definition_extent": "5:1-5:25",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,43 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
void foo() {}
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Foo::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:8-2:11",
|
|
||||||
"definition_extent": "2:3-2:16",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,87 +0,0 @@
|
|||||||
enum Foo {
|
|
||||||
#include "funky_enum.h"
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
// TODO: In the future try to have better support for types defined across
|
|
||||||
// multiple files.
|
|
||||||
|
|
||||||
OUTPUT: funky_enum.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1, 2],
|
|
||||||
"instances": [],
|
|
||||||
"uses": []
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo::A",
|
|
||||||
"definition_spelling": "4:1-4:2",
|
|
||||||
"definition_extent": "4:1-4:2",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["4:1-4:2"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo::B",
|
|
||||||
"definition_spelling": "5:1-5:2",
|
|
||||||
"definition_extent": "5:1-5:2",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["5:1-5:2"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@E@Foo@C",
|
|
||||||
"short_name": "C",
|
|
||||||
"detailed_name": "Foo::C",
|
|
||||||
"definition_spelling": "6:1-6:2",
|
|
||||||
"definition_extent": "6:1-6:2",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["6:1-6:2"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
OUTPUT: funky_enum.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 2,
|
|
||||||
"resolved_path": "&funky_enum.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:6-1:9",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:6-1:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,6 +0,0 @@
|
|||||||
// This file cannot be built directory. It is included in an enum definition of
|
|
||||||
// another file.
|
|
||||||
|
|
||||||
A,
|
|
||||||
B,
|
|
||||||
C
|
|
@ -1,18 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
struct Base {};
|
|
||||||
|
|
||||||
struct SameFileDerived : Base {};
|
|
||||||
|
|
||||||
using Foo0 = SameFileDerived;
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
void Foo1() {}
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
struct Foo2 {};
|
|
||||||
|
|
||||||
enum Foo3 { A, B, C };
|
|
||||||
|
|
||||||
int Foo4;
|
|
||||||
static int Foo5;
|
|
@ -1,190 +0,0 @@
|
|||||||
#include "header.h"
|
|
||||||
|
|
||||||
void Impl() {
|
|
||||||
Foo1<int>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT: header.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Base",
|
|
||||||
"short_name": "Base",
|
|
||||||
"detailed_name": "Base",
|
|
||||||
"definition_spelling": "3:8-3:12",
|
|
||||||
"definition_extent": "3:1-3:15",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [1],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:8-3:12", "5:26-5:30"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@SameFileDerived",
|
|
||||||
"short_name": "SameFileDerived",
|
|
||||||
"detailed_name": "SameFileDerived",
|
|
||||||
"definition_spelling": "5:8-5:23",
|
|
||||||
"definition_extent": "5:1-5:33",
|
|
||||||
"parents": [0],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:8-5:23", "7:14-7:29"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@Foo0",
|
|
||||||
"short_name": "Foo0",
|
|
||||||
"detailed_name": "Foo0",
|
|
||||||
"hover": "using Foo0 = SameFileDerived",
|
|
||||||
"definition_spelling": "7:7-7:11",
|
|
||||||
"definition_extent": "7:1-7:29",
|
|
||||||
"alias_of": 1,
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["7:7-7:11"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@ST>1#T@Foo2",
|
|
||||||
"short_name": "Foo2",
|
|
||||||
"detailed_name": "Foo2",
|
|
||||||
"definition_spelling": "13:8-13:12",
|
|
||||||
"definition_extent": "13:1-13:15",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["13:8-13:12"]
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"usr": "c:@E@Foo3",
|
|
||||||
"short_name": "Foo3",
|
|
||||||
"detailed_name": "Foo3",
|
|
||||||
"definition_spelling": "15:6-15:10",
|
|
||||||
"definition_extent": "15:1-15:22",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1, 2],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["15:6-15:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>1#TFoo1#v#",
|
|
||||||
"short_name": "Foo1",
|
|
||||||
"detailed_name": "void Foo1()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "10:6-10:10",
|
|
||||||
"definition_extent": "10:1-10:15",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@Foo3@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "Foo3::A",
|
|
||||||
"definition_spelling": "15:13-15:14",
|
|
||||||
"definition_extent": "15:13-15:14",
|
|
||||||
"variable_type": 4,
|
|
||||||
"declaring_type": 4,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["15:13-15:14"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@Foo3@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "Foo3::B",
|
|
||||||
"definition_spelling": "15:16-15:17",
|
|
||||||
"definition_extent": "15:16-15:17",
|
|
||||||
"variable_type": 4,
|
|
||||||
"declaring_type": 4,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["15:16-15:17"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@E@Foo3@C",
|
|
||||||
"short_name": "C",
|
|
||||||
"detailed_name": "Foo3::C",
|
|
||||||
"definition_spelling": "15:19-15:20",
|
|
||||||
"definition_extent": "15:19-15:20",
|
|
||||||
"variable_type": 4,
|
|
||||||
"declaring_type": 4,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["15:19-15:20"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@Foo4",
|
|
||||||
"short_name": "Foo4",
|
|
||||||
"detailed_name": "int Foo4",
|
|
||||||
"definition_spelling": "17:5-17:9",
|
|
||||||
"definition_extent": "17:1-17:9",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["17:5-17:9"]
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"usr": "c:header.h@Foo5",
|
|
||||||
"short_name": "Foo5",
|
|
||||||
"detailed_name": "int Foo5",
|
|
||||||
"definition_spelling": "18:12-18:16",
|
|
||||||
"definition_extent": "18:1-18:16",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["18:12-18:16"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
OUTPUT: impl.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&header.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@Impl#",
|
|
||||||
"short_name": "Impl",
|
|
||||||
"detailed_name": "void Impl()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:6-3:10",
|
|
||||||
"definition_extent": "3:1-5:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@4:3-4:7"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>1#TFoo1#v#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["0@4:3-4:7"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,3 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
void header();
|
|
@ -1,70 +0,0 @@
|
|||||||
#include "simple_header.h"
|
|
||||||
|
|
||||||
void impl() {
|
|
||||||
header();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT: simple_header.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@header#",
|
|
||||||
"short_name": "header",
|
|
||||||
"detailed_name": "void header()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:6-3:12",
|
|
||||||
"extent": "3:1-3:14",
|
|
||||||
"content": "void header()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
OUTPUT: simple_impl.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&simple_header.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@impl#",
|
|
||||||
"short_name": "impl",
|
|
||||||
"detailed_name": "void impl()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:6-3:10",
|
|
||||||
"definition_extent": "3:1-5:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@4:3-4:9"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@header#",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"declarations": [],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["0@4:3-4:9"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,84 +0,0 @@
|
|||||||
#include "static.h"
|
|
||||||
|
|
||||||
void Buffer::CreateSharedBuffer() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT: static.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Buffer",
|
|
||||||
"short_name": "Buffer",
|
|
||||||
"detailed_name": "Buffer",
|
|
||||||
"definition_spelling": "3:8-3:14",
|
|
||||||
"definition_extent": "3:1-5:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:8-3:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
|
|
||||||
"short_name": "CreateSharedBuffer",
|
|
||||||
"detailed_name": "void Buffer::CreateSharedBuffer()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "4:15-4:33",
|
|
||||||
"extent": "4:3-4:35",
|
|
||||||
"content": "static void CreateSharedBuffer()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
OUTPUT: static.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&static.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Buffer",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:6-3:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Buffer@F@CreateSharedBuffer#S",
|
|
||||||
"short_name": "CreateSharedBuffer",
|
|
||||||
"detailed_name": "void Buffer::CreateSharedBuffer()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:14-3:32",
|
|
||||||
"definition_extent": "3:1-3:37",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,5 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
struct Buffer {
|
|
||||||
static void CreateSharedBuffer();
|
|
||||||
};
|
|
@ -1,31 +0,0 @@
|
|||||||
namespace {
|
|
||||||
void foo();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:anonymous_function.cc@aN@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void (anon)::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:6-2:9",
|
|
||||||
"extent": "2:1-2:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,31 +0,0 @@
|
|||||||
namespace hello {
|
|
||||||
void foo(int a, int b);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@hello@F@foo#I#I#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void hello::foo(int a, int b)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:6-2:9",
|
|
||||||
"extent": "2:1-2:23",
|
|
||||||
"content": "void foo(int a, int b)",
|
|
||||||
"param_spellings": ["2:14-2:15", "2:21-2:22"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,28 +0,0 @@
|
|||||||
namespace hello {
|
|
||||||
void foo() {}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@hello@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void hello::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:6-2:9",
|
|
||||||
"definition_extent": "2:1-2:14",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,48 +0,0 @@
|
|||||||
namespace hello {
|
|
||||||
class Foo {
|
|
||||||
void foo();
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@hello@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "hello::Foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@hello@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void hello::Foo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:8-3:11",
|
|
||||||
"extent": "3:3-3:13",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,52 +0,0 @@
|
|||||||
namespace hello {
|
|
||||||
class Foo {
|
|
||||||
void foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
void Foo::foo() {}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@hello@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "hello::Foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:10", "6:6-6:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@hello@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void hello::Foo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:8-3:11",
|
|
||||||
"extent": "3:3-3:13",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "6:11-6:14",
|
|
||||||
"definition_extent": "6:1-6:19",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,45 +0,0 @@
|
|||||||
namespace hello {
|
|
||||||
class Foo {
|
|
||||||
void foo() {}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@hello@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "hello::Foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@hello@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void hello::Foo::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:8-3:11",
|
|
||||||
"definition_extent": "3:3-3:16",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,66 +0,0 @@
|
|||||||
namespace foo {
|
|
||||||
namespace bar {
|
|
||||||
namespace baz {
|
|
||||||
int qux = 42;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
namespace fbz = foo::bar::baz;
|
|
||||||
|
|
||||||
void func() {
|
|
||||||
int a = foo::bar::baz::qux;
|
|
||||||
int b = fbz::qux;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@func#",
|
|
||||||
"short_name": "func",
|
|
||||||
"detailed_name": "void func()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "11:6-11:10",
|
|
||||||
"definition_extent": "11:1-14:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@foo@N@bar@N@baz@qux",
|
|
||||||
"short_name": "qux",
|
|
||||||
"detailed_name": "int foo::bar::baz::qux",
|
|
||||||
"definition_spelling": "4:18-4:21",
|
|
||||||
"definition_extent": "4:14-4:26",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["4:18-4:21", "12:26-12:29", "13:16-13:19"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:namespace_alias.cc@167@F@func#@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "12:7-12:8",
|
|
||||||
"definition_extent": "12:3-12:29",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["12:7-12:8"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:namespace_alias.cc@198@F@func#@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "13:7-13:8",
|
|
||||||
"definition_extent": "13:3-13:19",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["13:7-13:8"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,70 +0,0 @@
|
|||||||
namespace ns {
|
|
||||||
int Foo;
|
|
||||||
void Accept(int a) {}
|
|
||||||
}
|
|
||||||
|
|
||||||
void Runner() {
|
|
||||||
ns::Accept(ns::Foo);
|
|
||||||
using namespace ns;
|
|
||||||
Accept(Foo);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@ns@F@Accept#I#",
|
|
||||||
"short_name": "Accept",
|
|
||||||
"detailed_name": "void ns::Accept(int a)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:8-3:14",
|
|
||||||
"definition_extent": "3:3-3:24",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@7:7-7:13", "1@9:3-9:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@Runner#",
|
|
||||||
"short_name": "Runner",
|
|
||||||
"detailed_name": "void Runner()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "6:6-6:12",
|
|
||||||
"definition_extent": "6:1-10:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@7:7-7:13", "0@9:3-9:9"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "int ns::Foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:3-2:10",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["2:7-2:10", "7:18-7:21", "9:10-9:13"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:namespace_reference.cc@42@N@ns@F@Accept#I#@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "3:19-3:20",
|
|
||||||
"definition_extent": "3:15-3:20",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["3:19-3:20"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,154 +0,0 @@
|
|||||||
@interface AClass
|
|
||||||
+ (void)test;
|
|
||||||
- (void)anInstanceMethod;
|
|
||||||
@property (nonatomic) int aProp;
|
|
||||||
@end
|
|
||||||
|
|
||||||
@implementation AClass
|
|
||||||
+ (void)test {}
|
|
||||||
- (void)anInstanceMethod {}
|
|
||||||
@end
|
|
||||||
|
|
||||||
int main(void)
|
|
||||||
{
|
|
||||||
AClass *instance = [AClass init];
|
|
||||||
[instance anInstanceMethod];
|
|
||||||
instance.aProp = 12;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:objc(cs)AClass",
|
|
||||||
"short_name": "AClass",
|
|
||||||
"detailed_name": "AClass",
|
|
||||||
"definition_spelling": "7:17-7:23",
|
|
||||||
"definition_extent": "7:1-10:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:12-1:18", "7:17-7:23", "14:3-14:9", "14:23-14:29"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:objc(cs)AClass(cm)test",
|
|
||||||
"short_name": "test",
|
|
||||||
"detailed_name": " AClass::test",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:11-2:15",
|
|
||||||
"extent": "2:3-2:16",
|
|
||||||
"content": "+ (void)test;",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "8:9-8:13",
|
|
||||||
"definition_extent": "8:1-8:16",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:objc(cs)AClass(im)anInstanceMethod",
|
|
||||||
"short_name": "anInstanceMethod",
|
|
||||||
"detailed_name": " AClass::anInstanceMethod",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:11-3:27",
|
|
||||||
"extent": "3:3-3:28",
|
|
||||||
"content": "- (void)anInstanceMethod;",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "9:9-9:25",
|
|
||||||
"definition_extent": "9:1-9:28",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["4@15:13-15:29"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:objc(cs)AClass(im)aProp",
|
|
||||||
"short_name": "aProp",
|
|
||||||
"detailed_name": " AClass::aProp",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "0:0-0:0",
|
|
||||||
"extent": "4:29-4:34",
|
|
||||||
"content": "aProp",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:objc(cs)AClass(im)setAProp:",
|
|
||||||
"short_name": "setAProp:",
|
|
||||||
"detailed_name": " AClass::setAProp:",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "0:0-0:0",
|
|
||||||
"extent": "4:29-4:34",
|
|
||||||
"content": "aProp",
|
|
||||||
"param_spellings": ["4:29-4:34"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["4@0:0-0:0"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@main#",
|
|
||||||
"short_name": "main",
|
|
||||||
"detailed_name": "int main()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "12:5-12:9",
|
|
||||||
"definition_extent": "12:1-17:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@15:13-15:29", "3@0:0-0:0"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:objc(cs)AClass(py)aProp",
|
|
||||||
"short_name": "aProp",
|
|
||||||
"detailed_name": "int AClass::aProp",
|
|
||||||
"declaration": "4:29-4:34",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:29-4:34", "16:12-16:17"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:objc(cs)AClass@_aProp",
|
|
||||||
"short_name": "_aProp",
|
|
||||||
"detailed_name": "int AClass::_aProp",
|
|
||||||
"definition_spelling": "4:29-4:34",
|
|
||||||
"definition_extent": "4:29-4:34",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:29-4:34"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:class.m@208@F@main#@instance",
|
|
||||||
"short_name": "instance",
|
|
||||||
"detailed_name": "AClass * instance",
|
|
||||||
"definition_spelling": "14:11-14:19",
|
|
||||||
"definition_extent": "14:3-14:35",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["14:11-14:19", "15:4-15:12", "16:3-16:11"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,100 +0,0 @@
|
|||||||
class Foo {
|
|
||||||
void operator()(int) { }
|
|
||||||
void operator()(bool);
|
|
||||||
int operator()(int a, int b);
|
|
||||||
};
|
|
||||||
|
|
||||||
Foo &operator += (const Foo&, const int&);
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-5:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0, 1, 2],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10", "7:1-7:4", "7:25-7:28"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": true,
|
|
||||||
"usr": "c:@S@Foo@F@operator()#I#",
|
|
||||||
"short_name": "operator()",
|
|
||||||
"detailed_name": "void Foo::operator()(int)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:8-2:18",
|
|
||||||
"definition_extent": "2:3-2:27",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": true,
|
|
||||||
"usr": "c:@S@Foo@F@operator()#b#",
|
|
||||||
"short_name": "operator()",
|
|
||||||
"detailed_name": "void Foo::operator()(bool)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:8-3:18",
|
|
||||||
"extent": "3:3-3:24",
|
|
||||||
"content": "void operator()(bool)",
|
|
||||||
"param_spellings": ["3:23-3:23"]
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": true,
|
|
||||||
"usr": "c:@S@Foo@F@operator()#I#I#",
|
|
||||||
"short_name": "operator()",
|
|
||||||
"detailed_name": "int Foo::operator()(int a, int b)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "4:7-4:17",
|
|
||||||
"extent": "4:3-4:31",
|
|
||||||
"content": "int operator()(int a, int b)",
|
|
||||||
"param_spellings": ["4:22-4:23", "4:29-4:30"]
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": true,
|
|
||||||
"usr": "c:@F@operator+=#&1$@S@Foo#&1I#",
|
|
||||||
"short_name": "operator+=",
|
|
||||||
"detailed_name": "Foo &operator+=(const Foo &, const int &)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "7:6-7:17",
|
|
||||||
"extent": "7:1-7:42",
|
|
||||||
"content": "Foo &operator += (const Foo&, const int&)",
|
|
||||||
"param_spellings": ["7:29-7:29", "7:41-7:41"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,81 +0,0 @@
|
|||||||
#include <vector>
|
|
||||||
|
|
||||||
struct MergeableUpdate {
|
|
||||||
int a;
|
|
||||||
int b;
|
|
||||||
std::vector<int> to_add;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
TEXT_REPLACE:
|
|
||||||
c:@N@std@ST>2#T#T@vector <===> c:@N@std@N@__1@ST>2#T#T@vector
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&vector"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@MergeableUpdate",
|
|
||||||
"short_name": "MergeableUpdate",
|
|
||||||
"detailed_name": "MergeableUpdate",
|
|
||||||
"definition_spelling": "3:8-3:23",
|
|
||||||
"definition_extent": "3:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1, 2],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:8-3:23"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@std@N@__1@ST>2#T#T@vector",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [2],
|
|
||||||
"uses": ["6:8-6:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@MergeableUpdate@FI@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int MergeableUpdate::a",
|
|
||||||
"definition_spelling": "4:7-4:8",
|
|
||||||
"definition_extent": "4:3-4:8",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["4:7-4:8"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@MergeableUpdate@FI@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int MergeableUpdate::b",
|
|
||||||
"definition_spelling": "5:7-5:8",
|
|
||||||
"definition_extent": "5:3-5:8",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["5:7-5:8"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@S@MergeableUpdate@FI@to_add",
|
|
||||||
"short_name": "to_add",
|
|
||||||
"detailed_name": "std::vector<int> MergeableUpdate::to_add",
|
|
||||||
"definition_spelling": "6:20-6:26",
|
|
||||||
"definition_extent": "6:3-6:26",
|
|
||||||
"variable_type": 1,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["6:20-6:26"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,124 +0,0 @@
|
|||||||
#pragma once
|
|
||||||
|
|
||||||
#include <string>
|
|
||||||
#include <vector>
|
|
||||||
|
|
||||||
struct CompilationEntry {
|
|
||||||
std::string directory;
|
|
||||||
std::string filename;
|
|
||||||
std::vector<std::string> args;
|
|
||||||
};
|
|
||||||
|
|
||||||
std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string& project_directory);
|
|
||||||
|
|
||||||
/*
|
|
||||||
TEXT_REPLACE:
|
|
||||||
c:@N@std@T@string <===> c:@N@std@N@__1@T@string
|
|
||||||
c:@N@std@N@__cxx11@T@string <===> c:@N@std@N@__1@T@string
|
|
||||||
c:@N@std@ST>2#T#T@vector <===> c:@N@std@N@__1@ST>2#T#T@vector
|
|
||||||
c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@N@__1@S@basic_string>#C#$@N@std@N@__1@S@char_traits>#C#$@N@std@N@__1@S@allocator>#C# <===> c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#
|
|
||||||
c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@N@__cxx11@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C# <===> c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 3,
|
|
||||||
"resolved_path": "&string"
|
|
||||||
}, {
|
|
||||||
"line": 4,
|
|
||||||
"resolved_path": "&vector"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@CompilationEntry",
|
|
||||||
"short_name": "CompilationEntry",
|
|
||||||
"detailed_name": "CompilationEntry",
|
|
||||||
"definition_spelling": "6:8-6:24",
|
|
||||||
"definition_extent": "6:1-10:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1, 2],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["6:8-6:24", "12:13-12:29"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@std@N@__1@T@string",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["7:8-7:14", "8:8-8:14", "9:20-9:26", "12:78-12:84"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@N@std@N@__1@ST>2#T#T@vector",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [2],
|
|
||||||
"uses": ["9:8-9:14", "12:6-12:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#",
|
|
||||||
"short_name": "LoadCompilationEntriesFromDirectory",
|
|
||||||
"detailed_name": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string &project_directory)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "12:31-12:66",
|
|
||||||
"extent": "12:1-12:104",
|
|
||||||
"content": "std::vector<CompilationEntry> LoadCompilationEntriesFromDirectory(const std::string& project_directory)",
|
|
||||||
"param_spellings": ["12:86-12:103"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@CompilationEntry@FI@directory",
|
|
||||||
"short_name": "directory",
|
|
||||||
"detailed_name": "std::string CompilationEntry::directory",
|
|
||||||
"definition_spelling": "7:15-7:24",
|
|
||||||
"definition_extent": "7:3-7:24",
|
|
||||||
"variable_type": 1,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["7:15-7:24"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@CompilationEntry@FI@filename",
|
|
||||||
"short_name": "filename",
|
|
||||||
"detailed_name": "std::string CompilationEntry::filename",
|
|
||||||
"definition_spelling": "8:15-8:23",
|
|
||||||
"definition_extent": "8:3-8:23",
|
|
||||||
"variable_type": 1,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["8:15-8:23"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@S@CompilationEntry@FI@args",
|
|
||||||
"short_name": "args",
|
|
||||||
"detailed_name": "std::vector<std::string> CompilationEntry::args",
|
|
||||||
"definition_spelling": "9:28-9:32",
|
|
||||||
"definition_extent": "9:3-9:32",
|
|
||||||
"variable_type": 2,
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["9:28-9:32"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,122 +0,0 @@
|
|||||||
#include "static_function_in_type.h"
|
|
||||||
|
|
||||||
namespace ns {
|
|
||||||
// static
|
|
||||||
void Foo::Register(Manager* m) {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT: static_function_in_type.h
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@S@Manager",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:7-3:14", "6:24-6:31"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "ns::Foo",
|
|
||||||
"definition_spelling": "5:8-5:11",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:8-5:11"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@ns@S@Foo@F@Register#*$@N@ns@S@Manager#S",
|
|
||||||
"short_name": "Register",
|
|
||||||
"detailed_name": "void ns::Foo::Register(ns::Manager *)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "6:15-6:23",
|
|
||||||
"extent": "6:3-6:33",
|
|
||||||
"content": "static void Register(Manager*)",
|
|
||||||
"param_spellings": ["6:32-6:32"]
|
|
||||||
}],
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
OUTPUT: static_function_in_type.cc
|
|
||||||
{
|
|
||||||
"includes": [{
|
|
||||||
"line": 1,
|
|
||||||
"resolved_path": "&static_function_in_type.h"
|
|
||||||
}],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@S@Foo",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:6-5:9"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@S@Manager",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["5:20-5:27"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@ns@S@Foo@F@Register#*$@N@ns@S@Manager#S",
|
|
||||||
"short_name": "Register",
|
|
||||||
"detailed_name": "void ns::Foo::Register(ns::Manager *m)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:11-5:19",
|
|
||||||
"definition_extent": "5:1-6:2",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:static_function_in_type.cc@86@N@ns@S@Foo@F@Register#*$@N@ns@S@Manager#S@m",
|
|
||||||
"short_name": "m",
|
|
||||||
"detailed_name": "ns::Manager * m",
|
|
||||||
"definition_spelling": "5:29-5:30",
|
|
||||||
"definition_extent": "5:20-5:30",
|
|
||||||
"variable_type": 1,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["5:29-5:30"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,9 +0,0 @@
|
|||||||
namespace ns {
|
|
||||||
|
|
||||||
class Manager;
|
|
||||||
|
|
||||||
struct Foo {
|
|
||||||
static void Register(Manager*);
|
|
||||||
};
|
|
||||||
|
|
||||||
} // namespace ns
|
|
@ -1,25 +0,0 @@
|
|||||||
#ifndef FOO
|
|
||||||
#define FOO
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:include_guard.cc@21@macro@FOO",
|
|
||||||
"short_name": "FOO",
|
|
||||||
"detailed_name": "FOO",
|
|
||||||
"hover": "#define FOO",
|
|
||||||
"definition_spelling": "2:9-2:12",
|
|
||||||
"definition_extent": "2:9-2:12",
|
|
||||||
"cls": 2,
|
|
||||||
"uses": ["2:9-2:12"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,25 +0,0 @@
|
|||||||
|
|
||||||
#ifdef FOOBAR
|
|
||||||
void hello();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if false
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#if defined(OS_FOO)
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": ["2:1-4:7", "6:1-10:7", "12:1-14:7"],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,67 +0,0 @@
|
|||||||
template<class T>
|
|
||||||
class Template {};
|
|
||||||
|
|
||||||
struct Foo {
|
|
||||||
void Bar(Template<double>&);
|
|
||||||
};
|
|
||||||
|
|
||||||
void Foo::Bar(Template<double>&) {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Template",
|
|
||||||
"short_name": "Template",
|
|
||||||
"detailed_name": "Template",
|
|
||||||
"definition_spelling": "2:7-2:15",
|
|
||||||
"definition_extent": "2:1-2:18",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:15", "5:12-5:20", "8:15-8:23"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "4:8-4:11",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:11", "8:6-8:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Bar#&$@S@Template>#d#",
|
|
||||||
"short_name": "Bar",
|
|
||||||
"detailed_name": "void Foo::Bar(Template<double> &)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "5:8-5:11",
|
|
||||||
"extent": "5:3-5:30",
|
|
||||||
"content": "void Bar(Template<double>&)",
|
|
||||||
"param_spellings": ["5:29-5:29"]
|
|
||||||
}],
|
|
||||||
"definition_spelling": "8:11-8:14",
|
|
||||||
"definition_extent": "8:1-8:36",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,84 +0,0 @@
|
|||||||
namespace ns {
|
|
||||||
enum VarType {};
|
|
||||||
|
|
||||||
template<typename _>
|
|
||||||
struct Holder {
|
|
||||||
static constexpr VarType static_var = (VarType)0x0;
|
|
||||||
};
|
|
||||||
|
|
||||||
template<typename _>
|
|
||||||
const typename VarType Holder<_>::static_var;
|
|
||||||
|
|
||||||
|
|
||||||
int Foo = Holder<int>::static_var;
|
|
||||||
int Foo2 = Holder<int>::static_var;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@E@VarType",
|
|
||||||
"short_name": "VarType",
|
|
||||||
"detailed_name": "ns::VarType",
|
|
||||||
"definition_spelling": "2:8-2:15",
|
|
||||||
"definition_extent": "2:3-2:18",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["2:8-2:15", "6:22-6:29", "6:44-6:51", "10:18-10:25"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@ST>1#T@Holder",
|
|
||||||
"short_name": "Holder",
|
|
||||||
"detailed_name": "ns::Holder",
|
|
||||||
"definition_spelling": "5:10-5:16",
|
|
||||||
"definition_extent": "5:3-7:4",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:10-5:16", "10:26-10:32", "13:13-13:19", "14:14-14:20"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@ST>1#T@Holder@static_var",
|
|
||||||
"short_name": "static_var",
|
|
||||||
"detailed_name": "const ns::VarType ns::Holder::static_var",
|
|
||||||
"declaration": "6:30-6:40",
|
|
||||||
"definition_spelling": "10:37-10:47",
|
|
||||||
"definition_extent": "9:3-10:47",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 1,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["6:30-6:40", "10:37-10:47", "13:26-13:36", "14:27-14:37"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "int ns::Foo",
|
|
||||||
"definition_spelling": "13:7-13:10",
|
|
||||||
"definition_extent": "13:3-13:36",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["13:7-13:10"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@N@ns@Foo2",
|
|
||||||
"short_name": "Foo2",
|
|
||||||
"detailed_name": "int ns::Foo2",
|
|
||||||
"definition_spelling": "14:7-14:11",
|
|
||||||
"definition_extent": "14:3-14:37",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["14:7-14:11"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,70 +0,0 @@
|
|||||||
namespace ns {
|
|
||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
template<typename R>
|
|
||||||
static int foo() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
int a = Foo<int>::foo<float>();
|
|
||||||
int b = Foo<bool>::foo<double>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "ns::Foo",
|
|
||||||
"definition_spelling": "3:10-3:13",
|
|
||||||
"definition_extent": "3:3-8:4",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:10-3:13", "10:11-10:14", "11:11-11:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@N@ns@ST>1#T@Foo@FT@>1#Tfoo#I#S",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int ns::Foo::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:16-5:19",
|
|
||||||
"definition_extent": "5:5-7:6",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["-1@10:21-10:24", "-1@11:22-11:25"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int ns::a",
|
|
||||||
"definition_spelling": "10:7-10:8",
|
|
||||||
"definition_extent": "10:3-10:33",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["10:7-10:8"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int ns::b",
|
|
||||||
"definition_spelling": "11:7-11:8",
|
|
||||||
"definition_extent": "11:3-11:35",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["11:7-11:8"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,52 +0,0 @@
|
|||||||
namespace ns {
|
|
||||||
template<typename T>
|
|
||||||
class Foo {};
|
|
||||||
|
|
||||||
Foo<int> a;
|
|
||||||
Foo<bool> b;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "ns::Foo",
|
|
||||||
"definition_spelling": "3:9-3:12",
|
|
||||||
"definition_extent": "3:3-3:15",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["3:9-3:12", "5:3-5:6", "6:3-6:6"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@N@ns@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "Foo<int> ns::a",
|
|
||||||
"definition_spelling": "5:12-5:13",
|
|
||||||
"definition_extent": "5:3-5:13",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["5:12-5:13"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@N@ns@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "Foo<bool> ns::b",
|
|
||||||
"definition_spelling": "6:13-6:14",
|
|
||||||
"definition_extent": "6:3-6:14",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:13-6:14"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,68 +0,0 @@
|
|||||||
template<class T>
|
|
||||||
class Template {
|
|
||||||
void Foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
template<class T>
|
|
||||||
void Template<T>::Foo() {}
|
|
||||||
|
|
||||||
template<>
|
|
||||||
void Template<void>::Foo() {}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
// TODO: usage information on Template is bad.
|
|
||||||
// TODO: Foo() should have multiple definitions.
|
|
||||||
|
|
||||||
EXTRA_FLAGS:
|
|
||||||
-fms-compatibility
|
|
||||||
-fdelayed-template-parsing
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Template",
|
|
||||||
"short_name": "Template",
|
|
||||||
"detailed_name": "Template",
|
|
||||||
"definition_spelling": "2:7-2:15",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:7-2:15", "7:6-7:14", "10:6-10:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@ST>1#T@Template@F@Foo#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Template::Foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:8-3:11",
|
|
||||||
"extent": "3:3-3:13",
|
|
||||||
"content": "void Foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}, {
|
|
||||||
"spelling": "10:22-10:25",
|
|
||||||
"extent": "9:1-10:30",
|
|
||||||
"content": "template<>\n void Template<void>::Foo() {}",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "7:19-7:22",
|
|
||||||
"definition_extent": "6:1-7:24",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,67 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
static int foo() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
int a = Foo<int>::foo();
|
|
||||||
int b = Foo<bool>::foo();
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "2:8-2:11",
|
|
||||||
"definition_extent": "2:1-6:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:8-2:11", "8:9-8:12", "9:9-9:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@ST>1#T@Foo@F@foo#S",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int Foo::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:14-3:17",
|
|
||||||
"definition_extent": "3:3-5:4",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["-1@8:19-8:22", "-1@9:20-9:23"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "8:5-8:6",
|
|
||||||
"definition_extent": "8:1-8:24",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["8:5-8:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "9:5-9:6",
|
|
||||||
"definition_extent": "9:1-9:25",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["9:5-9:6"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,68 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
template<typename R>
|
|
||||||
static int foo() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
int a = Foo<int>::foo<float>();
|
|
||||||
int b = Foo<bool>::foo<double>();
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "2:8-2:11",
|
|
||||||
"definition_extent": "2:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:8-2:11", "9:9-9:12", "10:9-10:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@ST>1#T@Foo@FT@>1#Tfoo#I#S",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int Foo::foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:14-4:17",
|
|
||||||
"definition_extent": "4:3-6:4",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["-1@9:19-9:22", "-1@10:20-10:23"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "9:5-9:6",
|
|
||||||
"definition_extent": "9:1-9:31",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["9:5-9:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "10:5-10:6",
|
|
||||||
"definition_extent": "10:1-10:33",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["10:5-10:6"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,115 +0,0 @@
|
|||||||
enum A {};
|
|
||||||
enum B {};
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
struct Inner {};
|
|
||||||
};
|
|
||||||
|
|
||||||
Foo<A>::Inner a;
|
|
||||||
Foo<B>::Inner b;
|
|
||||||
|
|
||||||
#if false
|
|
||||||
EnumDecl A
|
|
||||||
EnumDecl B
|
|
||||||
ClassTemplate Foo
|
|
||||||
TemplateTypeParameter T
|
|
||||||
StructDecl Inner
|
|
||||||
VarDecl a
|
|
||||||
TemplateRef Foo
|
|
||||||
TypeRef enum A
|
|
||||||
TypeRef struct Foo<enum A>::Inner
|
|
||||||
CallExpr Inner
|
|
||||||
VarDecl b
|
|
||||||
TemplateRef Foo
|
|
||||||
TypeRef enum B
|
|
||||||
TypeRef struct Foo<enum B>::Inner
|
|
||||||
CallExpr Inner
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": ["12:1-28:7"],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "A",
|
|
||||||
"definition_spelling": "1:6-1:7",
|
|
||||||
"definition_extent": "1:1-1:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:6-1:7", "9:5-9:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "B",
|
|
||||||
"definition_spelling": "2:6-2:7",
|
|
||||||
"definition_extent": "2:1-2:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:6-2:7", "10:5-10:6"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "5:8-5:11",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:8-5:11", "9:1-9:4", "10:1-10:4"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@ST>1#T@Foo@S@Inner",
|
|
||||||
"short_name": "Inner",
|
|
||||||
"detailed_name": "Foo::Inner",
|
|
||||||
"definition_spelling": "6:10-6:15",
|
|
||||||
"definition_extent": "6:3-6:18",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["6:10-6:15", "9:9-9:14", "10:9-10:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "Foo<A>::Inner a",
|
|
||||||
"definition_spelling": "9:15-9:16",
|
|
||||||
"definition_extent": "9:1-9:16",
|
|
||||||
"variable_type": 3,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["9:15-9:16"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "Foo<B>::Inner b",
|
|
||||||
"definition_spelling": "10:15-10:16",
|
|
||||||
"definition_extent": "10:1-10:16",
|
|
||||||
"variable_type": 3,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["10:15-10:16"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,58 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
struct Foo {
|
|
||||||
static constexpr int var = 3;
|
|
||||||
};
|
|
||||||
|
|
||||||
int a = Foo<int>::var;
|
|
||||||
int b = Foo<bool>::var;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "2:8-2:11",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:8-2:11", "6:9-6:12", "7:9-7:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Foo@var",
|
|
||||||
"short_name": "var",
|
|
||||||
"detailed_name": "const int Foo::var",
|
|
||||||
"declaration": "3:24-3:27",
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:24-3:27", "6:19-6:22", "7:20-7:23"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "6:5-6:6",
|
|
||||||
"definition_extent": "6:1-6:22",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:5-6:6"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "7:5-7:6",
|
|
||||||
"definition_extent": "7:1-7:23",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["7:5-7:6"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,53 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
static int foo() {
|
|
||||||
return 3;
|
|
||||||
}
|
|
||||||
|
|
||||||
int a = foo<int>();
|
|
||||||
int b = foo<bool>();
|
|
||||||
|
|
||||||
// TODO: put template foo inside a namespace
|
|
||||||
// TODO: put template foo inside a template class inside a namespace
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:template_func_usage_folded_into_one.cc@FT@>1#Tfoo#I#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "int foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:12-2:15",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["-1@6:9-6:12", "-1@7:9-7:12"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int a",
|
|
||||||
"definition_spelling": "6:5-6:6",
|
|
||||||
"definition_extent": "6:1-6:19",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:5-6:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "int b",
|
|
||||||
"definition_spelling": "7:5-7:6",
|
|
||||||
"definition_extent": "7:1-7:20",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["7:5-7:6"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,50 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
class Foo {};
|
|
||||||
|
|
||||||
Foo<int> a;
|
|
||||||
Foo<bool> b;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "2:7-2:10",
|
|
||||||
"definition_extent": "2:1-2:13",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["2:7-2:10", "4:1-4:4", "5:1-5:4"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "Foo<int> a",
|
|
||||||
"definition_spelling": "4:10-4:11",
|
|
||||||
"definition_extent": "4:1-4:11",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["4:10-4:11"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "Foo<bool> b",
|
|
||||||
"definition_spelling": "5:11-5:12",
|
|
||||||
"definition_extent": "5:1-5:12",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["5:11-5:12"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,111 +0,0 @@
|
|||||||
enum A {};
|
|
||||||
enum B {};
|
|
||||||
|
|
||||||
template<typename T>
|
|
||||||
T var = T();
|
|
||||||
|
|
||||||
A a = var<A>;
|
|
||||||
B b = var<B>;
|
|
||||||
|
|
||||||
// NOTE: libclang before 4.0 doesn't expose template usage on |var|.
|
|
||||||
|
|
||||||
#if false
|
|
||||||
EnumDecl A
|
|
||||||
EnumDecl B
|
|
||||||
UnexposedDecl var
|
|
||||||
VarDecl a
|
|
||||||
UnexposedExpr var
|
|
||||||
UnexposedExpr var
|
|
||||||
DeclRefExpr var
|
|
||||||
TypeRef enum A
|
|
||||||
UnexposedDecl var
|
|
||||||
VarDecl b
|
|
||||||
UnexposedExpr var
|
|
||||||
UnexposedExpr var
|
|
||||||
DeclRefExpr var
|
|
||||||
TypeRef enum B
|
|
||||||
UnexposedDecl var
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
|
||||||
EXTRA_FLAGS:
|
|
||||||
-std=c++14
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": ["12:1-28:7"],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@E@A",
|
|
||||||
"short_name": "A",
|
|
||||||
"detailed_name": "A",
|
|
||||||
"definition_spelling": "1:6-1:7",
|
|
||||||
"definition_extent": "1:1-1:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": ["1:6-1:7", "7:1-7:2", "7:11-7:12"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@E@B",
|
|
||||||
"short_name": "B",
|
|
||||||
"detailed_name": "B",
|
|
||||||
"definition_spelling": "2:6-2:7",
|
|
||||||
"definition_extent": "2:1-2:10",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [2],
|
|
||||||
"uses": ["2:6-2:7", "8:1-8:2", "8:11-8:12"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:template_var_usage_folded_into_one.cc@35",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:1-5:2", "5:9-5:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@VT>1#T@var",
|
|
||||||
"short_name": "var",
|
|
||||||
"detailed_name": "T var",
|
|
||||||
"definition_spelling": "5:3-5:6",
|
|
||||||
"definition_extent": "5:1-5:12",
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["5:3-5:6", "7:7-7:10", "8:7-8:10"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "A a",
|
|
||||||
"definition_spelling": "7:3-7:4",
|
|
||||||
"definition_extent": "7:1-7:13",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["7:3-7:4"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "B b",
|
|
||||||
"definition_spelling": "8:3-8:4",
|
|
||||||
"definition_extent": "8:1-8:13",
|
|
||||||
"variable_type": 1,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["8:3-8:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,83 +0,0 @@
|
|||||||
union vector3 {
|
|
||||||
struct { float x, y, z; };
|
|
||||||
float v[3];
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@vector3",
|
|
||||||
"short_name": "vector3",
|
|
||||||
"detailed_name": "vector3",
|
|
||||||
"definition_spelling": "1:7-1:14",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [3],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:14"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@U@vector3@Sa",
|
|
||||||
"short_name": "<anonymous>",
|
|
||||||
"detailed_name": "vector3::<anonymous>",
|
|
||||||
"definition_spelling": "2:3-2:9",
|
|
||||||
"definition_extent": "2:3-2:28",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1, 2],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:3-2:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@vector3@Sa@FI@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "float vector3::(anon struct)::x",
|
|
||||||
"definition_spelling": "2:18-2:19",
|
|
||||||
"definition_extent": "2:12-2:19",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:18-2:19"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@U@vector3@Sa@FI@y",
|
|
||||||
"short_name": "y",
|
|
||||||
"detailed_name": "float vector3::(anon struct)::y",
|
|
||||||
"definition_spelling": "2:21-2:22",
|
|
||||||
"definition_extent": "2:12-2:22",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:21-2:22"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@U@vector3@Sa@FI@z",
|
|
||||||
"short_name": "z",
|
|
||||||
"detailed_name": "float vector3::(anon struct)::z",
|
|
||||||
"definition_spelling": "2:24-2:25",
|
|
||||||
"definition_extent": "2:12-2:25",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:24-2:25"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@U@vector3@FI@v",
|
|
||||||
"short_name": "v",
|
|
||||||
"detailed_name": "float [3] vector3::v",
|
|
||||||
"definition_spelling": "3:9-3:10",
|
|
||||||
"definition_extent": "3:3-3:13",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:9-3:10"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,45 +0,0 @@
|
|||||||
typedef int (func)(const int *a, const int *b);
|
|
||||||
static func g;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:typedefs.cc@T@func",
|
|
||||||
"short_name": "func",
|
|
||||||
"detailed_name": "func",
|
|
||||||
"hover": "typedef int (func)(const int *a, const int *b)",
|
|
||||||
"definition_spelling": "1:14-1:18",
|
|
||||||
"definition_extent": "1:1-1:47",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:14-1:18", "2:8-2:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:typedefs.cc@F@g#*1I#S0_#",
|
|
||||||
"short_name": "g",
|
|
||||||
"detailed_name": "func g",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:13-2:14",
|
|
||||||
"extent": "2:1-2:14",
|
|
||||||
"content": "static func g",
|
|
||||||
"param_spellings": ["2:13-2:13", "2:13-2:13"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,49 +0,0 @@
|
|||||||
union Foo {
|
|
||||||
int a;
|
|
||||||
bool b;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:7-1:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@Foo@FI@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int Foo::a",
|
|
||||||
"definition_spelling": "2:7-2:8",
|
|
||||||
"definition_extent": "2:3-2:8",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:7-2:8"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@U@Foo@FI@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "bool Foo::b",
|
|
||||||
"definition_spelling": "3:8-3:9",
|
|
||||||
"definition_extent": "3:3-3:9",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:8-3:9"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,81 +0,0 @@
|
|||||||
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": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:7-1:10",
|
|
||||||
"definition_extent": "1:1-4:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [2],
|
|
||||||
"uses": ["1:7-1:10", "6:1-6:4", "8:10-8:13"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@act#*$@U@Foo#",
|
|
||||||
"short_name": "act",
|
|
||||||
"detailed_name": "void act(Foo *)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "8:6-8:9",
|
|
||||||
"definition_extent": "8:1-10:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@U@Foo@FI@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "int Foo::a",
|
|
||||||
"definition_spelling": "2:7-2:8",
|
|
||||||
"definition_extent": "2:3-2:12",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["2:7-2:8", "9:5-9:6"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@U@Foo@FI@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "bool Foo::b",
|
|
||||||
"definition_spelling": "3:8-3:9",
|
|
||||||
"definition_extent": "3:3-3:13",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["3:8-3:9"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo f",
|
|
||||||
"definition_spelling": "6:5-6:6",
|
|
||||||
"definition_extent": "6:1-6:6",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:5-6:6", "9:3-9:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,68 +0,0 @@
|
|||||||
void called() {}
|
|
||||||
|
|
||||||
struct Foo {
|
|
||||||
Foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
Foo::Foo() {
|
|
||||||
called();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "3:8-3:11",
|
|
||||||
"definition_extent": "3:1-5:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [1],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["3:8-3:11", "4:3-4:6", "7:6-7:9", "7:1-7:4"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@called#",
|
|
||||||
"short_name": "called",
|
|
||||||
"detailed_name": "void called()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:6-1:12",
|
|
||||||
"definition_extent": "1:1-1:17",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@8:3-8:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Foo#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Foo::Foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "4:3-4:6",
|
|
||||||
"extent": "4:3-4:8",
|
|
||||||
"content": "Foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "7:6-7:9",
|
|
||||||
"definition_extent": "7:1-9:2",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@8:3-8:9"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,59 +0,0 @@
|
|||||||
#define MACRO_CALL(e) e
|
|
||||||
|
|
||||||
bool called(bool a, bool b);
|
|
||||||
|
|
||||||
void caller() {
|
|
||||||
MACRO_CALL(called(true, true));
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@called#b#b#",
|
|
||||||
"short_name": "called",
|
|
||||||
"detailed_name": "bool called(bool a, bool b)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:6-3:12",
|
|
||||||
"extent": "3:1-3:28",
|
|
||||||
"content": "bool called(bool a, bool b)",
|
|
||||||
"param_spellings": ["3:18-3:19", "3:26-3:27"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@6:14-6:20"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@caller#",
|
|
||||||
"short_name": "caller",
|
|
||||||
"detailed_name": "void caller()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:12",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@6:14-6:20"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_called_from_macro_argument.cc@8@macro@MACRO_CALL",
|
|
||||||
"short_name": "MACRO_CALL",
|
|
||||||
"detailed_name": "MACRO_CALL",
|
|
||||||
"hover": "#define MACRO_CALL(e) e",
|
|
||||||
"definition_spelling": "1:9-1:19",
|
|
||||||
"definition_extent": "1:9-1:24",
|
|
||||||
"cls": 2,
|
|
||||||
"uses": ["1:9-1:19", "6:3-6:13"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,68 +0,0 @@
|
|||||||
void called();
|
|
||||||
|
|
||||||
template <typename T>
|
|
||||||
void caller() {
|
|
||||||
called();
|
|
||||||
}
|
|
||||||
|
|
||||||
void foo() {
|
|
||||||
caller<int>();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
// NOTE: without caller<int>() instantation caller() is never visited so
|
|
||||||
// called() is never referenced.
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@called#",
|
|
||||||
"short_name": "called",
|
|
||||||
"detailed_name": "void called()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:6-1:12",
|
|
||||||
"extent": "1:1-1:14",
|
|
||||||
"content": "void called()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@5:3-5:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>1#Tcaller#v#",
|
|
||||||
"short_name": "caller",
|
|
||||||
"detailed_name": "void caller()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:6-4:12",
|
|
||||||
"definition_extent": "4:1-6:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@9:3-9:9"],
|
|
||||||
"callees": ["0@5:3-5:9"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "8:6-8:9",
|
|
||||||
"definition_extent": "8:1-10:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@9:3-9:9"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,80 +0,0 @@
|
|||||||
struct Wrapper {
|
|
||||||
Wrapper(int i);
|
|
||||||
};
|
|
||||||
|
|
||||||
int called() { return 1; }
|
|
||||||
|
|
||||||
Wrapper caller() {
|
|
||||||
return called();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Wrapper",
|
|
||||||
"short_name": "Wrapper",
|
|
||||||
"detailed_name": "Wrapper",
|
|
||||||
"definition_spelling": "1:8-1:15",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:15", "2:3-2:10", "7:1-7:8"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Wrapper@F@Wrapper#I#",
|
|
||||||
"short_name": "Wrapper",
|
|
||||||
"detailed_name": "void Wrapper::Wrapper(int i)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:3-2:10",
|
|
||||||
"extent": "2:3-2:17",
|
|
||||||
"content": "Wrapper(int i)",
|
|
||||||
"param_spellings": ["2:15-2:16"]
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["~2@8:10-8:16"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@called#",
|
|
||||||
"short_name": "called",
|
|
||||||
"detailed_name": "int called()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:5-5:11",
|
|
||||||
"definition_extent": "5:1-5:27",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@8:10-8:16"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@caller#",
|
|
||||||
"short_name": "caller",
|
|
||||||
"detailed_name": "Wrapper caller()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "7:9-7:15",
|
|
||||||
"definition_extent": "7:1-9:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["~0@8:10-8:16", "1@8:10-8:16"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,70 +0,0 @@
|
|||||||
void consume(void (*)()) {}
|
|
||||||
|
|
||||||
void used() {}
|
|
||||||
|
|
||||||
void user() {
|
|
||||||
void (*x)() = &used;
|
|
||||||
consume(&used);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@consume#*Fv#",
|
|
||||||
"short_name": "consume",
|
|
||||||
"detailed_name": "void consume(void (*)())",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:6-1:13",
|
|
||||||
"definition_extent": "1:1-1:28",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@7:3-7:10"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@used#",
|
|
||||||
"short_name": "used",
|
|
||||||
"detailed_name": "void used()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:6-3:10",
|
|
||||||
"definition_extent": "3:1-3:15",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["2@6:18-6:22", "2@7:12-7:16"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@user#",
|
|
||||||
"short_name": "user",
|
|
||||||
"detailed_name": "void user()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:10",
|
|
||||||
"definition_extent": "5:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["1@6:18-6:22", "0@7:3-7:10", "1@7:12-7:16"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_usage_addr_func.cc@66@F@user#@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "void (*)() x",
|
|
||||||
"definition_spelling": "6:10-6:11",
|
|
||||||
"definition_extent": "6:3-6:22",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:10-6:11"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,74 +0,0 @@
|
|||||||
struct Foo {
|
|
||||||
void Used();
|
|
||||||
};
|
|
||||||
|
|
||||||
void user() {
|
|
||||||
auto x = &Foo::Used;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:8-1:11",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:11", "6:13-6:16"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Used#",
|
|
||||||
"short_name": "Used",
|
|
||||||
"detailed_name": "void Foo::Used()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:12",
|
|
||||||
"extent": "2:3-2:14",
|
|
||||||
"content": "void Used()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@6:18-6:22"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@user#",
|
|
||||||
"short_name": "user",
|
|
||||||
"detailed_name": "void user()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:10",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@6:18-6:22"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_usage_addr_method.cc@53@F@user#@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "void (Foo::*)() x",
|
|
||||||
"definition_spelling": "6:8-6:9",
|
|
||||||
"definition_extent": "6:3-6:22",
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:8-6:9"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,43 +0,0 @@
|
|||||||
void called() {}
|
|
||||||
void caller() {
|
|
||||||
called();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@called#",
|
|
||||||
"short_name": "called",
|
|
||||||
"detailed_name": "void called()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:6-1:12",
|
|
||||||
"definition_extent": "1:1-1:17",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@3:3-3:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@caller#",
|
|
||||||
"short_name": "caller",
|
|
||||||
"detailed_name": "void caller()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:6-2:12",
|
|
||||||
"definition_extent": "2:1-4:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@3:3-3:9"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,75 +0,0 @@
|
|||||||
struct Foo {
|
|
||||||
void Used();
|
|
||||||
};
|
|
||||||
|
|
||||||
void user() {
|
|
||||||
Foo* f = nullptr;
|
|
||||||
f->Used();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:8-1:11",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:11", "6:3-6:6"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Used#",
|
|
||||||
"short_name": "Used",
|
|
||||||
"detailed_name": "void Foo::Used()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:12",
|
|
||||||
"extent": "2:3-2:14",
|
|
||||||
"content": "void Used()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@7:6-7:10"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@user#",
|
|
||||||
"short_name": "user",
|
|
||||||
"detailed_name": "void user()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:10",
|
|
||||||
"definition_extent": "5:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@7:6-7:10"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_usage_call_method.cc@53@F@user#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo * f",
|
|
||||||
"definition_spelling": "6:8-6:9",
|
|
||||||
"definition_extent": "6:3-6:19",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:8-6:9", "7:3-7:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,56 +0,0 @@
|
|||||||
static int helper() {
|
|
||||||
return 5;
|
|
||||||
}
|
|
||||||
|
|
||||||
class Foo {
|
|
||||||
int x = helper();
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "5:7-5:10",
|
|
||||||
"definition_extent": "5:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:7-5:10"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:func_usage_class_inline_var_def.cc@F@helper#",
|
|
||||||
"short_name": "helper",
|
|
||||||
"detailed_name": "int helper()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "1:12-1:18",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["-1@6:11-6:17"],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo@FI@x",
|
|
||||||
"short_name": "x",
|
|
||||||
"detailed_name": "int Foo::x",
|
|
||||||
"definition_spelling": "6:7-6:8",
|
|
||||||
"definition_extent": "6:3-6:19",
|
|
||||||
"declaring_type": 0,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["6:7-6:8"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,46 +0,0 @@
|
|||||||
void foo();
|
|
||||||
|
|
||||||
void usage() {
|
|
||||||
foo();
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "1:6-1:9",
|
|
||||||
"extent": "1:1-1:11",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@4:3-4:6"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@usage#",
|
|
||||||
"short_name": "usage",
|
|
||||||
"detailed_name": "void usage()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:6-3:11",
|
|
||||||
"definition_extent": "3:1-5:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@4:3-4:6"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,74 +0,0 @@
|
|||||||
struct Foo {
|
|
||||||
void foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
void usage() {
|
|
||||||
Foo* f = nullptr;
|
|
||||||
f->foo();
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "1:8-1:11",
|
|
||||||
"definition_extent": "1:1-3:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [0],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:11", "6:3-6:6"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void Foo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:8-2:11",
|
|
||||||
"extent": "2:3-2:13",
|
|
||||||
"content": "void foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"declaring_type": 0,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@7:6-7:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@usage#",
|
|
||||||
"short_name": "usage",
|
|
||||||
"detailed_name": "void usage()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "5:6-5:11",
|
|
||||||
"definition_extent": "5:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@7:6-7:9"]
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_usage_forward_decl_method.cc@53@F@usage#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo * f",
|
|
||||||
"definition_spelling": "6:8-6:9",
|
|
||||||
"definition_extent": "6:3-6:19",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:8-6:9", "7:3-7:4"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,63 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
void accept(T);
|
|
||||||
|
|
||||||
void foo() {
|
|
||||||
accept(1);
|
|
||||||
accept(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:func_usage_template_func.cc@9",
|
|
||||||
"short_name": "T",
|
|
||||||
"detailed_name": "T",
|
|
||||||
"definition_spelling": "1:19-1:20",
|
|
||||||
"definition_extent": "1:10-1:20",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["2:13-2:14"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@FT@>1#Taccept#t0.0#v#",
|
|
||||||
"short_name": "accept",
|
|
||||||
"detailed_name": "void accept(T)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "2:6-2:12",
|
|
||||||
"extent": "2:1-2:15",
|
|
||||||
"content": "void accept(T)",
|
|
||||||
"param_spellings": ["2:14-2:14"]
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": ["1@5:3-5:9", "1@6:3-6:9"],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:6-4:9",
|
|
||||||
"definition_extent": "4:1-7:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": ["0@5:3-5:9", "0@6:3-6:9"]
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,94 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
class unique_ptr {};
|
|
||||||
|
|
||||||
struct S {};
|
|
||||||
|
|
||||||
static unique_ptr<bool> f0;
|
|
||||||
static unique_ptr<S> f1;
|
|
||||||
|
|
||||||
unique_ptr<S>* return_type() {
|
|
||||||
unique_ptr<S>* local;
|
|
||||||
return nullptr;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@unique_ptr",
|
|
||||||
"short_name": "unique_ptr",
|
|
||||||
"detailed_name": "unique_ptr",
|
|
||||||
"definition_spelling": "2:7-2:17",
|
|
||||||
"definition_extent": "2:1-2:20",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1, 2],
|
|
||||||
"uses": ["2:7-2:17", "6:8-6:18", "7:8-7:18", "9:1-9:11", "10:3-10:13"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@S",
|
|
||||||
"short_name": "S",
|
|
||||||
"detailed_name": "S",
|
|
||||||
"definition_spelling": "4:8-4:9",
|
|
||||||
"definition_extent": "4:1-4:12",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:9", "7:19-7:20", "9:12-9:13", "10:14-10:15"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@return_type#",
|
|
||||||
"short_name": "return_type",
|
|
||||||
"detailed_name": "unique_ptr<S> *return_type()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "9:16-9:27",
|
|
||||||
"definition_extent": "9:1-12:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_as_template_parameter.cc@f0",
|
|
||||||
"short_name": "f0",
|
|
||||||
"detailed_name": "unique_ptr<bool> f0",
|
|
||||||
"definition_spelling": "6:25-6:27",
|
|
||||||
"definition_extent": "6:1-6:27",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:25-6:27"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:type_usage_as_template_parameter.cc@f1",
|
|
||||||
"short_name": "f1",
|
|
||||||
"detailed_name": "unique_ptr<S> f1",
|
|
||||||
"definition_spelling": "7:22-7:24",
|
|
||||||
"definition_extent": "7:1-7:24",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["7:22-7:24"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:type_usage_as_template_parameter.cc@153@F@return_type#@local",
|
|
||||||
"short_name": "local",
|
|
||||||
"detailed_name": "unique_ptr<S> * local",
|
|
||||||
"definition_spelling": "10:18-10:23",
|
|
||||||
"definition_extent": "10:3-10:23",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["10:18-10:23"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,221 +0,0 @@
|
|||||||
template<typename T, typename B>
|
|
||||||
class unique_ptr;
|
|
||||||
|
|
||||||
struct S1;
|
|
||||||
struct S2;
|
|
||||||
|
|
||||||
#if false
|
|
||||||
VarDecl f
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
TypeRef struct S2
|
|
||||||
#endif
|
|
||||||
extern unique_ptr<unique_ptr<S1, S2>, S2> f;
|
|
||||||
|
|
||||||
#if false
|
|
||||||
FunctionDecl as_return_type
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
TypeRef struct S2
|
|
||||||
ParmDecl
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
CompoundStmt
|
|
||||||
ReturnStmt
|
|
||||||
UnexposedExpr
|
|
||||||
CXXNullPtrLiteralExpr
|
|
||||||
#endif
|
|
||||||
unique_ptr<unique_ptr<S1, S2>, S2>* as_return_type(unique_ptr<S1, S2>*) { return nullptr; }
|
|
||||||
|
|
||||||
#if false
|
|
||||||
FunctionDecl no_return_type
|
|
||||||
ParmDecl
|
|
||||||
CompoundStmt
|
|
||||||
#endif
|
|
||||||
void no_return_type(int) {}
|
|
||||||
|
|
||||||
#if false
|
|
||||||
FunctionDecl empty
|
|
||||||
CompoundStmt
|
|
||||||
DeclStmt
|
|
||||||
VarDecl local
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
TypeRef struct S2
|
|
||||||
#endif
|
|
||||||
void empty() {
|
|
||||||
unique_ptr<unique_ptr<S1, S2>, S2>* local;
|
|
||||||
}
|
|
||||||
|
|
||||||
#if false
|
|
||||||
ClassDecl Foo
|
|
||||||
CXXMethod foo
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
#endif
|
|
||||||
class Foo {
|
|
||||||
unique_ptr<S1, S2>* foo();
|
|
||||||
};
|
|
||||||
|
|
||||||
#if false
|
|
||||||
CXXMethod foo
|
|
||||||
TemplateRef unique_ptr
|
|
||||||
TypeRef struct S1
|
|
||||||
TypeRef struct S2
|
|
||||||
TypeRef class Foo
|
|
||||||
CompoundStmt
|
|
||||||
ReturnStmt
|
|
||||||
UnexposedExpr
|
|
||||||
CXXNullPtrLiteralExpr
|
|
||||||
#endif
|
|
||||||
unique_ptr<S1, S2>* Foo::foo() { return nullptr; }
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": ["7:1-14:7", "17:1-32:7", "35:1-39:7", "42:1-52:7", "57:1-63:7", "68:1-78:7"],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>2#T#T@unique_ptr",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1],
|
|
||||||
"uses": ["2:7-2:17", "15:8-15:18", "15:19-15:29", "33:1-33:11", "33:12-33:22", "33:52-33:62", "54:3-54:13", "54:14-54:24", "65:3-65:13", "79:1-79:11"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@S1",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:10", "15:30-15:32", "33:23-33:25", "33:63-33:65", "54:25-54:27", "65:14-65:16", "79:12-79:14"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@S@S2",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["5:8-5:10", "15:34-15:36", "15:39-15:41", "33:27-33:29", "33:32-33:34", "33:67-33:69", "54:29-54:31", "54:34-54:36", "65:18-65:20", "79:16-79:18"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "64:7-64:10",
|
|
||||||
"definition_extent": "64:1-66:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [3],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["64:7-64:10", "79:21-79:24"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@as_return_type#*$@S@unique_ptr>#$@S@S1#$@S@S2#",
|
|
||||||
"short_name": "as_return_type",
|
|
||||||
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> *as_return_type(unique_ptr<S1, S2> *)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "33:37-33:51",
|
|
||||||
"definition_extent": "33:1-33:92",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@no_return_type#I#",
|
|
||||||
"short_name": "no_return_type",
|
|
||||||
"detailed_name": "void no_return_type(int)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "40:6-40:20",
|
|
||||||
"definition_extent": "40:1-40:28",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@empty#",
|
|
||||||
"short_name": "empty",
|
|
||||||
"detailed_name": "void empty()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "53:6-53:11",
|
|
||||||
"definition_extent": "53:1-55:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "unique_ptr<S1, S2> *Foo::foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "65:23-65:26",
|
|
||||||
"extent": "65:3-65:28",
|
|
||||||
"content": "unique_ptr<S1, S2>* foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "79:26-79:29",
|
|
||||||
"definition_extent": "79:1-79:51",
|
|
||||||
"declaring_type": 3,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> f",
|
|
||||||
"declaration": "15:43-15:44",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["15:43-15:44"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:type_usage_as_template_parameter_complex.cc@1062@F@empty#@local",
|
|
||||||
"short_name": "local",
|
|
||||||
"detailed_name": "unique_ptr<unique_ptr<S1, S2>, S2> * local",
|
|
||||||
"definition_spelling": "54:39-54:44",
|
|
||||||
"definition_extent": "54:3-54:44",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["54:39-54:44"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,53 +0,0 @@
|
|||||||
template<typename T>
|
|
||||||
class unique_ptr {};
|
|
||||||
|
|
||||||
struct S;
|
|
||||||
|
|
||||||
static unique_ptr<S> foo;
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@ST>1#T@unique_ptr",
|
|
||||||
"short_name": "unique_ptr",
|
|
||||||
"detailed_name": "unique_ptr",
|
|
||||||
"definition_spelling": "2:7-2:17",
|
|
||||||
"definition_extent": "2:1-2:20",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["2:7-2:17", "6:8-6:18"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@S",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:9", "6:19-6:20"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_as_template_parameter_simple.cc@foo",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "unique_ptr<S> foo",
|
|
||||||
"definition_spelling": "6:22-6:25",
|
|
||||||
"definition_extent": "6:1-6:25",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["6:22-6:25"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,36 +0,0 @@
|
|||||||
struct T {};
|
|
||||||
|
|
||||||
extern T t;
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@T",
|
|
||||||
"short_name": "T",
|
|
||||||
"detailed_name": "T",
|
|
||||||
"definition_spelling": "1:8-1:9",
|
|
||||||
"definition_extent": "1:1-1:12",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:9", "3:8-3:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@t",
|
|
||||||
"short_name": "t",
|
|
||||||
"detailed_name": "T t",
|
|
||||||
"declaration": "3:10-3:11",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["3:10-3:11"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,80 +0,0 @@
|
|||||||
struct ForwardType;
|
|
||||||
struct ImplementedType {};
|
|
||||||
|
|
||||||
struct Foo {
|
|
||||||
ForwardType* a;
|
|
||||||
ImplementedType b;
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@ForwardType",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:19", "5:3-5:14"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@ImplementedType",
|
|
||||||
"short_name": "ImplementedType",
|
|
||||||
"detailed_name": "ImplementedType",
|
|
||||||
"definition_spelling": "2:8-2:23",
|
|
||||||
"definition_extent": "2:1-2:26",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": ["2:8-2:23", "6:3-6:18"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "4:8-4:11",
|
|
||||||
"definition_extent": "4:1-7:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [0, 1],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["4:8-4:11"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo@FI@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "ForwardType * Foo::a",
|
|
||||||
"definition_spelling": "5:16-5:17",
|
|
||||||
"definition_extent": "5:3-5:17",
|
|
||||||
"variable_type": 0,
|
|
||||||
"declaring_type": 2,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["5:16-5:17"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Foo@FI@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "ImplementedType Foo::b",
|
|
||||||
"definition_spelling": "6:19-6:20",
|
|
||||||
"definition_extent": "6:3-6:20",
|
|
||||||
"variable_type": 1,
|
|
||||||
"declaring_type": 2,
|
|
||||||
"cls": 4,
|
|
||||||
"uses": ["6:19-6:20"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,78 +0,0 @@
|
|||||||
struct ForwardType;
|
|
||||||
struct ImplementedType {};
|
|
||||||
|
|
||||||
void Foo() {
|
|
||||||
ForwardType* a;
|
|
||||||
ImplementedType b;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@ForwardType",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:19", "5:3-5:14"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@ImplementedType",
|
|
||||||
"short_name": "ImplementedType",
|
|
||||||
"detailed_name": "ImplementedType",
|
|
||||||
"definition_spelling": "2:8-2:23",
|
|
||||||
"definition_extent": "2:1-2:26",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": ["2:8-2:23", "6:3-6:18"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@Foo#",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "void Foo()",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:6-4:9",
|
|
||||||
"definition_extent": "4:1-7:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_declare_local.cc@67@F@Foo#@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "ForwardType * a",
|
|
||||||
"definition_spelling": "5:16-5:17",
|
|
||||||
"definition_extent": "5:3-5:17",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["5:16-5:17"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:type_usage_declare_local.cc@86@F@Foo#@b",
|
|
||||||
"short_name": "b",
|
|
||||||
"detailed_name": "ImplementedType b",
|
|
||||||
"definition_spelling": "6:19-6:20",
|
|
||||||
"definition_extent": "6:3-6:20",
|
|
||||||
"variable_type": 1,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:19-6:20"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,75 +0,0 @@
|
|||||||
struct ForwardType;
|
|
||||||
struct ImplementedType {};
|
|
||||||
|
|
||||||
void foo(ForwardType* f, ImplementedType a) {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@ForwardType",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:19", "4:10-4:21"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@ImplementedType",
|
|
||||||
"short_name": "ImplementedType",
|
|
||||||
"detailed_name": "ImplementedType",
|
|
||||||
"definition_spelling": "2:8-2:23",
|
|
||||||
"definition_extent": "2:1-2:26",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [1],
|
|
||||||
"uses": ["2:8-2:23", "4:26-4:41"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#*$@S@ForwardType#$@S@ImplementedType#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo(ForwardType *f, ImplementedType a)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "4:6-4:9",
|
|
||||||
"definition_extent": "4:1-4:47",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_declare_param.cc@60@F@foo#*$@S@ForwardType#$@S@ImplementedType#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "ForwardType * f",
|
|
||||||
"definition_spelling": "4:23-4:24",
|
|
||||||
"definition_extent": "4:10-4:24",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:23-4:24"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:type_usage_declare_param.cc@76@F@foo#*$@S@ForwardType#$@S@ImplementedType#@a",
|
|
||||||
"short_name": "a",
|
|
||||||
"detailed_name": "ImplementedType a",
|
|
||||||
"definition_spelling": "4:42-4:43",
|
|
||||||
"definition_extent": "4:26-4:43",
|
|
||||||
"variable_type": 1,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:42-4:43"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,61 +0,0 @@
|
|||||||
struct Foo;
|
|
||||||
|
|
||||||
void foo(Foo* f, Foo*);
|
|
||||||
void foo(Foo* f, Foo*) {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
// TODO: No interesting usage on prototype. But maybe that's ok!
|
|
||||||
// TODO: We should have the same variable declared for both prototype and
|
|
||||||
// declaration. So it should have a usage marker on both. Then we could
|
|
||||||
// rename parameters!
|
|
||||||
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:11", "3:10-3:13", "3:18-3:21", "4:10-4:13", "4:18-4:21"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#*$@S@Foo#S0_#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo(Foo *f, Foo *)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:6-3:9",
|
|
||||||
"extent": "3:1-3:23",
|
|
||||||
"content": "void foo(Foo* f, Foo*)",
|
|
||||||
"param_spellings": ["3:15-3:16", "3:22-3:22"]
|
|
||||||
}],
|
|
||||||
"definition_spelling": "4:6-4:9",
|
|
||||||
"definition_extent": "4:1-4:26",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_declare_param_prototype.cc@49@F@foo#*$@S@Foo#S0_#@f",
|
|
||||||
"short_name": "f",
|
|
||||||
"detailed_name": "Foo * f",
|
|
||||||
"definition_spelling": "4:15-4:16",
|
|
||||||
"definition_extent": "4:10-4:16",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:15-4:16"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,38 +0,0 @@
|
|||||||
struct ForwardType;
|
|
||||||
void foo(ForwardType*) {}
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@ForwardType",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:19", "2:10-2:21"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#*$@S@ForwardType#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo(ForwardType *)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "2:6-2:9",
|
|
||||||
"definition_extent": "2:1-2:26",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,106 +0,0 @@
|
|||||||
struct Type {};
|
|
||||||
|
|
||||||
void foo(Type& a0, const Type& a1) {
|
|
||||||
Type a2;
|
|
||||||
Type* a3;
|
|
||||||
const Type* a4;
|
|
||||||
const Type* const a5 = nullptr;
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Type",
|
|
||||||
"short_name": "Type",
|
|
||||||
"detailed_name": "Type",
|
|
||||||
"definition_spelling": "1:8-1:12",
|
|
||||||
"definition_extent": "1:1-1:15",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0, 1, 2, 3, 4, 5],
|
|
||||||
"uses": ["1:8-1:12", "3:10-3:14", "3:26-3:30", "4:3-4:7", "5:3-5:7", "6:9-6:13", "7:9-7:13"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#&$@S@Type#&1S1_#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "void foo(Type &a0, const Type &a1)",
|
|
||||||
"declarations": [],
|
|
||||||
"definition_spelling": "3:6-3:9",
|
|
||||||
"definition_extent": "3:1-8:2",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@28@F@foo#&$@S@Type#&1S1_#@a0",
|
|
||||||
"short_name": "a0",
|
|
||||||
"detailed_name": "Type & a0",
|
|
||||||
"definition_spelling": "3:16-3:18",
|
|
||||||
"definition_extent": "3:10-3:18",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["3:16-3:18"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@38@F@foo#&$@S@Type#&1S1_#@a1",
|
|
||||||
"short_name": "a1",
|
|
||||||
"detailed_name": "const Type & a1",
|
|
||||||
"definition_spelling": "3:32-3:34",
|
|
||||||
"definition_extent": "3:20-3:34",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["3:32-3:34"]
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@59@F@foo#&$@S@Type#&1S1_#@a2",
|
|
||||||
"short_name": "a2",
|
|
||||||
"detailed_name": "Type a2",
|
|
||||||
"definition_spelling": "4:8-4:10",
|
|
||||||
"definition_extent": "4:3-4:10",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["4:8-4:10"]
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@71@F@foo#&$@S@Type#&1S1_#@a3",
|
|
||||||
"short_name": "a3",
|
|
||||||
"detailed_name": "Type * a3",
|
|
||||||
"definition_spelling": "5:9-5:11",
|
|
||||||
"definition_extent": "5:3-5:11",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["5:9-5:11"]
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@84@F@foo#&$@S@Type#&1S1_#@a4",
|
|
||||||
"short_name": "a4",
|
|
||||||
"detailed_name": "const Type * a4",
|
|
||||||
"definition_spelling": "6:15-6:17",
|
|
||||||
"definition_extent": "6:3-6:17",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["6:15-6:17"]
|
|
||||||
}, {
|
|
||||||
"id": 5,
|
|
||||||
"usr": "c:type_usage_declare_qualifiers.cc@103@F@foo#&$@S@Type#&1S1_#@a5",
|
|
||||||
"short_name": "a5",
|
|
||||||
"detailed_name": "const Type *const a5",
|
|
||||||
"definition_spelling": "7:21-7:23",
|
|
||||||
"definition_extent": "7:3-7:33",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 1,
|
|
||||||
"uses": ["7:21-7:23"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,36 +0,0 @@
|
|||||||
struct Type {};
|
|
||||||
static Type t;
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Type",
|
|
||||||
"short_name": "Type",
|
|
||||||
"detailed_name": "Type",
|
|
||||||
"definition_spelling": "1:8-1:12",
|
|
||||||
"definition_extent": "1:1-1:15",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [0],
|
|
||||||
"uses": ["1:8-1:12", "2:8-2:12"]
|
|
||||||
}],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:type_usage_declare_static.cc@t",
|
|
||||||
"short_name": "t",
|
|
||||||
"detailed_name": "Type t",
|
|
||||||
"definition_spelling": "2:13-2:14",
|
|
||||||
"definition_extent": "2:1-2:14",
|
|
||||||
"variable_type": 0,
|
|
||||||
"cls": 3,
|
|
||||||
"uses": ["2:13-2:14"]
|
|
||||||
}]
|
|
||||||
}
|
|
||||||
*/
|
|
@ -1,155 +0,0 @@
|
|||||||
struct Type;
|
|
||||||
|
|
||||||
Type* foo();
|
|
||||||
Type* foo();
|
|
||||||
Type* foo() {}
|
|
||||||
|
|
||||||
class Foo {
|
|
||||||
Type* Get(int);
|
|
||||||
void Empty();
|
|
||||||
};
|
|
||||||
|
|
||||||
Type* Foo::Get(int) {}
|
|
||||||
void Foo::Empty() {}
|
|
||||||
|
|
||||||
extern const Type& external();
|
|
||||||
|
|
||||||
static Type* bar();
|
|
||||||
static Type* bar() {}
|
|
||||||
|
|
||||||
/*
|
|
||||||
OUTPUT:
|
|
||||||
{
|
|
||||||
"includes": [],
|
|
||||||
"skipped_by_preprocessor": [],
|
|
||||||
"types": [{
|
|
||||||
"id": 0,
|
|
||||||
"usr": "c:@S@Type",
|
|
||||||
"short_name": "",
|
|
||||||
"detailed_name": "",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["1:8-1:12", "3:1-3:5", "4:1-4:5", "5:1-5:5", "8:3-8:7", "12:1-12:5", "15:14-15:18", "17:8-17:12", "18:8-18:12"]
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"usr": "c:@S@Foo",
|
|
||||||
"short_name": "Foo",
|
|
||||||
"detailed_name": "Foo",
|
|
||||||
"definition_spelling": "7:7-7:10",
|
|
||||||
"definition_extent": "7:1-10:2",
|
|
||||||
"parents": [],
|
|
||||||
"derived": [],
|
|
||||||
"types": [],
|
|
||||||
"funcs": [1, 2],
|
|
||||||
"vars": [],
|
|
||||||
"instances": [],
|
|
||||||
"uses": ["7:7-7:10", "12:7-12:10", "13:6-13:9"]
|
|
||||||
}],
|
|
||||||
"funcs": [{
|
|
||||||
"id": 0,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@foo#",
|
|
||||||
"short_name": "foo",
|
|
||||||
"detailed_name": "Type *foo()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "3:7-3:10",
|
|
||||||
"extent": "3:1-3:12",
|
|
||||||
"content": "Type* foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}, {
|
|
||||||
"spelling": "4:7-4:10",
|
|
||||||
"extent": "4:1-4:12",
|
|
||||||
"content": "Type* foo()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "5:7-5:10",
|
|
||||||
"definition_extent": "5:1-5:15",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 1,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Get#I#",
|
|
||||||
"short_name": "Get",
|
|
||||||
"detailed_name": "Type *Foo::Get(int)",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "8:9-8:12",
|
|
||||||
"extent": "8:3-8:17",
|
|
||||||
"content": "Type* Get(int)",
|
|
||||||
"param_spellings": ["8:16-8:16"]
|
|
||||||
}],
|
|
||||||
"definition_spelling": "12:12-12:15",
|
|
||||||
"definition_extent": "12:1-12:23",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 2,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@S@Foo@F@Empty#",
|
|
||||||
"short_name": "Empty",
|
|
||||||
"detailed_name": "void Foo::Empty()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "9:8-9:13",
|
|
||||||
"extent": "9:3-9:15",
|
|
||||||
"content": "void Empty()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "13:11-13:16",
|
|
||||||
"definition_extent": "13:1-13:21",
|
|
||||||
"declaring_type": 1,
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 3,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:@F@external#",
|
|
||||||
"short_name": "external",
|
|
||||||
"detailed_name": "const Type &external()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "15:20-15:28",
|
|
||||||
"extent": "15:1-15:30",
|
|
||||||
"content": "extern const Type& external()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}, {
|
|
||||||
"id": 4,
|
|
||||||
"is_operator": false,
|
|
||||||
"usr": "c:type_usage_on_return_type.cc@F@bar#",
|
|
||||||
"short_name": "bar",
|
|
||||||
"detailed_name": "Type *bar()",
|
|
||||||
"declarations": [{
|
|
||||||
"spelling": "17:14-17:17",
|
|
||||||
"extent": "17:1-17:19",
|
|
||||||
"content": "static Type* bar()",
|
|
||||||
"param_spellings": []
|
|
||||||
}],
|
|
||||||
"definition_spelling": "18:14-18:17",
|
|
||||||
"definition_extent": "18:1-18:22",
|
|
||||||
"base": [],
|
|
||||||
"derived": [],
|
|
||||||
"locals": [],
|
|
||||||
"callers": [],
|
|
||||||
"callees": []
|
|
||||||
}],
|
|
||||||
"vars": []
|
|
||||||
}
|
|
||||||
*/
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user