new file encoding scheme

This commit is contained in:
Jacob Dufault 2017-02-20 16:25:00 -08:00
parent ab7138bd91
commit 7c70d7fafd
72 changed files with 839 additions and 579 deletions

184
bitfield.h Normal file
View File

@ -0,0 +1,184 @@
//---------------------------------------------------------
// For conditions of distribution and use, see
// https://github.com/preshing/cpp11-on-multicore/blob/master/LICENSE
//---------------------------------------------------------
#ifndef __CPP11OM_BITFIELD_H__
#define __CPP11OM_BITFIELD_H__
#include <cassert>
//---------------------------------------------------------
// BitFieldMember<>: Used internally by ADD_BITFIELD_MEMBER macro.
// All members are public to simplify compliance with sections 9.0.7 and
// 9.5.1 of the C++11 standard, thereby avoiding undefined behavior.
//---------------------------------------------------------
template <typename T, int Offset, int Bits>
struct BitFieldMember
{
T value;
static_assert(Offset + Bits <= (int) sizeof(T) * 8, "Member exceeds bitfield boundaries");
static_assert(Bits < (int) sizeof(T) * 8, "Can't fill entire bitfield with one member");
static const T Maximum = (T(1) << Bits) - 1;
static const T Mask = Maximum << Offset;
T maximum() const { return Maximum; }
T one() const { return T(1) << Offset; }
operator T() const
{
return (value >> Offset) & Maximum;
}
BitFieldMember& operator=(T v)
{
assert(v <= Maximum); // v must fit inside the bitfield member
value = (value & ~Mask) | (v << Offset);
return *this;
}
BitFieldMember& operator+=(T v)
{
assert(T(*this) + v <= Maximum); // result must fit inside the bitfield member
value += v << Offset;
return *this;
}
BitFieldMember& operator-=(T v)
{
assert(T(*this) >= v); // result must not underflow
value -= v << Offset;
return *this;
}
BitFieldMember& operator++() { return *this += 1; }
BitFieldMember operator++(int) // postfix form
{
BitFieldMember tmp(*this);
operator++();
return tmp;
}
BitFieldMember& operator--() { return *this -= 1; }
BitFieldMember operator--(int) // postfix form
{
BitFieldMember tmp(*this);
operator--();
return tmp;
}
};
//---------------------------------------------------------
// BitFieldArray<>: Used internally by ADD_BITFIELD_ARRAY macro.
// All members are public to simplify compliance with sections 9.0.7 and
// 9.5.1 of the C++11 standard, thereby avoiding undefined behavior.
//---------------------------------------------------------
template <typename T, int BaseOffset, int BitsPerItem, int NumItems>
struct BitFieldArray
{
T value;
static_assert(BaseOffset + BitsPerItem * NumItems <= (int) sizeof(T) * 8, "Array exceeds bitfield boundaries");
static_assert(BitsPerItem < (int) sizeof(T) * 8, "Can't fill entire bitfield with one array element");
static const T Maximum = (T(1) << BitsPerItem) - 1;
T maximum() const { return Maximum; }
int numItems() const { return NumItems; }
class Element
{
private:
T& value;
int offset;
public:
Element(T& value, int offset) : value(value), offset(offset) {}
T mask() const { return Maximum << offset; }
operator T() const
{
return (value >> offset) & Maximum;
}
Element& operator=(T v)
{
assert(v <= Maximum); // v must fit inside the bitfield member
value = (value & ~mask()) | (v << offset);
return *this;
}
Element& operator+=(T v)
{
assert(T(*this) + v <= Maximum); // result must fit inside the bitfield member
value += v << offset;
return *this;
}
Element& operator-=(T v)
{
assert(T(*this) >= v); // result must not underflow
value -= v << offset;
return *this;
}
Element& operator++() { return *this += 1; }
Element operator++(int) // postfix form
{
Element tmp(*this);
operator++();
return tmp;
}
Element& operator--() { return *this -= 1; }
Element operator--(int) // postfix form
{
Element tmp(*this);
operator--();
return tmp;
}
};
Element operator[](int i)
{
assert(i >= 0 && i < NumItems); // array index must be in range
return Element(value, BaseOffset + BitsPerItem * i);
}
const Element operator[](int i) const
{
assert(i >= 0 && i < NumItems); // array index must be in range
return Element(value, BaseOffset + BitsPerItem * i);
}
};
//---------------------------------------------------------
// Bitfield definition macros.
// For usage examples, see RWLock and LockReducedDiningPhilosophers.
// All members are public to simplify compliance with sections 9.0.7 and
// 9.5.1 of the C++11 standard, thereby avoiding undefined behavior.
//---------------------------------------------------------
#define BEGIN_BITFIELD_TYPE(typeName, T) \
union typeName \
{ \
struct Wrapper { T value; }; \
Wrapper wrapper; \
typeName(T v = 0) { wrapper.value = v; } \
typeName& operator=(T v) { wrapper.value = v; return *this; } \
operator T&() { return wrapper.value; } \
operator T() const { return wrapper.value; } \
typedef T StorageType;
#define ADD_BITFIELD_MEMBER(memberName, offset, bits) \
BitFieldMember<StorageType, offset, bits> memberName;
#define ADD_BITFIELD_ARRAY(memberName, offset, bits, numItems) \
BitFieldArray<StorageType, offset, bits, numItems> memberName;
#define END_BITFIELD_TYPE() \
};
#endif // __CPP11OM_BITFIELD_H__

179
main.cpp
View File

@ -9,6 +9,7 @@
#include "libclangmm/clangmm.h"
#include "libclangmm/Utility.h"
#include "bitfield.h"
#include "utils.h"
#include <rapidjson/writer.h>
@ -36,6 +37,99 @@ struct Id {
};
*/
// TODO: Insert interesting usage for derived types. Maybe we should change out
// interesting usage approach for types, and instead find a list of "uninteresting" usages.
// Rather, what I think we should do is this
using FileId = int64_t;
BEGIN_BITFIELD_TYPE(Location, uint64_t)
Location(FileId file_id, uint32_t line, uint32_t column) {
interesting = true;
this->file_id = file_id;
this->line = line;
this->column = column;
}
std::string ToString() {
// Output looks like this:
//
// *1:2:3
//
// * => interesting
// 1 => file id
// 2 => line
// 3 => column
std::string result;
if (interesting)
result += '*';
result += std::to_string(file_id);
result += ':';
result += std::to_string(line);
result += ':';
result += std::to_string(column);
return result;
}
ADD_BITFIELD_MEMBER(interesting, /*start:*/ 0, /*len:*/ 1); // 2 values
ADD_BITFIELD_MEMBER(file_id, /*start:*/ 1, /*len:*/ 29); // 536,870,912 values
ADD_BITFIELD_MEMBER(line, /*start:*/ 30, /*len:*/ 20); // 1,048,576 values
ADD_BITFIELD_MEMBER(column, /*start:*/ 50, /*len:*/ 14); // 16,384 values
END_BITFIELD_TYPE()
struct FileDb {
std::unordered_map<std::string, FileId> file_path_to_file_id;
std::unordered_map<FileId, std::string> file_id_to_file_path;
FileDb() {
// Reserve id 0 for unfound.
file_path_to_file_id[""] = 0;
file_id_to_file_path[0] = "";
}
Location Resolve(const CXSourceLocation& cx_loc) {
CXFile file;
unsigned int line, column, offset;
clang_getSpellingLocation(cx_loc, &file, &line, &column, &offset);
FileId file_id;
if (file != nullptr) {
std::string path = clang::ToString(clang_getFileName(file));
auto it = file_path_to_file_id.find(path);
if (it != file_path_to_file_id.end()) {
file_id = it->second;
}
else {
file_id = file_path_to_file_id.size();
file_path_to_file_id[path] = file_id;
file_id_to_file_path[file_id] = path;
}
}
return Location(file_id, line, column);
}
Location Resolve(const CXIdxLoc& cx_idx_loc) {
CXSourceLocation cx_loc = clang_indexLoc_getCXSourceLocation(cx_idx_loc);
return Resolve(cx_loc);
}
Location Resolve(const CXCursor& cx_cursor) {
return Resolve(clang_getCursorLocation(cx_cursor));
}
Location Resolve(const clang::Cursor& cursor) {
return Resolve(cursor.cx_cursor);
}
};
template<typename T>
struct LocalId {
uint64_t local_id;
@ -51,9 +145,9 @@ using VarId = LocalId<VarDef>;
template<typename T>
struct Ref {
LocalId<T> id;
clang::SourceLocation loc;
Location loc;
Ref(LocalId<T> id, clang::SourceLocation loc) : id(id), loc(loc) {}
Ref(LocalId<T> id, Location loc) : id(id), loc(loc) {}
};
using TypeRef = Ref<TypeDef>;
using FuncRef = Ref<FuncDef>;
@ -78,7 +172,7 @@ struct TypeDef {
// It's also difficult to identify a `class Foo;` statement with the clang
// indexer API (it's doable using cursor AST traversal), so we don't bother
// supporting the feature.
std::optional<clang::SourceLocation> definition;
std::optional<Location> definition;
// If set, then this is the same underlying type as the given value (ie, this
// type comes from a using or typedef statement).
@ -94,9 +188,9 @@ struct TypeDef {
std::vector<VarId> vars;
// Every usage, useful for things like renames.
std::vector<clang::SourceLocation> all_uses;
std::vector<Location> all_uses;
// Usages that a user is probably interested in.
std::vector<clang::SourceLocation> interesting_uses;
std::vector<Location> interesting_uses;
TypeDef(TypeId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0);
@ -110,8 +204,8 @@ struct FuncDef {
std::string usr;
std::string short_name;
std::string qualified_name;
std::optional<clang::SourceLocation> declaration;
std::optional<clang::SourceLocation> definition;
std::optional<Location> declaration;
std::optional<Location> definition;
// Type which declares this one (ie, it is a method)
std::optional<TypeId> declaring_type;
@ -134,7 +228,7 @@ struct FuncDef {
std::vector<FuncRef> callees;
// All usages. For interesting usages, see callees.
std::vector<clang::SourceLocation> all_uses;
std::vector<Location> all_uses;
FuncDef(FuncId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0);
@ -147,10 +241,10 @@ struct VarDef {
std::string usr;
std::string short_name;
std::string qualified_name;
std::optional<clang::SourceLocation> declaration;
std::optional<Location> declaration;
// TODO: definitions should be a list of locations, since there can be more
// than one.
std::optional<clang::SourceLocation> definition;
std::optional<Location> definition;
// Type of the variable.
std::optional<TypeId> variable_type;
@ -159,7 +253,7 @@ struct VarDef {
std::optional<TypeId> declaring_type;
// Usages.
std::vector<clang::SourceLocation> all_uses;
std::vector<Location> all_uses;
VarDef(VarId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0);
@ -178,6 +272,8 @@ struct ParsingDatabase {
std::vector<FuncDef> funcs;
std::vector<VarDef> vars;
FileDb file_db;
ParsingDatabase();
TypeId ToTypeId(const std::string& usr);
@ -254,13 +350,13 @@ VarDef* ParsingDatabase::Resolve(VarId id) {
using Writer = rapidjson::PrettyWriter<rapidjson::StringBuffer>;
void Write(Writer& writer, const char* key, clang::SourceLocation location) {
void Write(Writer& writer, const char* key, Location location) {
if (key) writer.Key(key);
std::string s = location.ToString();
writer.String(s.c_str());
}
void Write(Writer& writer, const char* key, std::optional<clang::SourceLocation> location) {
void Write(Writer& writer, const char* key, std::optional<Location> location) {
if (location) {
Write(writer, key, location.value());
}
@ -270,13 +366,13 @@ void Write(Writer& writer, const char* key, std::optional<clang::SourceLocation>
//}
}
void Write(Writer& writer, const char* key, const std::vector<clang::SourceLocation>& locs) {
void Write(Writer& writer, const char* key, const std::vector<Location>& locs) {
if (locs.size() == 0)
return;
if (key) writer.Key(key);
writer.StartArray();
for (const clang::SourceLocation& loc : locs)
for (const Location& loc : locs)
Write(writer, nullptr, loc);
writer.EndArray();
}
@ -645,8 +741,8 @@ struct IndexParam {
// Record the last type usage location we recorded. Clang will sometimes
// visit the same expression twice so we wan't to avoid double-reporting
// usage information for those locations.
clang::SourceLocation last_type_usage_location;
clang::SourceLocation last_func_usage_location;
Location last_type_usage_location;
Location last_func_usage_location;
IndexParam(ParsingDatabase* db, NamespaceHelper* ns) : db(db), ns(ns) {}
};
@ -660,7 +756,7 @@ std::string GetNamespacePrefx(const CXIdxDeclInfo* decl) {
}
*/
bool HasUsage(const std::vector<clang::SourceLocation>& usages, const clang::SourceLocation& usage) {
bool HasUsage(const std::vector<Location>& usages, const Location& usage) {
for (int i = usages.size() - 1; i >= 0; --i) {
if (usages[i] == usage)
return true;
@ -705,7 +801,7 @@ void VisitDeclForTypeUsageVisitorHandler(clang::Cursor cursor, VisitDeclForTypeU
if (param->is_interesting) {
TypeDef* ref_type_def = db->Resolve(ref_type_id);
ref_type_def->interesting_uses.push_back(cursor.get_source_location());
ref_type_def->interesting_uses.push_back(db->file_db.Resolve(cursor));
}
}
@ -822,12 +918,13 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
var_def->qualified_name = ns->QualifiedName(decl->semanticContainer, var_def->short_name);
//}
Location decl_loc = db->file_db.Resolve(decl->loc);
if (decl->isDefinition)
var_def->definition = decl->loc;
var_def->definition = decl_loc;
else
var_def->declaration = decl->loc;
var_def->declaration = decl_loc;
var_def->all_uses.push_back(decl->loc);
var_def->all_uses.push_back(decl_loc);
std::optional<TypeId> var_type = ResolveDeclToType(db, decl_cursor, decl_cursor.get_kind() != CXCursor_ParmDecl /*is_interesting*/, decl->semanticContainer, decl->lexicalContainer);
@ -853,11 +950,11 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
var_def->declaring_type = declaring_type_id;
declaring_type_def->vars.push_back(var_id);
}
// std::optional<clang::SourceLocation> declaration;
// std::vector<clang::SourceLocation> initializations;
// std::optional<Location> declaration;
// std::vector<Location> initializations;
// std::optional<TypeId> variable_type;
// std::optional<TypeId> declaring_type;
// std::vector<clang::SourceLocation> uses;
// std::vector<Location> uses;
break;
}
@ -878,12 +975,13 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
func_def->qualified_name = ns->QualifiedName(decl->semanticContainer, func_def->short_name);
//}
Location decl_loc = db->file_db.Resolve(decl->loc);
if (decl->isDefinition)
func_def->definition = decl->loc;
func_def->definition = decl_loc;
else
func_def->declaration = decl->loc;
func_def->declaration = decl_loc;
func_def->all_uses.push_back(decl->loc);
func_def->all_uses.push_back(decl_loc);
bool is_pure_virtual = clang_CXXMethod_isPureVirtual(decl->cursor);
@ -960,7 +1058,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
std::vector<VarId> locals;
std::vector<FuncRef> callers;
std::vector<FuncRef> callees;
std::vector<clang::SourceLocation> uses;
std::vector<Location> uses;
*/
break;
}
@ -979,8 +1077,9 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
type_def->short_name = decl->entityInfo->name;
type_def->qualified_name = ns->QualifiedName(decl->semanticContainer, type_def->short_name);
type_def->definition = decl->loc;
type_def->all_uses.push_back(decl->loc);
Location decl_loc = db->file_db.Resolve(decl->loc);
type_def->definition = decl_loc;
type_def->all_uses.push_back(decl_loc);
break;
}
@ -1000,9 +1099,9 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
// }
assert(decl->isDefinition);
type_def->definition = decl->loc;
type_def->all_uses.push_back(decl->loc);
Location decl_loc = db->file_db.Resolve(decl->loc);
type_def->definition = decl_loc;
type_def->all_uses.push_back(decl_loc);
//type_def->alias_of
//type_def->funcs
@ -1027,7 +1126,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
}
default:
std::cout << "!! Unhandled indexDeclaration: " << clang::Cursor(decl->cursor).ToString() << " at " << clang::SourceLocation(decl->loc).ToString() << std::endl;
std::cout << "!! Unhandled indexDeclaration: " << clang::Cursor(decl->cursor).ToString() << " at " << db->file_db.Resolve(decl->loc).ToString() << std::endl;
std::cout << " entityInfo->kind = " << decl->entityInfo->kind << std::endl;
std::cout << " entityInfo->USR = " << decl->entityInfo->USR << std::endl;
if (decl->declAsContainer)
@ -1064,7 +1163,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
{
VarId var_id = db->ToVarId(ref->referencedEntity->cursor);
VarDef* var_def = db->Resolve(var_id);
var_def->all_uses.push_back(ref->loc);
var_def->all_uses.push_back(db->file_db.Resolve(ref->loc));
break;
}
@ -1081,7 +1180,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
// Don't report duplicate usages.
// TODO: search full history?
clang::SourceLocation loc = ref->loc;
Location loc = db->file_db.Resolve(ref->loc);
if (param->last_func_usage_location == loc) break;
param->last_func_usage_location = loc;
@ -1126,7 +1225,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
// Foo f;
// }
//
clang::SourceLocation loc = ref->loc;
Location loc = db->file_db.Resolve(ref->loc);
if (!HasUsage(referenced_def->all_uses, loc))
referenced_def->all_uses.push_back(loc);
@ -1134,11 +1233,11 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
}
default:
std::cout << "!! Unhandled indexEntityReference: " << cursor.ToString() << " at " << clang::SourceLocation(ref->loc).ToString() << std::endl;
std::cout << "!! Unhandled indexEntityReference: " << cursor.ToString() << " at " << db->file_db.Resolve(ref->loc).ToString() << std::endl;
std::cout << " ref->referencedEntity->kind = " << ref->referencedEntity->kind << std::endl;
if (ref->parentEntity)
std::cout << " ref->parentEntity->kind = " << ref->parentEntity->kind << std::endl;
std::cout << " ref->loc = " << clang::SourceLocation(ref->loc).ToString() << std::endl;
std::cout << " ref->loc = " << db->file_db.Resolve(ref->loc).ToString() << std::endl;
std::cout << " ref->kind = " << ref->kind << std::endl;
if (ref->parentEntity)
std::cout << " parentEntity = " << clang::Cursor(ref->parentEntity->cursor).ToString() << std::endl;

View File

@ -11,8 +11,8 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/class_forward_declaration.cc:3:7",
"all_uses": ["tests/class_forward_declaration.cc:1:7", "tests/class_forward_declaration.cc:2:7", "tests/class_forward_declaration.cc:3:7", "tests/class_forward_declaration.cc:4:7"]
"definition": "*1:3:7",
"all_uses": ["*1:1:7", "*1:2:7", "*1:3:7", "*1:4:7"]
}],
"functions": [],
"variables": []

View File

@ -17,45 +17,45 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/constructors/constructor.cc:1:7",
"definition": "*1:1:7",
"funcs": [0],
"all_uses": ["tests/constructors/constructor.cc:1:7", "tests/constructors/constructor.cc:7:3", "tests/constructors/constructor.cc:8:3", "tests/constructors/constructor.cc:8:17"],
"interesting_uses": ["tests/constructors/constructor.cc:7:3", "tests/constructors/constructor.cc:8:3"]
"all_uses": ["*1:1:7", "*1:7:3", "*1:8:3", "*1:8:17"],
"interesting_uses": ["*1:7:3", "*1:8:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@Foo#",
"short_name": "Foo",
"qualified_name": "Foo::Foo",
"definition": "tests/constructors/constructor.cc:3:3",
"definition": "*1:3:3",
"declaring_type": 0,
"callers": ["1@tests/constructors/constructor.cc:7:7", "1@tests/constructors/constructor.cc:8:17"],
"all_uses": ["tests/constructors/constructor.cc:3:3", "tests/constructors/constructor.cc:7:7", "tests/constructors/constructor.cc:8:17"]
"callers": ["1@*1:7:7", "1@*1:8:17"],
"all_uses": ["*1:3:3", "*1:7:7", "*1:8:17"]
}, {
"id": 1,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/constructors/constructor.cc:6:6",
"callees": ["0@tests/constructors/constructor.cc:7:7", "0@tests/constructors/constructor.cc:8:17"],
"all_uses": ["tests/constructors/constructor.cc:6:6"]
"definition": "*1:6:6",
"callees": ["0@*1:7:7", "0@*1:8:17"],
"all_uses": ["*1:6:6"]
}],
"variables": [{
"id": 0,
"usr": "c:constructor.cc@56@F@foo#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/constructors/constructor.cc:7:7",
"definition": "*1:7:7",
"variable_type": 0,
"all_uses": ["tests/constructors/constructor.cc:7:7"]
"all_uses": ["*1:7:7"]
}, {
"id": 1,
"usr": "c:constructor.cc@66@F@foo#@f2",
"short_name": "f2",
"qualified_name": "f2",
"definition": "tests/constructors/constructor.cc:8:8",
"definition": "*1:8:8",
"variable_type": 0,
"all_uses": ["tests/constructors/constructor.cc:8:8"]
"all_uses": ["*1:8:8"]
}]
}
*/

View File

@ -21,45 +21,45 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/constructors/destructor.cc:1:7",
"definition": "*1:1:7",
"funcs": [0, 1],
"all_uses": ["tests/constructors/destructor.cc:1:7", "tests/constructors/destructor.cc:8:3"],
"interesting_uses": ["tests/constructors/destructor.cc:8:3"]
"all_uses": ["*1:1:7", "*1:8:3"],
"interesting_uses": ["*1:8:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@Foo#",
"short_name": "Foo",
"qualified_name": "Foo::Foo",
"definition": "tests/constructors/destructor.cc:3:3",
"definition": "*1:3:3",
"declaring_type": 0,
"callers": ["2@tests/constructors/destructor.cc:8:7"],
"all_uses": ["tests/constructors/destructor.cc:3:3", "tests/constructors/destructor.cc:8:7"]
"callers": ["2@*1:8:7"],
"all_uses": ["*1:3:3", "*1:8:7"]
}, {
"id": 1,
"usr": "c:@S@Foo@F@~Foo#",
"short_name": "~Foo",
"qualified_name": "Foo::~Foo",
"definition": "tests/constructors/destructor.cc:4:3",
"definition": "*1:4:3",
"declaring_type": 0,
"all_uses": ["tests/constructors/destructor.cc:4:3"]
"all_uses": ["*1:4:3"]
}, {
"id": 2,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/constructors/destructor.cc:7:6",
"callees": ["0@tests/constructors/destructor.cc:8:7"],
"all_uses": ["tests/constructors/destructor.cc:7:6"]
"definition": "*1:7:6",
"callees": ["0@*1:8:7"],
"all_uses": ["*1:7:6"]
}],
"variables": [{
"id": 0,
"usr": "c:destructor.cc@70@F@foo#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/constructors/destructor.cc:8:7",
"definition": "*1:8:7",
"variable_type": 0,
"all_uses": ["tests/constructors/destructor.cc:8:7"]
"all_uses": ["*1:8:7"]
}]
}
*/

View File

@ -13,8 +13,8 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class.cc:3:7",
"all_uses": ["tests/declaration_vs_definition/class.cc:1:7", "tests/declaration_vs_definition/class.cc:2:7", "tests/declaration_vs_definition/class.cc:3:7", "tests/declaration_vs_definition/class.cc:4:7"]
"definition": "*1:3:7",
"all_uses": ["*1:1:7", "*1:2:7", "*1:3:7", "*1:4:7"]
}],
"functions": [],
"variables": []

View File

@ -10,9 +10,9 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class_member.cc:1:7",
"definition": "*1:1:7",
"vars": [0],
"all_uses": ["tests/declaration_vs_definition/class_member.cc:1:7"]
"all_uses": ["*1:1:7"]
}],
"functions": [],
"variables": [{
@ -20,9 +20,9 @@ OUTPUT:
"usr": "c:@S@Foo@FI@foo",
"short_name": "foo",
"qualified_name": "Foo::foo",
"definition": "tests/declaration_vs_definition/class_member.cc:2:7",
"definition": "*1:2:7",
"declaring_type": 0,
"all_uses": ["tests/declaration_vs_definition/class_member.cc:2:7"]
"all_uses": ["*1:2:7"]
}]
}
*/

View File

@ -12,9 +12,9 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class_member_static.cc:1:7",
"definition": "*1:1:7",
"vars": [0],
"all_uses": ["tests/declaration_vs_definition/class_member_static.cc:1:7", "tests/declaration_vs_definition/class_member_static.cc:5:5"]
"all_uses": ["*1:1:7", "*1:5:5"]
}],
"functions": [],
"variables": [{
@ -22,10 +22,10 @@ OUTPUT:
"usr": "c:@S@Foo@foo",
"short_name": "foo",
"qualified_name": "Foo::foo",
"declaration": "tests/declaration_vs_definition/class_member_static.cc:2:14",
"definition": "tests/declaration_vs_definition/class_member_static.cc:5:10",
"declaration": "*1:2:14",
"definition": "*1:5:10",
"declaring_type": 0,
"all_uses": ["tests/declaration_vs_definition/class_member_static.cc:2:14", "tests/declaration_vs_definition/class_member_static.cc:5:10"]
"all_uses": ["*1:2:14", "*1:5:10"]
}]
}
*/

View File

@ -13,9 +13,9 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/declaration_vs_definition/func.cc:4:6",
"definition": "tests/declaration_vs_definition/func.cc:3:6",
"all_uses": ["tests/declaration_vs_definition/func.cc:1:6", "tests/declaration_vs_definition/func.cc:2:6", "tests/declaration_vs_definition/func.cc:3:6", "tests/declaration_vs_definition/func.cc:4:6"]
"declaration": "*1:4:6",
"definition": "*1:3:6",
"all_uses": ["*1:1:6", "*1:2:6", "*1:3:6", "*1:4:6"]
}],
"variables": []
}

View File

@ -14,34 +14,34 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/method.cc:1:7",
"definition": "*1:1:7",
"funcs": [1, 2],
"all_uses": ["tests/declaration_vs_definition/method.cc:1:7", "tests/declaration_vs_definition/method.cc:7:6"]
"all_uses": ["*1:1:7", "*1:7:6"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@declonly#",
"short_name": "declonly",
"qualified_name": "Foo::declonly",
"declaration": "tests/declaration_vs_definition/method.cc:2:8",
"all_uses": ["tests/declaration_vs_definition/method.cc:2:8"]
"declaration": "*1:2:8",
"all_uses": ["*1:2:8"]
}, {
"id": 1,
"usr": "c:@S@Foo@F@purevirtual#",
"short_name": "purevirtual",
"qualified_name": "Foo::purevirtual",
"declaration": "tests/declaration_vs_definition/method.cc:3:16",
"declaration": "*1:3:16",
"declaring_type": 0,
"all_uses": ["tests/declaration_vs_definition/method.cc:3:16"]
"all_uses": ["*1:3:16"]
}, {
"id": 2,
"usr": "c:@S@Foo@F@def#",
"short_name": "def",
"qualified_name": "Foo::def",
"declaration": "tests/declaration_vs_definition/method.cc:4:8",
"definition": "tests/declaration_vs_definition/method.cc:7:11",
"declaration": "*1:4:8",
"definition": "*1:7:11",
"declaring_type": 0,
"all_uses": ["tests/declaration_vs_definition/method.cc:4:8", "tests/declaration_vs_definition/method.cc:7:11"]
"all_uses": ["*1:4:8", "*1:7:11"]
}],
"variables": []
}

View File

@ -5,7 +5,6 @@ int gen() { return 1; }
void foo() {
called(gen() * gen());
}
/*
OUTPUT:
{
@ -15,25 +14,25 @@ OUTPUT:
"usr": "c:@F@called#I#",
"short_name": "called",
"qualified_name": "called",
"declaration": "tests/foobar.cc:1:6",
"callers": ["2@tests/foobar.cc:6:3"],
"all_uses": ["tests/foobar.cc:1:6", "tests/foobar.cc:6:3"]
"declaration": "*1:1:6",
"callers": ["2@*1:6:3"],
"all_uses": ["*1:1:6", "*1:6:3"]
}, {
"id": 1,
"usr": "c:@F@gen#",
"short_name": "gen",
"qualified_name": "gen",
"definition": "tests/foobar.cc:3:5",
"callers": ["2@tests/foobar.cc:6:10", "2@tests/foobar.cc:6:18"],
"all_uses": ["tests/foobar.cc:3:5", "tests/foobar.cc:6:10", "tests/foobar.cc:6:18"]
"definition": "*1:3:5",
"callers": ["2@*1:6:10", "2@*1:6:18"],
"all_uses": ["*1:3:5", "*1:6:10", "*1:6:18"]
}, {
"id": 2,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/foobar.cc:5:6",
"callees": ["0@tests/foobar.cc:6:3", "1@tests/foobar.cc:6:10", "1@tests/foobar.cc:6:18"],
"all_uses": ["tests/foobar.cc:5:6"]
"definition": "*1:5:6",
"callees": ["0@*1:6:3", "1@*1:6:10", "1@*1:6:18"],
"all_uses": ["*1:5:6"]
}],
"variables": []
}

View File

@ -9,8 +9,8 @@ OUTPUT:
"usr": "c:@F@foo#I#I#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/function_declaration.cc:1:6",
"all_uses": ["tests/function_declaration.cc:1:6"]
"declaration": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": []
}

View File

@ -11,9 +11,9 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/function_declaration_definition.cc:1:6",
"definition": "tests/function_declaration_definition.cc:3:6",
"all_uses": ["tests/function_declaration_definition.cc:1:6", "tests/function_declaration_definition.cc:3:6"]
"declaration": "*1:1:6",
"definition": "*1:3:6",
"all_uses": ["*1:1:6", "*1:3:6"]
}],
"variables": []
}

View File

@ -9,8 +9,8 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/function_definition.cc:1:6",
"all_uses": ["tests/function_definition.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": []
}

View File

@ -2,28 +2,6 @@ class Parent {};
class Derived : public Parent {};
/*
// TODO: Insert interesting usage for derived types. Maybe we should change out
// interesting usage approach for types, and instead find a list of "uninteresting" usages.
// Rather, what I think we should do is this
//
// t -> interesting
// f > uninteresting
// fileid 0
// row 5
// column 7
// this could all be packed into 64 bits
// "usages": { "t@0:5:7" }
//
// interesting: 1 bit (2)
// file: 29 bits (536,870,912)
// line: 20 bits (1,048,576)
// column: 14 bits (16,384)
//
// When inserting a new usage, default to interesting, but if already present
// don't flip it to uninteresting.
//
// When importing we remap file ids.
OUTPUT:
{
"types": [{
@ -31,18 +9,18 @@ OUTPUT:
"usr": "c:@S@Parent",
"short_name": "Parent",
"qualified_name": "Parent",
"definition": "tests/inheritance/class_inherit.cc:1:7",
"definition": "*1:1:7",
"derived": [1],
"all_uses": ["tests/inheritance/class_inherit.cc:1:7", "tests/inheritance/class_inherit.cc:2:24"],
"interesting_uses": ["tests/inheritance/class_inherit.cc:2:24"]
"all_uses": ["*1:1:7", "*1:2:24"],
"interesting_uses": ["*1:2:24"]
}, {
"id": 1,
"usr": "c:@S@Derived",
"short_name": "Derived",
"qualified_name": "Derived",
"definition": "tests/inheritance/class_inherit.cc:2:7",
"definition": "*1:2:7",
"parents": [0],
"all_uses": ["tests/inheritance/class_inherit.cc:2:7"]
"all_uses": ["*1:2:7"]
}],
"functions": [],
"variables": []

View File

@ -20,52 +20,52 @@ OUTPUT:
"usr": "c:@ST>1#Ni@Base1",
"short_name": "Base1",
"qualified_name": "Base1",
"definition": "tests/inheritance/class_inherit_templated_parent.cc:2:7",
"definition": "*1:2:7",
"derived": [2, 5],
"all_uses": ["tests/inheritance/class_inherit_templated_parent.cc:2:7", "tests/inheritance/class_inherit_templated_parent.cc:8:18", "tests/inheritance/class_inherit_templated_parent.cc:13:17"],
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:8:18", "tests/inheritance/class_inherit_templated_parent.cc:13:17"]
"all_uses": ["*1:2:7", "*1:8:18", "*1:13:17"],
"interesting_uses": ["*1:8:18", "*1:13:17"]
}, {
"id": 1,
"usr": "c:@ST>1#T@Base2",
"short_name": "Base2",
"qualified_name": "Base2",
"definition": "tests/inheritance/class_inherit_templated_parent.cc:5:7",
"definition": "*1:5:7",
"derived": [3, 5],
"all_uses": ["tests/inheritance/class_inherit_templated_parent.cc:5:7", "tests/inheritance/class_inherit_templated_parent.cc:11:18", "tests/inheritance/class_inherit_templated_parent.cc:13:27"],
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:11:18", "tests/inheritance/class_inherit_templated_parent.cc:13:27"]
"all_uses": ["*1:5:7", "*1:11:18", "*1:13:27"],
"interesting_uses": ["*1:11:18", "*1:13:27"]
}, {
"id": 2,
"usr": "c:@ST>1#Ni@Derived1",
"short_name": "Derived1",
"qualified_name": "Derived1",
"definition": "tests/inheritance/class_inherit_templated_parent.cc:8:7",
"definition": "*1:8:7",
"parents": [0],
"derived": [5],
"all_uses": ["tests/inheritance/class_inherit_templated_parent.cc:8:7", "tests/inheritance/class_inherit_templated_parent.cc:13:43"],
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:13:43"]
"all_uses": ["*1:8:7", "*1:13:43"],
"interesting_uses": ["*1:13:43"]
}, {
"id": 3,
"usr": "c:@ST>1#T@Derived2",
"short_name": "Derived2",
"qualified_name": "Derived2",
"definition": "tests/inheritance/class_inherit_templated_parent.cc:11:7",
"definition": "*1:11:7",
"parents": [1],
"derived": [5],
"all_uses": ["tests/inheritance/class_inherit_templated_parent.cc:11:7", "tests/inheritance/class_inherit_templated_parent.cc:13:56"],
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:13:56"]
"all_uses": ["*1:11:7", "*1:13:56"],
"interesting_uses": ["*1:13:56"]
}, {
"id": 4,
"usr": "c:class_inherit_templated_parent.cc@154",
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:11:24"]
"interesting_uses": ["*1:11:24"]
}, {
"id": 5,
"usr": "c:@S@Derived",
"short_name": "Derived",
"qualified_name": "Derived",
"definition": "tests/inheritance/class_inherit_templated_parent.cc:13:7",
"definition": "*1:13:7",
"parents": [0, 1, 2, 3],
"all_uses": ["tests/inheritance/class_inherit_templated_parent.cc:13:7", "tests/inheritance/class_inherit_templated_parent.cc:13:33", "tests/inheritance/class_inherit_templated_parent.cc:13:65"],
"interesting_uses": ["tests/inheritance/class_inherit_templated_parent.cc:13:33", "tests/inheritance/class_inherit_templated_parent.cc:13:65"]
"all_uses": ["*1:13:7", "*1:13:33", "*1:13:65"],
"interesting_uses": ["*1:13:33", "*1:13:65"]
}],
"functions": [],
"variables": []

View File

@ -11,38 +11,38 @@ OUTPUT:
"usr": "c:@S@Root",
"short_name": "Root",
"qualified_name": "Root",
"definition": "tests/inheritance/class_multiple_inherit.cc:1:7",
"definition": "*1:1:7",
"derived": [1, 2],
"all_uses": ["tests/inheritance/class_multiple_inherit.cc:1:7", "tests/inheritance/class_multiple_inherit.cc:2:24", "tests/inheritance/class_multiple_inherit.cc:3:24"],
"interesting_uses": ["tests/inheritance/class_multiple_inherit.cc:2:24", "tests/inheritance/class_multiple_inherit.cc:3:24"]
"all_uses": ["*1:1:7", "*1:2:24", "*1:3:24"],
"interesting_uses": ["*1:2:24", "*1:3:24"]
}, {
"id": 1,
"usr": "c:@S@MiddleA",
"short_name": "MiddleA",
"qualified_name": "MiddleA",
"definition": "tests/inheritance/class_multiple_inherit.cc:2:7",
"definition": "*1:2:7",
"parents": [0],
"derived": [3],
"all_uses": ["tests/inheritance/class_multiple_inherit.cc:2:7", "tests/inheritance/class_multiple_inherit.cc:4:24"],
"interesting_uses": ["tests/inheritance/class_multiple_inherit.cc:4:24"]
"all_uses": ["*1:2:7", "*1:4:24"],
"interesting_uses": ["*1:4:24"]
}, {
"id": 2,
"usr": "c:@S@MiddleB",
"short_name": "MiddleB",
"qualified_name": "MiddleB",
"definition": "tests/inheritance/class_multiple_inherit.cc:3:7",
"definition": "*1:3:7",
"parents": [0],
"derived": [3],
"all_uses": ["tests/inheritance/class_multiple_inherit.cc:3:7", "tests/inheritance/class_multiple_inherit.cc:4:40"],
"interesting_uses": ["tests/inheritance/class_multiple_inherit.cc:4:40"]
"all_uses": ["*1:3:7", "*1:4:40"],
"interesting_uses": ["*1:4:40"]
}, {
"id": 3,
"usr": "c:@S@Derived",
"short_name": "Derived",
"qualified_name": "Derived",
"definition": "tests/inheritance/class_multiple_inherit.cc:4:7",
"definition": "*1:4:7",
"parents": [1, 2],
"all_uses": ["tests/inheritance/class_multiple_inherit.cc:4:7"]
"all_uses": ["*1:4:7"]
}],
"functions": [],
"variables": []

View File

@ -13,37 +13,37 @@ OUTPUT:
"usr": "c:@S@Root",
"short_name": "Root",
"qualified_name": "Root",
"definition": "tests/inheritance/function_override.cc:1:7",
"definition": "*1:1:7",
"derived": [1],
"all_uses": ["tests/inheritance/function_override.cc:1:7", "tests/inheritance/function_override.cc:4:24"],
"interesting_uses": ["tests/inheritance/function_override.cc:4:24"]
"all_uses": ["*1:1:7", "*1:4:24"],
"interesting_uses": ["*1:4:24"]
}, {
"id": 1,
"usr": "c:@S@Derived",
"short_name": "Derived",
"qualified_name": "Derived",
"definition": "tests/inheritance/function_override.cc:4:7",
"definition": "*1:4:7",
"parents": [0],
"funcs": [1],
"all_uses": ["tests/inheritance/function_override.cc:4:7"]
"all_uses": ["*1:4:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Root@F@foo#",
"short_name": "foo",
"qualified_name": "Root::foo",
"declaration": "tests/inheritance/function_override.cc:2:16",
"declaration": "*1:2:16",
"derived": [1],
"all_uses": ["tests/inheritance/function_override.cc:2:16"]
"all_uses": ["*1:2:16"]
}, {
"id": 1,
"usr": "c:@S@Derived@F@foo#",
"short_name": "foo",
"qualified_name": "Derived::foo",
"definition": "tests/inheritance/function_override.cc:5:8",
"definition": "*1:5:8",
"declaring_type": 1,
"base": 0,
"all_uses": ["tests/inheritance/function_override.cc:5:8"]
"all_uses": ["*1:5:8"]
}],
"variables": []
}

View File

@ -10,18 +10,18 @@ OUTPUT:
"usr": "c:@S@IFoo",
"short_name": "IFoo",
"qualified_name": "IFoo",
"definition": "tests/inheritance/interface_pure_virtual.cc:1:7",
"definition": "*1:1:7",
"funcs": [0],
"all_uses": ["tests/inheritance/interface_pure_virtual.cc:1:7"]
"all_uses": ["*1:1:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@IFoo@F@foo#",
"short_name": "foo",
"qualified_name": "IFoo::foo",
"definition": "tests/inheritance/interface_pure_virtual.cc:2:16",
"definition": "*1:2:16",
"declaring_type": 0,
"all_uses": ["tests/inheritance/interface_pure_virtual.cc:2:16"]
"all_uses": ["*1:2:16"]
}],
"variables": []
}

View File

@ -14,16 +14,16 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/method_declaration.cc:1:7",
"all_uses": ["tests/method_declaration.cc:1:7"]
"definition": "*1:1:7",
"all_uses": ["*1:1:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "Foo::foo",
"declaration": "tests/method_declaration.cc:2:8",
"all_uses": ["tests/method_declaration.cc:2:8"]
"declaration": "*1:2:8",
"all_uses": ["*1:2:8"]
}],
"variables": []
}

View File

@ -12,19 +12,19 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/method_definition.cc:1:7",
"definition": "*1:1:7",
"funcs": [0],
"all_uses": ["tests/method_definition.cc:1:7", "tests/method_definition.cc:5:6"]
"all_uses": ["*1:1:7", "*1:5:6"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "Foo::foo",
"declaration": "tests/method_definition.cc:2:8",
"definition": "tests/method_definition.cc:5:11",
"declaration": "*1:2:8",
"definition": "*1:5:11",
"declaring_type": 0,
"all_uses": ["tests/method_definition.cc:2:8", "tests/method_definition.cc:5:11"]
"all_uses": ["*1:2:8", "*1:5:11"]
}],
"variables": []
}

View File

@ -10,18 +10,18 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/method_inline_declaration.cc:1:7",
"definition": "*1:1:7",
"funcs": [0],
"all_uses": ["tests/method_inline_declaration.cc:1:7"]
"all_uses": ["*1:1:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "Foo::foo",
"definition": "tests/method_inline_declaration.cc:2:8",
"definition": "*1:2:8",
"declaring_type": 0,
"all_uses": ["tests/method_inline_declaration.cc:2:8"]
"all_uses": ["*1:2:8"]
}],
"variables": []
}

View File

@ -11,8 +11,8 @@ OUTPUT:
"usr": "c:anonymous_function.cc@aN@F@foo#",
"short_name": "foo",
"qualified_name": "::foo",
"declaration": "tests/namespaces/anonymous_function.cc:2:6",
"all_uses": ["tests/namespaces/anonymous_function.cc:2:6"]
"declaration": "*1:2:6",
"all_uses": ["*1:2:6"]
}],
"variables": []
}

View File

@ -11,8 +11,8 @@ OUTPUT:
"usr": "c:@N@hello@F@foo#I#I#",
"short_name": "foo",
"qualified_name": "hello::foo",
"declaration": "tests/namespaces/function_declaration.cc:2:6",
"all_uses": ["tests/namespaces/function_declaration.cc:2:6"]
"declaration": "*1:2:6",
"all_uses": ["*1:2:6"]
}],
"variables": []
}

View File

@ -11,8 +11,8 @@ OUTPUT:
"usr": "c:@N@hello@F@foo#",
"short_name": "foo",
"qualified_name": "hello::foo",
"definition": "tests/namespaces/function_definition.cc:2:6",
"all_uses": ["tests/namespaces/function_definition.cc:2:6"]
"definition": "*1:2:6",
"all_uses": ["*1:2:6"]
}],
"variables": []
}

View File

@ -12,16 +12,16 @@ OUTPUT:
"usr": "c:@N@hello@S@Foo",
"short_name": "Foo",
"qualified_name": "hello::Foo",
"definition": "tests/namespaces/method_declaration.cc:2:7",
"all_uses": ["tests/namespaces/method_declaration.cc:2:7"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@N@hello@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "hello::Foo::foo",
"declaration": "tests/namespaces/method_declaration.cc:3:8",
"all_uses": ["tests/namespaces/method_declaration.cc:3:8"]
"declaration": "*1:3:8",
"all_uses": ["*1:3:8"]
}],
"variables": []
}

View File

@ -14,19 +14,19 @@ OUTPUT:
"usr": "c:@N@hello@S@Foo",
"short_name": "Foo",
"qualified_name": "hello::Foo",
"definition": "tests/namespaces/method_definition.cc:2:7",
"definition": "*1:2:7",
"funcs": [0],
"all_uses": ["tests/namespaces/method_definition.cc:2:7", "tests/namespaces/method_definition.cc:6:6"]
"all_uses": ["*1:2:7", "*1:6:6"]
}],
"functions": [{
"id": 0,
"usr": "c:@N@hello@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "hello::Foo::foo",
"declaration": "tests/namespaces/method_definition.cc:3:8",
"definition": "tests/namespaces/method_definition.cc:6:11",
"declaration": "*1:3:8",
"definition": "*1:6:11",
"declaring_type": 0,
"all_uses": ["tests/namespaces/method_definition.cc:3:8", "tests/namespaces/method_definition.cc:6:11"]
"all_uses": ["*1:3:8", "*1:6:11"]
}],
"variables": []
}

View File

@ -12,18 +12,18 @@ OUTPUT:
"usr": "c:@N@hello@S@Foo",
"short_name": "Foo",
"qualified_name": "hello::Foo",
"definition": "tests/namespaces/method_inline_declaration.cc:2:7",
"definition": "*1:2:7",
"funcs": [0],
"all_uses": ["tests/namespaces/method_inline_declaration.cc:2:7"]
"all_uses": ["*1:2:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@N@hello@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "hello::Foo::foo",
"definition": "tests/namespaces/method_inline_declaration.cc:3:8",
"definition": "*1:3:8",
"declaring_type": 0,
"all_uses": ["tests/namespaces/method_inline_declaration.cc:3:8"]
"all_uses": ["*1:3:8"]
}],
"variables": []
}

View File

@ -16,33 +16,33 @@ OUTPUT:
"usr": "c:@F@consume#*v#",
"short_name": "consume",
"qualified_name": "consume",
"definition": "tests/usage/func_usage_addr_func.cc:1:6",
"callers": ["2@tests/usage/func_usage_addr_func.cc:7:3"],
"all_uses": ["tests/usage/func_usage_addr_func.cc:1:6", "tests/usage/func_usage_addr_func.cc:7:3"]
"definition": "*1:1:6",
"callers": ["2@*1:7:3"],
"all_uses": ["*1:1:6", "*1:7:3"]
}, {
"id": 1,
"usr": "c:@F@used#",
"short_name": "used",
"qualified_name": "used",
"definition": "tests/usage/func_usage_addr_func.cc:3:6",
"callers": ["2@tests/usage/func_usage_addr_func.cc:6:13", "2@tests/usage/func_usage_addr_func.cc:7:12"],
"all_uses": ["tests/usage/func_usage_addr_func.cc:3:6", "tests/usage/func_usage_addr_func.cc:6:13", "tests/usage/func_usage_addr_func.cc:7:12"]
"definition": "*1:3:6",
"callers": ["2@*1:6:13", "2@*1:7:12"],
"all_uses": ["*1:3:6", "*1:6:13", "*1:7:12"]
}, {
"id": 2,
"usr": "c:@F@user#",
"short_name": "user",
"qualified_name": "user",
"definition": "tests/usage/func_usage_addr_func.cc:5:6",
"callees": ["1@tests/usage/func_usage_addr_func.cc:6:13", "0@tests/usage/func_usage_addr_func.cc:7:3", "1@tests/usage/func_usage_addr_func.cc:7:12"],
"all_uses": ["tests/usage/func_usage_addr_func.cc:5:6"]
"definition": "*1:5:6",
"callees": ["1@*1:6:13", "0@*1:7:3", "1@*1:7:12"],
"all_uses": ["*1:5:6"]
}],
"variables": [{
"id": 0,
"usr": "c:func_usage_addr_func.cc@61@F@user#@x",
"short_name": "x",
"qualified_name": "x",
"definition": "tests/usage/func_usage_addr_func.cc:6:8",
"all_uses": ["tests/usage/func_usage_addr_func.cc:6:8"]
"definition": "*1:6:8",
"all_uses": ["*1:6:8"]
}]
}
*/

View File

@ -15,33 +15,33 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/func_usage_addr_method.cc:1:8",
"all_uses": ["tests/usage/func_usage_addr_method.cc:1:8", "tests/usage/func_usage_addr_method.cc:6:13"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:6:13"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@Used#",
"short_name": "Used",
"qualified_name": "Foo::Used",
"declaration": "tests/usage/func_usage_addr_method.cc:2:8",
"callers": ["1@tests/usage/func_usage_addr_method.cc:6:18"],
"all_uses": ["tests/usage/func_usage_addr_method.cc:2:8", "tests/usage/func_usage_addr_method.cc:6:18"]
"declaration": "*1:2:8",
"callers": ["1@*1:6:18"],
"all_uses": ["*1:2:8", "*1:6:18"]
}, {
"id": 1,
"usr": "c:@F@user#",
"short_name": "user",
"qualified_name": "user",
"definition": "tests/usage/func_usage_addr_method.cc:5:6",
"callees": ["0@tests/usage/func_usage_addr_method.cc:6:18"],
"all_uses": ["tests/usage/func_usage_addr_method.cc:5:6"]
"definition": "*1:5:6",
"callees": ["0@*1:6:18"],
"all_uses": ["*1:5:6"]
}],
"variables": [{
"id": 0,
"usr": "c:func_usage_addr_method.cc@53@F@user#@x",
"short_name": "x",
"qualified_name": "x",
"definition": "tests/usage/func_usage_addr_method.cc:6:8",
"all_uses": ["tests/usage/func_usage_addr_method.cc:6:8"]
"definition": "*1:6:8",
"all_uses": ["*1:6:8"]
}]
}
*/

View File

@ -12,17 +12,17 @@ OUTPUT:
"usr": "c:@F@called#",
"short_name": "called",
"qualified_name": "called",
"definition": "tests/usage/func_usage_call_func.cc:1:6",
"callers": ["1@tests/usage/func_usage_call_func.cc:3:3"],
"all_uses": ["tests/usage/func_usage_call_func.cc:1:6", "tests/usage/func_usage_call_func.cc:3:3"]
"definition": "*1:1:6",
"callers": ["1@*1:3:3"],
"all_uses": ["*1:1:6", "*1:3:3"]
}, {
"id": 1,
"usr": "c:@F@caller#",
"short_name": "caller",
"qualified_name": "caller",
"definition": "tests/usage/func_usage_call_func.cc:2:6",
"callees": ["0@tests/usage/func_usage_call_func.cc:3:3"],
"all_uses": ["tests/usage/func_usage_call_func.cc:2:6"]
"definition": "*1:2:6",
"callees": ["0@*1:3:3"],
"all_uses": ["*1:2:6"]
}],
"variables": []
}

View File

@ -15,35 +15,35 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/func_usage_call_method.cc:1:8",
"all_uses": ["tests/usage/func_usage_call_method.cc:1:8", "tests/usage/func_usage_call_method.cc:6:3"],
"interesting_uses": ["tests/usage/func_usage_call_method.cc:6:3"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:6:3"],
"interesting_uses": ["*1:6:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@Used#",
"short_name": "Used",
"qualified_name": "Foo::Used",
"declaration": "tests/usage/func_usage_call_method.cc:2:8",
"callers": ["1@tests/usage/func_usage_call_method.cc:7:6"],
"all_uses": ["tests/usage/func_usage_call_method.cc:2:8", "tests/usage/func_usage_call_method.cc:7:6"]
"declaration": "*1:2:8",
"callers": ["1@*1:7:6"],
"all_uses": ["*1:2:8", "*1:7:6"]
}, {
"id": 1,
"usr": "c:@F@user#",
"short_name": "user",
"qualified_name": "user",
"definition": "tests/usage/func_usage_call_method.cc:5:6",
"callees": ["0@tests/usage/func_usage_call_method.cc:7:6"],
"all_uses": ["tests/usage/func_usage_call_method.cc:5:6"]
"definition": "*1:5:6",
"callees": ["0@*1:7:6"],
"all_uses": ["*1:5:6"]
}],
"variables": [{
"id": 0,
"usr": "c:func_usage_call_method.cc@53@F@user#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/func_usage_call_method.cc:6:8",
"definition": "*1:6:8",
"variable_type": 0,
"all_uses": ["tests/usage/func_usage_call_method.cc:6:8", "tests/usage/func_usage_call_method.cc:7:3"]
"all_uses": ["*1:6:8", "*1:7:3"]
}]
}
*/

View File

@ -14,26 +14,26 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:5:7",
"definition": "*1:5:7",
"vars": [0],
"all_uses": ["tests/usage/func_usage_class_inline_var_def.cc:5:7"]
"all_uses": ["*1:5:7"]
}],
"functions": [{
"id": 0,
"usr": "c:func_usage_class_inline_var_def.cc@F@helper#",
"short_name": "helper",
"qualified_name": "helper",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:1:12",
"all_uses": ["tests/usage/func_usage_class_inline_var_def.cc:1:12", "tests/usage/func_usage_class_inline_var_def.cc:6:11"]
"definition": "*1:1:12",
"all_uses": ["*1:1:12", "*1:6:11"]
}],
"variables": [{
"id": 0,
"usr": "c:@S@Foo@FI@x",
"short_name": "x",
"qualified_name": "Foo::x",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:6:7",
"definition": "*1:6:7",
"declaring_type": 0,
"all_uses": ["tests/usage/func_usage_class_inline_var_def.cc:6:7"]
"all_uses": ["*1:6:7"]
}]
}
*/

View File

@ -12,17 +12,17 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/usage/func_usage_forward_decl_func.cc:1:6",
"callers": ["1@tests/usage/func_usage_forward_decl_func.cc:4:3"],
"all_uses": ["tests/usage/func_usage_forward_decl_func.cc:1:6", "tests/usage/func_usage_forward_decl_func.cc:4:3"]
"declaration": "*1:1:6",
"callers": ["1@*1:4:3"],
"all_uses": ["*1:1:6", "*1:4:3"]
}, {
"id": 1,
"usr": "c:@F@usage#",
"short_name": "usage",
"qualified_name": "usage",
"definition": "tests/usage/func_usage_forward_decl_func.cc:3:6",
"callees": ["0@tests/usage/func_usage_forward_decl_func.cc:4:3"],
"all_uses": ["tests/usage/func_usage_forward_decl_func.cc:3:6"]
"definition": "*1:3:6",
"callees": ["0@*1:4:3"],
"all_uses": ["*1:3:6"]
}],
"variables": []
}

View File

@ -14,35 +14,35 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/func_usage_forward_decl_method.cc:1:8",
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:1:8", "tests/usage/func_usage_forward_decl_method.cc:6:3"],
"interesting_uses": ["tests/usage/func_usage_forward_decl_method.cc:6:3"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:6:3"],
"interesting_uses": ["*1:6:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "Foo::foo",
"declaration": "tests/usage/func_usage_forward_decl_method.cc:2:8",
"callers": ["1@tests/usage/func_usage_forward_decl_method.cc:7:6"],
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:2:8", "tests/usage/func_usage_forward_decl_method.cc:7:6"]
"declaration": "*1:2:8",
"callers": ["1@*1:7:6"],
"all_uses": ["*1:2:8", "*1:7:6"]
}, {
"id": 1,
"usr": "c:@F@usage#",
"short_name": "usage",
"qualified_name": "usage",
"definition": "tests/usage/func_usage_forward_decl_method.cc:5:6",
"callees": ["0@tests/usage/func_usage_forward_decl_method.cc:7:6"],
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:5:6"]
"definition": "*1:5:6",
"callees": ["0@*1:7:6"],
"all_uses": ["*1:5:6"]
}],
"variables": [{
"id": 0,
"usr": "c:func_usage_forward_decl_method.cc@53@F@usage#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/func_usage_forward_decl_method.cc:6:8",
"definition": "*1:6:8",
"variable_type": 0,
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:6:8", "tests/usage/func_usage_forward_decl_method.cc:7:3"]
"all_uses": ["*1:6:8", "*1:7:3"]
}]
}
*/

View File

@ -15,17 +15,17 @@ OUTPUT:
"usr": "c:@FT@>1#Taccept#t0.0#v#",
"short_name": "accept",
"qualified_name": "accept",
"declaration": "tests/usage/func_usage_template_func.cc:2:6",
"callers": ["1@tests/usage/func_usage_template_func.cc:5:3", "1@tests/usage/func_usage_template_func.cc:6:3"],
"all_uses": ["tests/usage/func_usage_template_func.cc:2:6", "tests/usage/func_usage_template_func.cc:5:3", "tests/usage/func_usage_template_func.cc:6:3"]
"declaration": "*1:2:6",
"callers": ["1@*1:5:3", "1@*1:6:3"],
"all_uses": ["*1:2:6", "*1:5:3", "*1:6:3"]
}, {
"id": 1,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/func_usage_template_func.cc:4:6",
"callees": ["0@tests/usage/func_usage_template_func.cc:5:3", "0@tests/usage/func_usage_template_func.cc:6:3"],
"all_uses": ["tests/usage/func_usage_template_func.cc:4:6"]
"definition": "*1:4:6",
"callees": ["0@*1:5:3", "0@*1:6:3"],
"all_uses": ["*1:4:6"]
}],
"variables": []
}

View File

@ -16,49 +16,49 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@ST>1#T@unique_ptr",
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:2:7", "tests/usage/type_usage_as_template_parameter.cc:6:8", "tests/usage/type_usage_as_template_parameter.cc:7:8", "tests/usage/type_usage_as_template_parameter.cc:9:1", "tests/usage/type_usage_as_template_parameter.cc:10:3"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter.cc:6:8", "tests/usage/type_usage_as_template_parameter.cc:7:8", "tests/usage/type_usage_as_template_parameter.cc:9:1", "tests/usage/type_usage_as_template_parameter.cc:10:3"]
"all_uses": ["*1:2:7", "*1:6:8", "*1:7:8", "*1:9:1", "*1:10:3"],
"interesting_uses": ["*1:6:8", "*1:7:8", "*1:9:1", "*1:10:3"]
}, {
"id": 1,
"usr": "c:@S@S",
"short_name": "S",
"qualified_name": "S",
"definition": "tests/usage/type_usage_as_template_parameter.cc:4:8",
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:4:8", "tests/usage/type_usage_as_template_parameter.cc:7:19", "tests/usage/type_usage_as_template_parameter.cc:9:12", "tests/usage/type_usage_as_template_parameter.cc:10:14"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter.cc:7:19", "tests/usage/type_usage_as_template_parameter.cc:9:12", "tests/usage/type_usage_as_template_parameter.cc:10:14"]
"definition": "*1:4:8",
"all_uses": ["*1:4:8", "*1:7:19", "*1:9:12", "*1:10:14"],
"interesting_uses": ["*1:7:19", "*1:9:12", "*1:10:14"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@return_type#",
"short_name": "return_type",
"qualified_name": "return_type",
"definition": "tests/usage/type_usage_as_template_parameter.cc:9:16",
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:9:16"]
"definition": "*1:9:16",
"all_uses": ["*1:9:16"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_as_template_parameter.cc@f0",
"short_name": "f0",
"qualified_name": "f0",
"definition": "tests/usage/type_usage_as_template_parameter.cc:6:25",
"definition": "*1:6:25",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:6:25"]
"all_uses": ["*1:6:25"]
}, {
"id": 1,
"usr": "c:type_usage_as_template_parameter.cc@f1",
"short_name": "f1",
"qualified_name": "f1",
"definition": "tests/usage/type_usage_as_template_parameter.cc:7:22",
"definition": "*1:7:22",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:7:22"]
"all_uses": ["*1:7:22"]
}, {
"id": 2,
"usr": "c:type_usage_as_template_parameter.cc@150@F@return_type#@local",
"short_name": "local",
"qualified_name": "local",
"definition": "tests/usage/type_usage_as_template_parameter.cc:10:18",
"definition": "*1:10:18",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:10:18"]
"all_uses": ["*1:10:18"]
}]
}
*/

View File

@ -84,74 +84,74 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@ST>2#T#T@unique_ptr",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:2:7", "tests/usage/type_usage_as_template_parameter_complex.cc:15:8", "tests/usage/type_usage_as_template_parameter_complex.cc:15:19", "tests/usage/type_usage_as_template_parameter_complex.cc:33:1", "tests/usage/type_usage_as_template_parameter_complex.cc:33:12", "tests/usage/type_usage_as_template_parameter_complex.cc:33:52", "tests/usage/type_usage_as_template_parameter_complex.cc:54:3", "tests/usage/type_usage_as_template_parameter_complex.cc:54:14", "tests/usage/type_usage_as_template_parameter_complex.cc:65:3", "tests/usage/type_usage_as_template_parameter_complex.cc:79:1"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:15:8", "tests/usage/type_usage_as_template_parameter_complex.cc:15:19", "tests/usage/type_usage_as_template_parameter_complex.cc:33:1", "tests/usage/type_usage_as_template_parameter_complex.cc:33:12", "tests/usage/type_usage_as_template_parameter_complex.cc:33:52", "tests/usage/type_usage_as_template_parameter_complex.cc:54:3", "tests/usage/type_usage_as_template_parameter_complex.cc:54:14", "tests/usage/type_usage_as_template_parameter_complex.cc:65:3", "tests/usage/type_usage_as_template_parameter_complex.cc:79:1"]
"all_uses": ["*1:2:7", "*1:15:8", "*1:15:19", "*1:33:1", "*1:33:12", "*1:33:52", "*1:54:3", "*1:54:14", "*1:65:3", "*1:79:1"],
"interesting_uses": ["*1:15:8", "*1:15:19", "*1:33:1", "*1:33:12", "*1:33:52", "*1:54:3", "*1:54:14", "*1:65:3", "*1:79:1"]
}, {
"id": 1,
"usr": "c:@S@S1",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:4:8", "tests/usage/type_usage_as_template_parameter_complex.cc:15:30", "tests/usage/type_usage_as_template_parameter_complex.cc:33:23", "tests/usage/type_usage_as_template_parameter_complex.cc:33:63", "tests/usage/type_usage_as_template_parameter_complex.cc:54:25", "tests/usage/type_usage_as_template_parameter_complex.cc:65:14", "tests/usage/type_usage_as_template_parameter_complex.cc:79:12"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:15:30", "tests/usage/type_usage_as_template_parameter_complex.cc:33:23", "tests/usage/type_usage_as_template_parameter_complex.cc:33:63", "tests/usage/type_usage_as_template_parameter_complex.cc:54:25", "tests/usage/type_usage_as_template_parameter_complex.cc:65:14", "tests/usage/type_usage_as_template_parameter_complex.cc:79:12"]
"all_uses": ["*1:4:8", "*1:15:30", "*1:33:23", "*1:33:63", "*1:54:25", "*1:65:14", "*1:79:12"],
"interesting_uses": ["*1:15:30", "*1:33:23", "*1:33:63", "*1:54:25", "*1:65:14", "*1:79:12"]
}, {
"id": 2,
"usr": "c:@S@S2",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:5:8", "tests/usage/type_usage_as_template_parameter_complex.cc:15:34", "tests/usage/type_usage_as_template_parameter_complex.cc:15:39", "tests/usage/type_usage_as_template_parameter_complex.cc:33:27", "tests/usage/type_usage_as_template_parameter_complex.cc:33:32", "tests/usage/type_usage_as_template_parameter_complex.cc:33:67", "tests/usage/type_usage_as_template_parameter_complex.cc:54:29", "tests/usage/type_usage_as_template_parameter_complex.cc:54:34", "tests/usage/type_usage_as_template_parameter_complex.cc:65:18", "tests/usage/type_usage_as_template_parameter_complex.cc:79:16"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:15:34", "tests/usage/type_usage_as_template_parameter_complex.cc:15:39", "tests/usage/type_usage_as_template_parameter_complex.cc:33:27", "tests/usage/type_usage_as_template_parameter_complex.cc:33:32", "tests/usage/type_usage_as_template_parameter_complex.cc:33:67", "tests/usage/type_usage_as_template_parameter_complex.cc:54:29", "tests/usage/type_usage_as_template_parameter_complex.cc:54:34", "tests/usage/type_usage_as_template_parameter_complex.cc:65:18", "tests/usage/type_usage_as_template_parameter_complex.cc:79:16"]
"all_uses": ["*1:5:8", "*1:15:34", "*1:15:39", "*1:33:27", "*1:33:32", "*1:33:67", "*1:54:29", "*1:54:34", "*1:65:18", "*1:79:16"],
"interesting_uses": ["*1:15:34", "*1:15:39", "*1:33:27", "*1:33:32", "*1:33:67", "*1:54:29", "*1:54:34", "*1:65:18", "*1:79:16"]
}, {
"id": 3,
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:64:7",
"definition": "*1:64:7",
"funcs": [3],
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:64:7", "tests/usage/type_usage_as_template_parameter_complex.cc:79:21"]
"all_uses": ["*1:64:7", "*1:79:21"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@as_return_type#*$@S@unique_ptr>#$@S@S1#$@S@S2#",
"short_name": "as_return_type",
"qualified_name": "as_return_type",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:33:37",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:33:37"]
"definition": "*1:33:37",
"all_uses": ["*1:33:37"]
}, {
"id": 1,
"usr": "c:@F@no_return_type#I#",
"short_name": "no_return_type",
"qualified_name": "no_return_type",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:40:6",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:40:6"]
"definition": "*1:40:6",
"all_uses": ["*1:40:6"]
}, {
"id": 2,
"usr": "c:@F@empty#",
"short_name": "empty",
"qualified_name": "empty",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:53:6",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:53:6"]
"definition": "*1:53:6",
"all_uses": ["*1:53:6"]
}, {
"id": 3,
"usr": "c:@S@Foo@F@foo#",
"short_name": "foo",
"qualified_name": "Foo::foo",
"declaration": "tests/usage/type_usage_as_template_parameter_complex.cc:65:23",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:79:26",
"declaration": "*1:65:23",
"definition": "*1:79:26",
"declaring_type": 3,
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:65:23", "tests/usage/type_usage_as_template_parameter_complex.cc:79:26"]
"all_uses": ["*1:65:23", "*1:79:26"]
}],
"variables": [{
"id": 0,
"usr": "c:@f",
"short_name": "f",
"qualified_name": "f",
"declaration": "tests/usage/type_usage_as_template_parameter_complex.cc:15:43",
"declaration": "*1:15:43",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:15:43"]
"all_uses": ["*1:15:43"]
}, {
"id": 1,
"usr": "c:type_usage_as_template_parameter_complex.cc@1062@F@empty#@local",
"short_name": "local",
"qualified_name": "local",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:54:39",
"definition": "*1:54:39",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:54:39"]
"all_uses": ["*1:54:39"]
}]
}
*/

View File

@ -13,14 +13,14 @@ OUTPUT:
"usr": "c:@ST>1#T@unique_ptr",
"short_name": "unique_ptr",
"qualified_name": "unique_ptr",
"definition": "tests/usage/type_usage_as_template_parameter_simple.cc:2:7",
"all_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:2:7", "tests/usage/type_usage_as_template_parameter_simple.cc:6:8"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:6:8"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7", "*1:6:8"],
"interesting_uses": ["*1:6:8"]
}, {
"id": 1,
"usr": "c:@S@S",
"all_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:4:8", "tests/usage/type_usage_as_template_parameter_simple.cc:6:19"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:6:19"]
"all_uses": ["*1:4:8", "*1:6:19"],
"interesting_uses": ["*1:6:19"]
}],
"functions": [],
"variables": [{
@ -28,9 +28,9 @@ OUTPUT:
"usr": "c:type_usage_as_template_parameter_simple.cc@foo",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/type_usage_as_template_parameter_simple.cc:6:22",
"definition": "*1:6:22",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:6:22"]
"all_uses": ["*1:6:22"]
}]
}
*/

View File

@ -9,9 +9,9 @@ OUTPUT:
"usr": "c:@S@T",
"short_name": "T",
"qualified_name": "T",
"definition": "tests/usage/type_usage_declare_extern.cc:1:8",
"all_uses": ["tests/usage/type_usage_declare_extern.cc:1:8", "tests/usage/type_usage_declare_extern.cc:3:8"],
"interesting_uses": ["tests/usage/type_usage_declare_extern.cc:3:8"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:3:8"],
"interesting_uses": ["*1:3:8"]
}],
"functions": [],
"variables": [{
@ -19,9 +19,9 @@ OUTPUT:
"usr": "c:@t",
"short_name": "t",
"qualified_name": "t",
"declaration": "tests/usage/type_usage_declare_extern.cc:3:10",
"declaration": "*1:3:10",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_extern.cc:3:10"]
"all_uses": ["*1:3:10"]
}]
}
*/

View File

@ -12,24 +12,24 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_field.cc:1:8", "tests/usage/type_usage_declare_field.cc:5:3"],
"interesting_uses": ["tests/usage/type_usage_declare_field.cc:5:3"]
"all_uses": ["*1:1:8", "*1:5:3"],
"interesting_uses": ["*1:5:3"]
}, {
"id": 1,
"usr": "c:@S@ImplementedType",
"short_name": "ImplementedType",
"qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_field.cc:2:8",
"all_uses": ["tests/usage/type_usage_declare_field.cc:2:8", "tests/usage/type_usage_declare_field.cc:6:3"],
"interesting_uses": ["tests/usage/type_usage_declare_field.cc:6:3"]
"definition": "*1:2:8",
"all_uses": ["*1:2:8", "*1:6:3"],
"interesting_uses": ["*1:6:3"]
}, {
"id": 2,
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/type_usage_declare_field.cc:4:8",
"definition": "*1:4:8",
"vars": [0, 1],
"all_uses": ["tests/usage/type_usage_declare_field.cc:4:8"]
"all_uses": ["*1:4:8"]
}],
"functions": [],
"variables": [{
@ -37,19 +37,19 @@ OUTPUT:
"usr": "c:@S@Foo@FI@a",
"short_name": "a",
"qualified_name": "Foo::a",
"definition": "tests/usage/type_usage_declare_field.cc:5:16",
"definition": "*1:5:16",
"variable_type": 0,
"declaring_type": 2,
"all_uses": ["tests/usage/type_usage_declare_field.cc:5:16"]
"all_uses": ["*1:5:16"]
}, {
"id": 1,
"usr": "c:@S@Foo@FI@b",
"short_name": "b",
"qualified_name": "Foo::b",
"definition": "tests/usage/type_usage_declare_field.cc:6:19",
"definition": "*1:6:19",
"variable_type": 1,
"declaring_type": 2,
"all_uses": ["tests/usage/type_usage_declare_field.cc:6:19"]
"all_uses": ["*1:6:19"]
}]
}
*/

View File

@ -12,41 +12,41 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_local.cc:1:8", "tests/usage/type_usage_declare_local.cc:5:3"],
"interesting_uses": ["tests/usage/type_usage_declare_local.cc:5:3"]
"all_uses": ["*1:1:8", "*1:5:3"],
"interesting_uses": ["*1:5:3"]
}, {
"id": 1,
"usr": "c:@S@ImplementedType",
"short_name": "ImplementedType",
"qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_local.cc:2:8",
"all_uses": ["tests/usage/type_usage_declare_local.cc:2:8", "tests/usage/type_usage_declare_local.cc:6:3"],
"interesting_uses": ["tests/usage/type_usage_declare_local.cc:6:3"]
"definition": "*1:2:8",
"all_uses": ["*1:2:8", "*1:6:3"],
"interesting_uses": ["*1:6:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@Foo#",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/type_usage_declare_local.cc:4:6",
"all_uses": ["tests/usage/type_usage_declare_local.cc:4:6"]
"definition": "*1:4:6",
"all_uses": ["*1:4:6"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_declare_local.cc@67@F@Foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/type_usage_declare_local.cc:5:16",
"definition": "*1:5:16",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_local.cc:5:16"]
"all_uses": ["*1:5:16"]
}, {
"id": 1,
"usr": "c:type_usage_declare_local.cc@86@F@Foo#@b",
"short_name": "b",
"qualified_name": "b",
"definition": "tests/usage/type_usage_declare_local.cc:6:19",
"definition": "*1:6:19",
"variable_type": 1,
"all_uses": ["tests/usage/type_usage_declare_local.cc:6:19"]
"all_uses": ["*1:6:19"]
}]
}
*/

View File

@ -9,41 +9,41 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_param.cc:1:8", "tests/usage/type_usage_declare_param.cc:4:10"],
"interesting_uses": ["tests/usage/type_usage_declare_param.cc:4:10"]
"all_uses": ["*1:1:8", "*1:4:10"],
"interesting_uses": ["*1:4:10"]
}, {
"id": 1,
"usr": "c:@S@ImplementedType",
"short_name": "ImplementedType",
"qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_param.cc:2:8",
"all_uses": ["tests/usage/type_usage_declare_param.cc:2:8", "tests/usage/type_usage_declare_param.cc:4:26"],
"interesting_uses": ["tests/usage/type_usage_declare_param.cc:4:26"]
"definition": "*1:2:8",
"all_uses": ["*1:2:8", "*1:4:26"],
"interesting_uses": ["*1:4:26"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#*$@S@ForwardType#$@S@ImplementedType#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_param.cc:4:6",
"all_uses": ["tests/usage/type_usage_declare_param.cc:4:6"]
"definition": "*1:4:6",
"all_uses": ["*1:4:6"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_declare_param.cc@60@F@foo#*$@S@ForwardType#$@S@ImplementedType#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/type_usage_declare_param.cc:4:23",
"definition": "*1:4:23",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_param.cc:4:23"]
"all_uses": ["*1:4:23"]
}, {
"id": 1,
"usr": "c:type_usage_declare_param.cc@76@F@foo#*$@S@ForwardType#$@S@ImplementedType#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/type_usage_declare_param.cc:4:42",
"definition": "*1:4:42",
"variable_type": 1,
"all_uses": ["tests/usage/type_usage_declare_param.cc:4:42"]
"all_uses": ["*1:4:42"]
}]
}
*/

View File

@ -14,26 +14,26 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Foo",
"all_uses": ["tests/usage/type_usage_declare_param_prototype.cc:1:8", "tests/usage/type_usage_declare_param_prototype.cc:3:10", "tests/usage/type_usage_declare_param_prototype.cc:3:18", "tests/usage/type_usage_declare_param_prototype.cc:4:10", "tests/usage/type_usage_declare_param_prototype.cc:4:18"],
"interesting_uses": ["tests/usage/type_usage_declare_param_prototype.cc:4:10", "tests/usage/type_usage_declare_param_prototype.cc:4:18"]
"all_uses": ["*1:1:8", "*1:3:10", "*1:3:18", "*1:4:10", "*1:4:18"],
"interesting_uses": ["*1:4:10", "*1:4:18"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#*$@S@Foo#S0_#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/usage/type_usage_declare_param_prototype.cc:3:6",
"definition": "tests/usage/type_usage_declare_param_prototype.cc:4:6",
"all_uses": ["tests/usage/type_usage_declare_param_prototype.cc:3:6", "tests/usage/type_usage_declare_param_prototype.cc:4:6"]
"declaration": "*1:3:6",
"definition": "*1:4:6",
"all_uses": ["*1:3:6", "*1:4:6"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_declare_param_prototype.cc@49@F@foo#*$@S@Foo#S0_#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/type_usage_declare_param_prototype.cc:4:15",
"definition": "*1:4:15",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_param_prototype.cc:4:15"]
"all_uses": ["*1:4:15"]
}]
}
*/

View File

@ -6,16 +6,16 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_param_unnamed.cc:1:8", "tests/usage/type_usage_declare_param_unnamed.cc:2:10"],
"interesting_uses": ["tests/usage/type_usage_declare_param_unnamed.cc:2:10"]
"all_uses": ["*1:1:8", "*1:2:10"],
"interesting_uses": ["*1:2:10"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#*$@S@ForwardType#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_param_unnamed.cc:2:6",
"all_uses": ["tests/usage/type_usage_declare_param_unnamed.cc:2:6"]
"definition": "*1:2:6",
"all_uses": ["*1:2:6"]
}],
"variables": []
}

View File

@ -14,66 +14,66 @@ OUTPUT:
"usr": "c:@S@Type",
"short_name": "Type",
"qualified_name": "Type",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:1:8",
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:1:8", "tests/usage/type_usage_declare_qualifiers.cc:3:10", "tests/usage/type_usage_declare_qualifiers.cc:3:26", "tests/usage/type_usage_declare_qualifiers.cc:4:3", "tests/usage/type_usage_declare_qualifiers.cc:5:3", "tests/usage/type_usage_declare_qualifiers.cc:6:9", "tests/usage/type_usage_declare_qualifiers.cc:7:9"],
"interesting_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:10", "tests/usage/type_usage_declare_qualifiers.cc:3:26", "tests/usage/type_usage_declare_qualifiers.cc:4:3", "tests/usage/type_usage_declare_qualifiers.cc:5:3", "tests/usage/type_usage_declare_qualifiers.cc:6:9", "tests/usage/type_usage_declare_qualifiers.cc:7:9"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:3:10", "*1:3:26", "*1:4:3", "*1:5:3", "*1:6:9", "*1:7:9"],
"interesting_uses": ["*1:3:10", "*1:3:26", "*1:4:3", "*1:5:3", "*1:6:9", "*1:7:9"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#&$@S@Type#&1S1_#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:6",
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:6"]
"definition": "*1:3:6",
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_declare_qualifiers.cc@28@F@foo#&$@S@Type#&1S1_#@a0",
"short_name": "a0",
"qualified_name": "a0",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:16",
"definition": "*1:3:16",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:16"]
"all_uses": ["*1:3:16"]
}, {
"id": 1,
"usr": "c:type_usage_declare_qualifiers.cc@38@F@foo#&$@S@Type#&1S1_#@a1",
"short_name": "a1",
"qualified_name": "a1",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:32",
"definition": "*1:3:32",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:32"]
"all_uses": ["*1:3:32"]
}, {
"id": 2,
"usr": "c:type_usage_declare_qualifiers.cc@59@F@foo#&$@S@Type#&1S1_#@a2",
"short_name": "a2",
"qualified_name": "a2",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:4:8",
"definition": "*1:4:8",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:4:8"]
"all_uses": ["*1:4:8"]
}, {
"id": 3,
"usr": "c:type_usage_declare_qualifiers.cc@71@F@foo#&$@S@Type#&1S1_#@a3",
"short_name": "a3",
"qualified_name": "a3",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:5:9",
"definition": "*1:5:9",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:5:9"]
"all_uses": ["*1:5:9"]
}, {
"id": 4,
"usr": "c:type_usage_declare_qualifiers.cc@84@F@foo#&$@S@Type#&1S1_#@a4",
"short_name": "a4",
"qualified_name": "a4",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:6:15",
"definition": "*1:6:15",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:6:15"]
"all_uses": ["*1:6:15"]
}, {
"id": 5,
"usr": "c:type_usage_declare_qualifiers.cc@103@F@foo#&$@S@Type#&1S1_#@a5",
"short_name": "a5",
"qualified_name": "a5",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:7:21",
"definition": "*1:7:21",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:7:21"]
"all_uses": ["*1:7:21"]
}]
}

View File

@ -6,8 +6,8 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Type",
"all_uses": ["tests/usage/type_usage_declare_static.cc:1:8", "tests/usage/type_usage_declare_static.cc:2:8"],
"interesting_uses": ["tests/usage/type_usage_declare_static.cc:2:8"]
"all_uses": ["*1:1:8", "*1:2:8"],
"interesting_uses": ["*1:2:8"]
}],
"functions": [],
"variables": [{
@ -15,9 +15,9 @@ OUTPUT:
"usr": "c:type_usage_declare_static.cc@t",
"short_name": "t",
"qualified_name": "t",
"definition": "tests/usage/type_usage_declare_static.cc:2:13",
"definition": "*1:2:13",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_static.cc:2:13"]
"all_uses": ["*1:2:13"]
}]
}
*/

View File

@ -23,58 +23,58 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Type",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:1:8", "tests/usage/type_usage_on_return_type.cc:3:1", "tests/usage/type_usage_on_return_type.cc:4:1", "tests/usage/type_usage_on_return_type.cc:5:1", "tests/usage/type_usage_on_return_type.cc:8:3", "tests/usage/type_usage_on_return_type.cc:12:1", "tests/usage/type_usage_on_return_type.cc:15:14", "tests/usage/type_usage_on_return_type.cc:17:8", "tests/usage/type_usage_on_return_type.cc:18:8"],
"interesting_uses": ["tests/usage/type_usage_on_return_type.cc:3:1", "tests/usage/type_usage_on_return_type.cc:4:1", "tests/usage/type_usage_on_return_type.cc:5:1", "tests/usage/type_usage_on_return_type.cc:8:3", "tests/usage/type_usage_on_return_type.cc:12:1", "tests/usage/type_usage_on_return_type.cc:15:14", "tests/usage/type_usage_on_return_type.cc:17:8", "tests/usage/type_usage_on_return_type.cc:18:8"]
"all_uses": ["*1:1:8", "*1:3:1", "*1:4:1", "*1:5:1", "*1:8:3", "*1:12:1", "*1:15:14", "*1:17:8", "*1:18:8"],
"interesting_uses": ["*1:3:1", "*1:4:1", "*1:5:1", "*1:8:3", "*1:12:1", "*1:15:14", "*1:17:8", "*1:18:8"]
}, {
"id": 1,
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/type_usage_on_return_type.cc:7:7",
"definition": "*1:7:7",
"funcs": [1, 2],
"all_uses": ["tests/usage/type_usage_on_return_type.cc:7:7", "tests/usage/type_usage_on_return_type.cc:12:7", "tests/usage/type_usage_on_return_type.cc:13:6"]
"all_uses": ["*1:7:7", "*1:12:7", "*1:13:6"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/usage/type_usage_on_return_type.cc:4:7",
"definition": "tests/usage/type_usage_on_return_type.cc:5:7",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:3:7", "tests/usage/type_usage_on_return_type.cc:4:7", "tests/usage/type_usage_on_return_type.cc:5:7"]
"declaration": "*1:4:7",
"definition": "*1:5:7",
"all_uses": ["*1:3:7", "*1:4:7", "*1:5:7"]
}, {
"id": 1,
"usr": "c:@S@Foo@F@Get#I#",
"short_name": "Get",
"qualified_name": "Foo::Get",
"declaration": "tests/usage/type_usage_on_return_type.cc:8:9",
"definition": "tests/usage/type_usage_on_return_type.cc:12:12",
"declaration": "*1:8:9",
"definition": "*1:12:12",
"declaring_type": 1,
"all_uses": ["tests/usage/type_usage_on_return_type.cc:8:9", "tests/usage/type_usage_on_return_type.cc:12:12"]
"all_uses": ["*1:8:9", "*1:12:12"]
}, {
"id": 2,
"usr": "c:@S@Foo@F@Empty#",
"short_name": "Empty",
"qualified_name": "Foo::Empty",
"declaration": "tests/usage/type_usage_on_return_type.cc:9:8",
"definition": "tests/usage/type_usage_on_return_type.cc:13:11",
"declaration": "*1:9:8",
"definition": "*1:13:11",
"declaring_type": 1,
"all_uses": ["tests/usage/type_usage_on_return_type.cc:9:8", "tests/usage/type_usage_on_return_type.cc:13:11"]
"all_uses": ["*1:9:8", "*1:13:11"]
}, {
"id": 3,
"usr": "c:@F@external#",
"short_name": "external",
"qualified_name": "external",
"declaration": "tests/usage/type_usage_on_return_type.cc:15:20",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:15:20"]
"declaration": "*1:15:20",
"all_uses": ["*1:15:20"]
}, {
"id": 4,
"usr": "c:type_usage_on_return_type.cc@F@bar#",
"short_name": "bar",
"qualified_name": "bar",
"declaration": "tests/usage/type_usage_on_return_type.cc:17:14",
"definition": "tests/usage/type_usage_on_return_type.cc:18:14",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:17:14", "tests/usage/type_usage_on_return_type.cc:18:14"]
"declaration": "*1:17:14",
"definition": "*1:18:14",
"all_uses": ["*1:17:14", "*1:18:14"]
}],
"variables": []
}

View File

@ -15,71 +15,71 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Foo",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:1:8", "tests/usage/type_usage_typedef_and_using.cc:2:14", "tests/usage/type_usage_typedef_and_using.cc:3:9", "tests/usage/type_usage_typedef_and_using.cc:7:13"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using.cc:2:14", "tests/usage/type_usage_typedef_and_using.cc:3:9", "tests/usage/type_usage_typedef_and_using.cc:7:13"]
"all_uses": ["*1:1:8", "*1:2:14", "*1:3:9", "*1:7:13"],
"interesting_uses": ["*1:2:14", "*1:3:9", "*1:7:13"]
}, {
"id": 1,
"usr": "c:@Foo1",
"short_name": "Foo1",
"qualified_name": "Foo1",
"definition": "tests/usage/type_usage_typedef_and_using.cc:2:7",
"definition": "*1:2:7",
"alias_of": 0,
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:2:7", "tests/usage/type_usage_typedef_and_using.cc:4:14", "tests/usage/type_usage_typedef_and_using.cc:8:14"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using.cc:4:14", "tests/usage/type_usage_typedef_and_using.cc:8:14"]
"all_uses": ["*1:2:7", "*1:4:14", "*1:8:14"],
"interesting_uses": ["*1:4:14", "*1:8:14"]
}, {
"id": 2,
"usr": "c:type_usage_typedef_and_using.cc@T@Foo2",
"short_name": "Foo2",
"qualified_name": "Foo2",
"definition": "tests/usage/type_usage_typedef_and_using.cc:3:13",
"definition": "*1:3:13",
"alias_of": 0,
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:3:13", "tests/usage/type_usage_typedef_and_using.cc:9:14"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using.cc:9:14"]
"all_uses": ["*1:3:13", "*1:9:14"],
"interesting_uses": ["*1:9:14"]
}, {
"id": 3,
"usr": "c:@Foo3",
"short_name": "Foo3",
"qualified_name": "Foo3",
"definition": "tests/usage/type_usage_typedef_and_using.cc:4:7",
"definition": "*1:4:7",
"alias_of": 1,
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:4:7", "tests/usage/type_usage_typedef_and_using.cc:10:14"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using.cc:10:14"]
"all_uses": ["*1:4:7", "*1:10:14"],
"interesting_uses": ["*1:10:14"]
}, {
"id": 4,
"usr": "c:@Foo4",
"short_name": "Foo4",
"qualified_name": "Foo4",
"definition": "tests/usage/type_usage_typedef_and_using.cc:5:7",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:5:7"]
"definition": "*1:5:7",
"all_uses": ["*1:5:7"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@accept#*$@S@Foo#",
"short_name": "accept",
"qualified_name": "accept",
"definition": "tests/usage/type_usage_typedef_and_using.cc:7:6",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:7:6"]
"definition": "*1:7:6",
"all_uses": ["*1:7:6"]
}, {
"id": 1,
"usr": "c:@F@accept1#**$@S@Foo#",
"short_name": "accept1",
"qualified_name": "accept1",
"definition": "tests/usage/type_usage_typedef_and_using.cc:8:6",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:8:6"]
"definition": "*1:8:6",
"all_uses": ["*1:8:6"]
}, {
"id": 2,
"usr": "c:@F@accept2#*$@S@Foo#",
"short_name": "accept2",
"qualified_name": "accept2",
"definition": "tests/usage/type_usage_typedef_and_using.cc:9:6",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:9:6"]
"definition": "*1:9:6",
"all_uses": ["*1:9:6"]
}, {
"id": 3,
"usr": "c:@F@accept3#**$@S@Foo#",
"short_name": "accept3",
"qualified_name": "accept3",
"definition": "tests/usage/type_usage_typedef_and_using.cc:10:6",
"all_uses": ["tests/usage/type_usage_typedef_and_using.cc:10:6"]
"definition": "*1:10:6",
"all_uses": ["*1:10:6"]
}],
"variables": []
}

View File

@ -10,25 +10,25 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@ST>1#T@Foo",
"all_uses": ["tests/usage/type_usage_typedef_and_using_template.cc:2:8", "tests/usage/type_usage_typedef_and_using_template.cc:4:14", "tests/usage/type_usage_typedef_and_using_template.cc:5:9"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using_template.cc:4:14", "tests/usage/type_usage_typedef_and_using_template.cc:5:9"]
"all_uses": ["*1:2:8", "*1:4:14", "*1:5:9"],
"interesting_uses": ["*1:4:14", "*1:5:9"]
}, {
"id": 1,
"usr": "c:@Foo1",
"short_name": "Foo1",
"qualified_name": "Foo1",
"definition": "tests/usage/type_usage_typedef_and_using_template.cc:4:7",
"definition": "*1:4:7",
"alias_of": 0,
"all_uses": ["tests/usage/type_usage_typedef_and_using_template.cc:4:7", "tests/usage/type_usage_typedef_and_using_template.cc:5:13"],
"interesting_uses": ["tests/usage/type_usage_typedef_and_using_template.cc:5:13"]
"all_uses": ["*1:4:7", "*1:5:13"],
"interesting_uses": ["*1:5:13"]
}, {
"id": 2,
"usr": "c:type_usage_typedef_and_using_template.cc@T@Foo2",
"short_name": "Foo2",
"qualified_name": "Foo2",
"definition": "tests/usage/type_usage_typedef_and_using_template.cc:5:19",
"definition": "*1:5:19",
"alias_of": 0,
"all_uses": ["tests/usage/type_usage_typedef_and_using_template.cc:5:19"]
"all_uses": ["*1:5:19"]
}],
"functions": [],
"variables": []

View File

@ -17,37 +17,37 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/type_usage_various.cc:1:7",
"definition": "*1:1:7",
"funcs": [0],
"all_uses": ["tests/usage/type_usage_various.cc:1:7", "tests/usage/type_usage_various.cc:2:3", "tests/usage/type_usage_various.cc:5:1", "tests/usage/type_usage_various.cc:5:6", "tests/usage/type_usage_various.cc:6:3", "tests/usage/type_usage_various.cc:10:8"],
"interesting_uses": ["tests/usage/type_usage_various.cc:2:3", "tests/usage/type_usage_various.cc:5:1", "tests/usage/type_usage_various.cc:6:3", "tests/usage/type_usage_various.cc:10:8"]
"all_uses": ["*1:1:7", "*1:2:3", "*1:5:1", "*1:5:6", "*1:6:3", "*1:10:8"],
"interesting_uses": ["*1:2:3", "*1:5:1", "*1:6:3", "*1:10:8"]
}],
"functions": [{
"id": 0,
"usr": "c:@S@Foo@F@make#",
"short_name": "make",
"qualified_name": "Foo::make",
"declaration": "tests/usage/type_usage_various.cc:2:8",
"definition": "tests/usage/type_usage_various.cc:5:11",
"declaration": "*1:2:8",
"definition": "*1:5:11",
"declaring_type": 0,
"all_uses": ["tests/usage/type_usage_various.cc:2:8", "tests/usage/type_usage_various.cc:5:11"]
"all_uses": ["*1:2:8", "*1:5:11"]
}],
"variables": [{
"id": 0,
"usr": "c:type_usage_various.cc@58@S@Foo@F@make#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/type_usage_various.cc:6:7",
"definition": "*1:6:7",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_various.cc:6:7"]
"all_uses": ["*1:6:7"]
}, {
"id": 1,
"usr": "c:@foo",
"short_name": "foo",
"qualified_name": "foo",
"declaration": "tests/usage/type_usage_various.cc:10:12",
"declaration": "*1:10:12",
"variable_type": 0,
"all_uses": ["tests/usage/type_usage_various.cc:10:12"]
"all_uses": ["*1:10:12"]
}]
}
*/

View File

@ -22,59 +22,59 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/usage_inside_of_call.cc:5:8",
"definition": "*1:5:8",
"vars": [1, 0],
"all_uses": ["tests/usage/usage_inside_of_call.cc:5:8", "tests/usage/usage_inside_of_call.cc:10:5", "tests/usage/usage_inside_of_call.cc:14:22", "tests/usage/usage_inside_of_call.cc:14:40"]
"all_uses": ["*1:5:8", "*1:10:5", "*1:14:22", "*1:14:40"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@called#I#",
"short_name": "called",
"qualified_name": "called",
"declaration": "tests/usage/usage_inside_of_call.cc:1:6",
"callers": ["2@tests/usage/usage_inside_of_call.cc:14:3"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:1:6", "tests/usage/usage_inside_of_call.cc:14:3"]
"declaration": "*1:1:6",
"callers": ["2@*1:14:3"],
"all_uses": ["*1:1:6", "*1:14:3"]
}, {
"id": 1,
"usr": "c:@F@gen#",
"short_name": "gen",
"qualified_name": "gen",
"declaration": "tests/usage/usage_inside_of_call.cc:3:5",
"callers": ["2@tests/usage/usage_inside_of_call.cc:14:14"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:3:5", "tests/usage/usage_inside_of_call.cc:14:14"]
"declaration": "*1:3:5",
"callers": ["2@*1:14:14"],
"all_uses": ["*1:3:5", "*1:14:14"]
}, {
"id": 2,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/usage_inside_of_call.cc:12:6",
"callees": ["0@tests/usage/usage_inside_of_call.cc:14:3", "1@tests/usage/usage_inside_of_call.cc:14:14"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:12:6"]
"definition": "*1:12:6",
"callees": ["0@*1:14:3", "1@*1:14:14"],
"all_uses": ["*1:12:6"]
}],
"variables": [{
"id": 0,
"usr": "c:@S@Foo@static_var",
"short_name": "static_var",
"qualified_name": "Foo::static_var",
"declaration": "tests/usage/usage_inside_of_call.cc:6:14",
"definition": "tests/usage/usage_inside_of_call.cc:10:10",
"declaration": "*1:6:14",
"definition": "*1:10:10",
"declaring_type": 0,
"all_uses": ["tests/usage/usage_inside_of_call.cc:6:14", "tests/usage/usage_inside_of_call.cc:10:10", "tests/usage/usage_inside_of_call.cc:14:45"]
"all_uses": ["*1:6:14", "*1:10:10", "*1:14:45"]
}, {
"id": 1,
"usr": "c:@S@Foo@FI@field_var",
"short_name": "field_var",
"qualified_name": "Foo::field_var",
"definition": "tests/usage/usage_inside_of_call.cc:7:7",
"definition": "*1:7:7",
"declaring_type": 0,
"all_uses": ["tests/usage/usage_inside_of_call.cc:7:7", "tests/usage/usage_inside_of_call.cc:14:28"]
"all_uses": ["*1:7:7", "*1:14:28"]
}, {
"id": 2,
"usr": "c:usage_inside_of_call.cc@145@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/usage_inside_of_call.cc:13:7",
"all_uses": ["tests/usage/usage_inside_of_call.cc:13:7", "tests/usage/usage_inside_of_call.cc:14:10"]
"definition": "*1:13:7",
"all_uses": ["*1:13:7", "*1:14:10"]
}]
}
*/

View File

@ -15,25 +15,25 @@ OUTPUT:
"usr": "c:@F@called#I#",
"short_name": "called",
"qualified_name": "called",
"declaration": "tests/usage/usage_inside_of_call_simple.cc:1:6",
"callers": ["2@tests/usage/usage_inside_of_call_simple.cc:6:3"],
"all_uses": ["tests/usage/usage_inside_of_call_simple.cc:1:6", "tests/usage/usage_inside_of_call_simple.cc:6:3"]
"declaration": "*1:1:6",
"callers": ["2@*1:6:3"],
"all_uses": ["*1:1:6", "*1:6:3"]
}, {
"id": 1,
"usr": "c:@F@gen#",
"short_name": "gen",
"qualified_name": "gen",
"definition": "tests/usage/usage_inside_of_call_simple.cc:3:5",
"callers": ["2@tests/usage/usage_inside_of_call_simple.cc:6:10", "2@tests/usage/usage_inside_of_call_simple.cc:6:18"],
"all_uses": ["tests/usage/usage_inside_of_call_simple.cc:3:5", "tests/usage/usage_inside_of_call_simple.cc:6:10", "tests/usage/usage_inside_of_call_simple.cc:6:18"]
"definition": "*1:3:5",
"callers": ["2@*1:6:10", "2@*1:6:18"],
"all_uses": ["*1:3:5", "*1:6:10", "*1:6:18"]
}, {
"id": 2,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/usage_inside_of_call_simple.cc:5:6",
"callees": ["0@tests/usage/usage_inside_of_call_simple.cc:6:3", "1@tests/usage/usage_inside_of_call_simple.cc:6:10", "1@tests/usage/usage_inside_of_call_simple.cc:6:18"],
"all_uses": ["tests/usage/usage_inside_of_call_simple.cc:5:6"]
"definition": "*1:5:6",
"callees": ["0@*1:6:3", "1@*1:6:10", "1@*1:6:18"],
"all_uses": ["*1:5:6"]
}],
"variables": []
}

View File

@ -16,25 +16,25 @@ OUTPUT:
"usr": "c:@F@called#",
"short_name": "called",
"qualified_name": "called",
"definition": "tests/usage/var_usage_call_function.cc:1:6",
"callers": ["1@tests/usage/var_usage_call_function.cc:4:13", "1@tests/usage/var_usage_call_function.cc:7:3"],
"all_uses": ["tests/usage/var_usage_call_function.cc:1:6", "tests/usage/var_usage_call_function.cc:4:13", "tests/usage/var_usage_call_function.cc:7:3"]
"definition": "*1:1:6",
"callers": ["1@*1:4:13", "1@*1:7:3"],
"all_uses": ["*1:1:6", "*1:4:13", "*1:7:3"]
}, {
"id": 1,
"usr": "c:@F@caller#",
"short_name": "caller",
"qualified_name": "caller",
"definition": "tests/usage/var_usage_call_function.cc:3:6",
"callees": ["0@tests/usage/var_usage_call_function.cc:4:13", "0@tests/usage/var_usage_call_function.cc:7:3"],
"all_uses": ["tests/usage/var_usage_call_function.cc:3:6"]
"definition": "*1:3:6",
"callees": ["0@*1:4:13", "0@*1:7:3"],
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_call_function.cc@39@F@caller#@x",
"short_name": "x",
"qualified_name": "x",
"definition": "tests/usage/var_usage_call_function.cc:4:8",
"all_uses": ["tests/usage/var_usage_call_function.cc:4:8", "tests/usage/var_usage_call_function.cc:5:3"]
"definition": "*1:4:8",
"all_uses": ["*1:4:8", "*1:5:3"]
}]
}
*/

View File

@ -25,60 +25,60 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/var_usage_class_member.cc:1:7",
"definition": "*1:1:7",
"vars": [0, 1],
"all_uses": ["tests/usage/var_usage_class_member.cc:1:7", "tests/usage/var_usage_class_member.cc:11:3"],
"interesting_uses": ["tests/usage/var_usage_class_member.cc:11:3"]
"all_uses": ["*1:1:7", "*1:11:3"],
"interesting_uses": ["*1:11:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@accept#I#",
"short_name": "accept",
"qualified_name": "accept",
"declaration": "tests/usage/var_usage_class_member.cc:7:6",
"callers": ["2@tests/usage/var_usage_class_member.cc:14:3", "2@tests/usage/var_usage_class_member.cc:15:3", "2@tests/usage/var_usage_class_member.cc:17:3"],
"all_uses": ["tests/usage/var_usage_class_member.cc:7:6", "tests/usage/var_usage_class_member.cc:14:3", "tests/usage/var_usage_class_member.cc:15:3", "tests/usage/var_usage_class_member.cc:17:3"]
"declaration": "*1:7:6",
"callers": ["2@*1:14:3", "2@*1:15:3", "2@*1:17:3"],
"all_uses": ["*1:7:6", "*1:14:3", "*1:15:3", "*1:17:3"]
}, {
"id": 1,
"usr": "c:@F@accept#*I#",
"short_name": "accept",
"qualified_name": "accept",
"declaration": "tests/usage/var_usage_class_member.cc:8:6",
"callers": ["2@tests/usage/var_usage_class_member.cc:16:3"],
"all_uses": ["tests/usage/var_usage_class_member.cc:8:6", "tests/usage/var_usage_class_member.cc:16:3"]
"declaration": "*1:8:6",
"callers": ["2@*1:16:3"],
"all_uses": ["*1:8:6", "*1:16:3"]
}, {
"id": 2,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_class_member.cc:10:6",
"callees": ["0@tests/usage/var_usage_class_member.cc:14:3", "0@tests/usage/var_usage_class_member.cc:15:3", "1@tests/usage/var_usage_class_member.cc:16:3", "0@tests/usage/var_usage_class_member.cc:17:3"],
"all_uses": ["tests/usage/var_usage_class_member.cc:10:6"]
"definition": "*1:10:6",
"callees": ["0@*1:14:3", "0@*1:15:3", "1@*1:16:3", "0@*1:17:3"],
"all_uses": ["*1:10:6"]
}],
"variables": [{
"id": 0,
"usr": "c:@S@Foo@FI@x",
"short_name": "x",
"qualified_name": "Foo::x",
"definition": "tests/usage/var_usage_class_member.cc:3:7",
"definition": "*1:3:7",
"declaring_type": 0,
"all_uses": ["tests/usage/var_usage_class_member.cc:3:7", "tests/usage/var_usage_class_member.cc:12:5", "tests/usage/var_usage_class_member.cc:13:5", "tests/usage/var_usage_class_member.cc:14:12", "tests/usage/var_usage_class_member.cc:15:12", "tests/usage/var_usage_class_member.cc:16:13"]
"all_uses": ["*1:3:7", "*1:12:5", "*1:13:5", "*1:14:12", "*1:15:12", "*1:16:13"]
}, {
"id": 1,
"usr": "c:@S@Foo@FI@y",
"short_name": "y",
"qualified_name": "Foo::y",
"definition": "tests/usage/var_usage_class_member.cc:4:7",
"definition": "*1:4:7",
"declaring_type": 0,
"all_uses": ["tests/usage/var_usage_class_member.cc:4:7", "tests/usage/var_usage_class_member.cc:17:12"]
"all_uses": ["*1:4:7", "*1:17:12"]
}, {
"id": 2,
"usr": "c:var_usage_class_member.cc@105@F@foo#@f",
"short_name": "f",
"qualified_name": "f",
"definition": "tests/usage/var_usage_class_member.cc:11:7",
"definition": "*1:11:7",
"variable_type": 0,
"all_uses": ["tests/usage/var_usage_class_member.cc:11:7", "tests/usage/var_usage_class_member.cc:12:3", "tests/usage/var_usage_class_member.cc:13:3", "tests/usage/var_usage_class_member.cc:14:10", "tests/usage/var_usage_class_member.cc:15:10", "tests/usage/var_usage_class_member.cc:16:11", "tests/usage/var_usage_class_member.cc:17:10"]
"all_uses": ["*1:11:7", "*1:12:3", "*1:13:3", "*1:14:10", "*1:15:10", "*1:16:11", "*1:17:10"]
}]
}
*/

View File

@ -16,33 +16,33 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/usage/var_usage_class_member_static.cc:1:8",
"all_uses": ["tests/usage/var_usage_class_member_static.cc:1:8", "tests/usage/var_usage_class_member_static.cc:8:10"]
"definition": "*1:1:8",
"all_uses": ["*1:1:8", "*1:8:10"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@accept#I#",
"short_name": "accept",
"qualified_name": "accept",
"declaration": "tests/usage/var_usage_class_member_static.cc:5:6",
"callers": ["1@tests/usage/var_usage_class_member_static.cc:8:3"],
"all_uses": ["tests/usage/var_usage_class_member_static.cc:5:6", "tests/usage/var_usage_class_member_static.cc:8:3"]
"declaration": "*1:5:6",
"callers": ["1@*1:8:3"],
"all_uses": ["*1:5:6", "*1:8:3"]
}, {
"id": 1,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_class_member_static.cc:7:6",
"callees": ["0@tests/usage/var_usage_class_member_static.cc:8:3"],
"all_uses": ["tests/usage/var_usage_class_member_static.cc:7:6"]
"definition": "*1:7:6",
"callees": ["0@*1:8:3"],
"all_uses": ["*1:7:6"]
}],
"variables": [{
"id": 0,
"usr": "c:@S@Foo@x",
"short_name": "x",
"qualified_name": "Foo::x",
"declaration": "tests/usage/var_usage_class_member_static.cc:2:14",
"all_uses": ["tests/usage/var_usage_class_member_static.cc:2:14", "tests/usage/var_usage_class_member_static.cc:8:15"]
"declaration": "*1:2:14",
"all_uses": ["*1:2:14", "*1:8:15"]
}]
}
*/

View File

@ -12,16 +12,16 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_extern.cc:3:6",
"all_uses": ["tests/usage/var_usage_extern.cc:3:6"]
"definition": "*1:3:6",
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:@a",
"short_name": "a",
"qualified_name": "a",
"declaration": "tests/usage/var_usage_extern.cc:1:12",
"all_uses": ["tests/usage/var_usage_extern.cc:1:12", "tests/usage/var_usage_extern.cc:4:3"]
"declaration": "*1:1:12",
"all_uses": ["*1:1:12", "*1:4:3"]
}]
}
*/

View File

@ -10,16 +10,16 @@ OUTPUT:
"usr": "c:@F@foo#I#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_func_parameter.cc:1:6",
"all_uses": ["tests/usage/var_usage_func_parameter.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_func_parameter.cc@9@F@foo#I#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_func_parameter.cc:1:14",
"all_uses": ["tests/usage/var_usage_func_parameter.cc:1:14", "tests/usage/var_usage_func_parameter.cc:2:3"]
"definition": "*1:1:14",
"all_uses": ["*1:1:14", "*1:2:3"]
}]
}
*/

View File

@ -11,16 +11,16 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_local.cc:1:6",
"all_uses": ["tests/usage/var_usage_local.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_local.cc@16@F@foo#@x",
"short_name": "x",
"qualified_name": "x",
"definition": "tests/usage/var_usage_local.cc:2:7",
"all_uses": ["tests/usage/var_usage_local.cc:2:7", "tests/usage/var_usage_local.cc:3:3"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7", "*1:3:3"]
}]
}
*/

View File

@ -16,23 +16,23 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_shadowed_local.cc:1:6",
"all_uses": ["tests/usage/var_usage_shadowed_local.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_shadowed_local.cc@16@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_shadowed_local.cc:2:7",
"all_uses": ["tests/usage/var_usage_shadowed_local.cc:2:7", "tests/usage/var_usage_shadowed_local.cc:3:3", "tests/usage/var_usage_shadowed_local.cc:8:3"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7", "*1:3:3", "*1:8:3"]
}, {
"id": 1,
"usr": "c:var_usage_shadowed_local.cc@43@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_shadowed_local.cc:5:9",
"all_uses": ["tests/usage/var_usage_shadowed_local.cc:5:9", "tests/usage/var_usage_shadowed_local.cc:6:5"]
"definition": "*1:5:9",
"all_uses": ["*1:5:9", "*1:6:5"]
}]
}
*/

View File

@ -16,23 +16,23 @@ OUTPUT:
"usr": "c:@F@foo#I#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_shadowed_parameter.cc:1:6",
"all_uses": ["tests/usage/var_usage_shadowed_parameter.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_shadowed_parameter.cc@9@F@foo#I#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_shadowed_parameter.cc:1:14",
"all_uses": ["tests/usage/var_usage_shadowed_parameter.cc:1:14", "tests/usage/var_usage_shadowed_parameter.cc:2:3", "tests/usage/var_usage_shadowed_parameter.cc:7:3"]
"definition": "*1:1:14",
"all_uses": ["*1:1:14", "*1:2:3", "*1:7:3"]
}, {
"id": 1,
"usr": "c:var_usage_shadowed_parameter.cc@38@F@foo#I#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_shadowed_parameter.cc:4:9",
"all_uses": ["tests/usage/var_usage_shadowed_parameter.cc:4:9", "tests/usage/var_usage_shadowed_parameter.cc:5:5"]
"definition": "*1:4:9",
"all_uses": ["*1:4:9", "*1:5:5"]
}]
}
*/

View File

@ -13,16 +13,16 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/usage/var_usage_static.cc:3:6",
"all_uses": ["tests/usage/var_usage_static.cc:3:6"]
"definition": "*1:3:6",
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:var_usage_static.cc@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/usage/var_usage_static.cc:1:12",
"all_uses": ["tests/usage/var_usage_static.cc:1:12", "tests/usage/var_usage_static.cc:4:3"]
"definition": "*1:1:12",
"all_uses": ["*1:1:12", "*1:4:3"]
}]
}
*/

View File

@ -9,10 +9,10 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/vars/class_member.cc:1:7",
"definition": "*1:1:7",
"vars": [0],
"all_uses": ["tests/vars/class_member.cc:1:7", "tests/vars/class_member.cc:2:3"],
"interesting_uses": ["tests/vars/class_member.cc:2:3"]
"all_uses": ["*1:1:7", "*1:2:3"],
"interesting_uses": ["*1:2:3"]
}],
"functions": [],
"variables": [{
@ -20,10 +20,10 @@ OUTPUT:
"usr": "c:@S@Foo@FI@member",
"short_name": "member",
"qualified_name": "Foo::member",
"definition": "tests/vars/class_member.cc:2:8",
"definition": "*1:2:8",
"variable_type": 0,
"declaring_type": 0,
"all_uses": ["tests/vars/class_member.cc:2:8"]
"all_uses": ["*1:2:8"]
}]
}
*/

View File

@ -11,10 +11,10 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/vars/class_static_member.cc:1:7",
"definition": "*1:1:7",
"vars": [0],
"all_uses": ["tests/vars/class_static_member.cc:1:7", "tests/vars/class_static_member.cc:2:10", "tests/vars/class_static_member.cc:4:1", "tests/vars/class_static_member.cc:4:6"],
"interesting_uses": ["tests/vars/class_static_member.cc:2:10", "tests/vars/class_static_member.cc:4:1"]
"all_uses": ["*1:1:7", "*1:2:10", "*1:4:1", "*1:4:6"],
"interesting_uses": ["*1:2:10", "*1:4:1"]
}],
"functions": [],
"variables": [{
@ -22,11 +22,11 @@ OUTPUT:
"usr": "c:@S@Foo@member",
"short_name": "member",
"qualified_name": "Foo::member",
"declaration": "tests/vars/class_static_member.cc:2:15",
"definition": "tests/vars/class_static_member.cc:4:11",
"declaration": "*1:2:15",
"definition": "*1:4:11",
"variable_type": 0,
"declaring_type": 0,
"all_uses": ["tests/vars/class_static_member.cc:2:15", "tests/vars/class_static_member.cc:4:11"]
"all_uses": ["*1:2:15", "*1:4:11"]
}]
}
*/

View File

@ -9,8 +9,8 @@ OUTPUT:
"usr": "c:@S@Foo",
"short_name": "Foo",
"qualified_name": "Foo",
"definition": "tests/vars/class_static_member_decl_only.cc:1:7",
"all_uses": ["tests/vars/class_static_member_decl_only.cc:1:7"]
"definition": "*1:1:7",
"all_uses": ["*1:1:7"]
}],
"functions": [],
"variables": [{
@ -18,8 +18,8 @@ OUTPUT:
"usr": "c:@S@Foo@member",
"short_name": "member",
"qualified_name": "Foo::member",
"declaration": "tests/vars/class_static_member_decl_only.cc:2:14",
"all_uses": ["tests/vars/class_static_member_decl_only.cc:2:14"]
"declaration": "*1:2:14",
"all_uses": ["*1:2:14"]
}]
}
*/

View File

@ -10,25 +10,25 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Foo",
"all_uses": ["tests/vars/function_local.cc:1:8", "tests/vars/function_local.cc:4:3"],
"interesting_uses": ["tests/vars/function_local.cc:4:3"]
"all_uses": ["*1:1:8", "*1:4:3"],
"interesting_uses": ["*1:4:3"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/vars/function_local.cc:3:6",
"all_uses": ["tests/vars/function_local.cc:3:6"]
"definition": "*1:3:6",
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:function_local.cc@31@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/vars/function_local.cc:4:8",
"definition": "*1:4:8",
"variable_type": 0,
"all_uses": ["tests/vars/function_local.cc:4:8"]
"all_uses": ["*1:4:8"]
}]
}
*/

View File

@ -8,33 +8,33 @@ OUTPUT:
"types": [{
"id": 0,
"usr": "c:@S@Foo",
"all_uses": ["tests/vars/function_param.cc:1:8", "tests/vars/function_param.cc:3:10", "tests/vars/function_param.cc:3:19"],
"interesting_uses": ["tests/vars/function_param.cc:3:10", "tests/vars/function_param.cc:3:19"]
"all_uses": ["*1:1:8", "*1:3:10", "*1:3:19"],
"interesting_uses": ["*1:3:10", "*1:3:19"]
}],
"functions": [{
"id": 0,
"usr": "c:@F@foo#*$@S@Foo#S0_#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/vars/function_param.cc:3:6",
"all_uses": ["tests/vars/function_param.cc:3:6"]
"definition": "*1:3:6",
"all_uses": ["*1:3:6"]
}],
"variables": [{
"id": 0,
"usr": "c:function_param.cc@24@F@foo#*$@S@Foo#S0_#@p0",
"short_name": "p0",
"qualified_name": "p0",
"definition": "tests/vars/function_param.cc:3:15",
"definition": "*1:3:15",
"variable_type": 0,
"all_uses": ["tests/vars/function_param.cc:3:15"]
"all_uses": ["*1:3:15"]
}, {
"id": 1,
"usr": "c:function_param.cc@33@F@foo#*$@S@Foo#S0_#@p1",
"short_name": "p1",
"qualified_name": "p1",
"definition": "tests/vars/function_param.cc:3:24",
"definition": "*1:3:24",
"variable_type": 0,
"all_uses": ["tests/vars/function_param.cc:3:24"]
"all_uses": ["*1:3:24"]
}]
}
*/

View File

@ -8,8 +8,8 @@ OUTPUT:
"usr": "c:@F@foo#I#I#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/vars/function_param_unnamed.cc:1:6",
"all_uses": ["tests/vars/function_param_unnamed.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": []
}

View File

@ -16,23 +16,23 @@ OUTPUT:
"usr": "c:@F@foo#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/vars/function_shadow_local.cc:1:6",
"all_uses": ["tests/vars/function_shadow_local.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:function_shadow_local.cc@16@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/vars/function_shadow_local.cc:2:7",
"all_uses": ["tests/vars/function_shadow_local.cc:2:7", "tests/vars/function_shadow_local.cc:3:3", "tests/vars/function_shadow_local.cc:8:3"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7", "*1:3:3", "*1:8:3"]
}, {
"id": 1,
"usr": "c:function_shadow_local.cc@43@F@foo#@a",
"short_name": "a",
"qualified_name": "a",
"definition": "tests/vars/function_shadow_local.cc:5:9",
"all_uses": ["tests/vars/function_shadow_local.cc:5:9", "tests/vars/function_shadow_local.cc:6:5"]
"definition": "*1:5:9",
"all_uses": ["*1:5:9", "*1:6:5"]
}]
}
*/

View File

@ -10,23 +10,23 @@ OUTPUT:
"usr": "c:@F@foo#I#",
"short_name": "foo",
"qualified_name": "foo",
"definition": "tests/vars/function_shadow_param.cc:1:6",
"all_uses": ["tests/vars/function_shadow_param.cc:1:6"]
"definition": "*1:1:6",
"all_uses": ["*1:1:6"]
}],
"variables": [{
"id": 0,
"usr": "c:function_shadow_param.cc@9@F@foo#I#@p",
"short_name": "p",
"qualified_name": "p",
"definition": "tests/vars/function_shadow_param.cc:1:14",
"all_uses": ["tests/vars/function_shadow_param.cc:1:14"]
"definition": "*1:1:14",
"all_uses": ["*1:1:14"]
}, {
"id": 1,
"usr": "c:function_shadow_param.cc@21@F@foo#I#@p",
"short_name": "p",
"qualified_name": "p",
"definition": "tests/vars/function_shadow_param.cc:2:7",
"all_uses": ["tests/vars/function_shadow_param.cc:2:7"]
"definition": "*1:2:7",
"all_uses": ["*1:2:7"]
}]
}
*/

View File

@ -9,8 +9,8 @@ OUTPUT:
"usr": "c:global_variable.cc@global",
"short_name": "global",
"qualified_name": "global",
"definition": "tests/vars/global_variable.cc:1:12",
"all_uses": ["tests/vars/global_variable.cc:1:12"]
"definition": "*1:1:12",
"all_uses": ["*1:1:12"]
}]
}
*/

View File

@ -9,8 +9,8 @@ OUTPUT:
"usr": "c:@global",
"short_name": "global",
"qualified_name": "global",
"declaration": "tests/vars/global_variable_decl_only.cc:1:12",
"all_uses": ["tests/vars/global_variable_decl_only.cc:1:12"]
"declaration": "*1:1:12",
"all_uses": ["*1:1:12"]
}]
}
*/