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/clangmm.h"
#include "libclangmm/Utility.h" #include "libclangmm/Utility.h"
#include "bitfield.h"
#include "utils.h" #include "utils.h"
#include <rapidjson/writer.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> template<typename T>
struct LocalId { struct LocalId {
uint64_t local_id; uint64_t local_id;
@ -51,9 +145,9 @@ using VarId = LocalId<VarDef>;
template<typename T> template<typename T>
struct Ref { struct Ref {
LocalId<T> id; 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 TypeRef = Ref<TypeDef>;
using FuncRef = Ref<FuncDef>; using FuncRef = Ref<FuncDef>;
@ -78,7 +172,7 @@ struct TypeDef {
// It's also difficult to identify a `class Foo;` statement with the clang // 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 // indexer API (it's doable using cursor AST traversal), so we don't bother
// supporting the feature. // 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 // If set, then this is the same underlying type as the given value (ie, this
// type comes from a using or typedef statement). // type comes from a using or typedef statement).
@ -94,9 +188,9 @@ struct TypeDef {
std::vector<VarId> vars; std::vector<VarId> vars;
// Every usage, useful for things like renames. // 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. // 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) { TypeDef(TypeId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0); assert(usr.size() > 0);
@ -110,8 +204,8 @@ struct FuncDef {
std::string usr; std::string usr;
std::string short_name; std::string short_name;
std::string qualified_name; std::string qualified_name;
std::optional<clang::SourceLocation> declaration; std::optional<Location> declaration;
std::optional<clang::SourceLocation> definition; std::optional<Location> definition;
// Type which declares this one (ie, it is a method) // Type which declares this one (ie, it is a method)
std::optional<TypeId> declaring_type; std::optional<TypeId> declaring_type;
@ -134,7 +228,7 @@ struct FuncDef {
std::vector<FuncRef> callees; std::vector<FuncRef> callees;
// All usages. For interesting usages, see 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) { FuncDef(FuncId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0); assert(usr.size() > 0);
@ -147,10 +241,10 @@ struct VarDef {
std::string usr; std::string usr;
std::string short_name; std::string short_name;
std::string qualified_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 // TODO: definitions should be a list of locations, since there can be more
// than one. // than one.
std::optional<clang::SourceLocation> definition; std::optional<Location> definition;
// Type of the variable. // Type of the variable.
std::optional<TypeId> variable_type; std::optional<TypeId> variable_type;
@ -159,7 +253,7 @@ struct VarDef {
std::optional<TypeId> declaring_type; std::optional<TypeId> declaring_type;
// Usages. // Usages.
std::vector<clang::SourceLocation> all_uses; std::vector<Location> all_uses;
VarDef(VarId id, const std::string& usr) : id(id), usr(usr) { VarDef(VarId id, const std::string& usr) : id(id), usr(usr) {
assert(usr.size() > 0); assert(usr.size() > 0);
@ -178,6 +272,8 @@ struct ParsingDatabase {
std::vector<FuncDef> funcs; std::vector<FuncDef> funcs;
std::vector<VarDef> vars; std::vector<VarDef> vars;
FileDb file_db;
ParsingDatabase(); ParsingDatabase();
TypeId ToTypeId(const std::string& usr); TypeId ToTypeId(const std::string& usr);
@ -254,13 +350,13 @@ VarDef* ParsingDatabase::Resolve(VarId id) {
using Writer = rapidjson::PrettyWriter<rapidjson::StringBuffer>; 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); if (key) writer.Key(key);
std::string s = location.ToString(); std::string s = location.ToString();
writer.String(s.c_str()); 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) { if (location) {
Write(writer, key, location.value()); 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) if (locs.size() == 0)
return; return;
if (key) writer.Key(key); if (key) writer.Key(key);
writer.StartArray(); writer.StartArray();
for (const clang::SourceLocation& loc : locs) for (const Location& loc : locs)
Write(writer, nullptr, loc); Write(writer, nullptr, loc);
writer.EndArray(); writer.EndArray();
} }
@ -645,8 +741,8 @@ struct IndexParam {
// Record the last type usage location we recorded. Clang will sometimes // Record the last type usage location we recorded. Clang will sometimes
// visit the same expression twice so we wan't to avoid double-reporting // visit the same expression twice so we wan't to avoid double-reporting
// usage information for those locations. // usage information for those locations.
clang::SourceLocation last_type_usage_location; Location last_type_usage_location;
clang::SourceLocation last_func_usage_location; Location last_func_usage_location;
IndexParam(ParsingDatabase* db, NamespaceHelper* ns) : db(db), ns(ns) {} 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) { for (int i = usages.size() - 1; i >= 0; --i) {
if (usages[i] == usage) if (usages[i] == usage)
return true; return true;
@ -705,7 +801,7 @@ void VisitDeclForTypeUsageVisitorHandler(clang::Cursor cursor, VisitDeclForTypeU
if (param->is_interesting) { if (param->is_interesting) {
TypeDef* ref_type_def = db->Resolve(ref_type_id); 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); var_def->qualified_name = ns->QualifiedName(decl->semanticContainer, var_def->short_name);
//} //}
Location decl_loc = db->file_db.Resolve(decl->loc);
if (decl->isDefinition) if (decl->isDefinition)
var_def->definition = decl->loc; var_def->definition = decl_loc;
else 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); 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; var_def->declaring_type = declaring_type_id;
declaring_type_def->vars.push_back(var_id); declaring_type_def->vars.push_back(var_id);
} }
// std::optional<clang::SourceLocation> declaration; // std::optional<Location> declaration;
// std::vector<clang::SourceLocation> initializations; // std::vector<Location> initializations;
// std::optional<TypeId> variable_type; // std::optional<TypeId> variable_type;
// std::optional<TypeId> declaring_type; // std::optional<TypeId> declaring_type;
// std::vector<clang::SourceLocation> uses; // std::vector<Location> uses;
break; 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); func_def->qualified_name = ns->QualifiedName(decl->semanticContainer, func_def->short_name);
//} //}
Location decl_loc = db->file_db.Resolve(decl->loc);
if (decl->isDefinition) if (decl->isDefinition)
func_def->definition = decl->loc; func_def->definition = decl_loc;
else 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); 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<VarId> locals;
std::vector<FuncRef> callers; std::vector<FuncRef> callers;
std::vector<FuncRef> callees; std::vector<FuncRef> callees;
std::vector<clang::SourceLocation> uses; std::vector<Location> uses;
*/ */
break; break;
} }
@ -979,8 +1077,9 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
type_def->short_name = decl->entityInfo->name; type_def->short_name = decl->entityInfo->name;
type_def->qualified_name = ns->QualifiedName(decl->semanticContainer, type_def->short_name); type_def->qualified_name = ns->QualifiedName(decl->semanticContainer, type_def->short_name);
type_def->definition = decl->loc; Location decl_loc = db->file_db.Resolve(decl->loc);
type_def->all_uses.push_back(decl->loc); type_def->definition = decl_loc;
type_def->all_uses.push_back(decl_loc);
break; break;
} }
@ -1000,9 +1099,9 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
// } // }
assert(decl->isDefinition); assert(decl->isDefinition);
type_def->definition = 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->all_uses.push_back(decl_loc);
//type_def->alias_of //type_def->alias_of
//type_def->funcs //type_def->funcs
@ -1027,7 +1126,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) {
} }
default: 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->kind = " << decl->entityInfo->kind << std::endl;
std::cout << " entityInfo->USR = " << decl->entityInfo->USR << std::endl; std::cout << " entityInfo->USR = " << decl->entityInfo->USR << std::endl;
if (decl->declAsContainer) if (decl->declAsContainer)
@ -1064,7 +1163,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
{ {
VarId var_id = db->ToVarId(ref->referencedEntity->cursor); VarId var_id = db->ToVarId(ref->referencedEntity->cursor);
VarDef* var_def = db->Resolve(var_id); 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; break;
} }
@ -1081,7 +1180,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
// Don't report duplicate usages. // Don't report duplicate usages.
// TODO: search full history? // 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; if (param->last_func_usage_location == loc) break;
param->last_func_usage_location = loc; param->last_func_usage_location = loc;
@ -1126,7 +1225,7 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
// Foo f; // Foo f;
// } // }
// //
clang::SourceLocation loc = ref->loc; Location loc = db->file_db.Resolve(ref->loc);
if (!HasUsage(referenced_def->all_uses, loc)) if (!HasUsage(referenced_def->all_uses, loc))
referenced_def->all_uses.push_back(loc); referenced_def->all_uses.push_back(loc);
@ -1134,11 +1233,11 @@ void indexEntityReference(CXClientData client_data, const CXIdxEntityRefInfo* re
} }
default: 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; std::cout << " ref->referencedEntity->kind = " << ref->referencedEntity->kind << std::endl;
if (ref->parentEntity) if (ref->parentEntity)
std::cout << " ref->parentEntity->kind = " << ref->parentEntity->kind << std::endl; 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; std::cout << " ref->kind = " << ref->kind << std::endl;
if (ref->parentEntity) if (ref->parentEntity)
std::cout << " parentEntity = " << clang::Cursor(ref->parentEntity->cursor).ToString() << std::endl; std::cout << " parentEntity = " << clang::Cursor(ref->parentEntity->cursor).ToString() << std::endl;

View File

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

View File

@ -17,45 +17,45 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/constructors/constructor.cc:1:7", "definition": "*1:1:7",
"funcs": [0], "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"], "all_uses": ["*1:1:7", "*1:7:3", "*1:8:3", "*1:8:17"],
"interesting_uses": ["tests/constructors/constructor.cc:7:3", "tests/constructors/constructor.cc:8:3"] "interesting_uses": ["*1:7:3", "*1:8:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@F@Foo#", "usr": "c:@S@Foo@F@Foo#",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo::Foo", "qualified_name": "Foo::Foo",
"definition": "tests/constructors/constructor.cc:3:3", "definition": "*1:3:3",
"declaring_type": 0, "declaring_type": 0,
"callers": ["1@tests/constructors/constructor.cc:7:7", "1@tests/constructors/constructor.cc:8:17"], "callers": ["1@*1:7:7", "1@*1:8:17"],
"all_uses": ["tests/constructors/constructor.cc:3:3", "tests/constructors/constructor.cc:7:7", "tests/constructors/constructor.cc:8:17"] "all_uses": ["*1:3:3", "*1:7:7", "*1:8:17"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/constructors/constructor.cc:6:6", "definition": "*1:6:6",
"callees": ["0@tests/constructors/constructor.cc:7:7", "0@tests/constructors/constructor.cc:8:17"], "callees": ["0@*1:7:7", "0@*1:8:17"],
"all_uses": ["tests/constructors/constructor.cc:6:6"] "all_uses": ["*1:6:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:constructor.cc@56@F@foo#@f", "usr": "c:constructor.cc@56@F@foo#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/constructors/constructor.cc:7:7", "definition": "*1:7:7",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/constructors/constructor.cc:7:7"] "all_uses": ["*1:7:7"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:constructor.cc@66@F@foo#@f2", "usr": "c:constructor.cc@66@F@foo#@f2",
"short_name": "f2", "short_name": "f2",
"qualified_name": "f2", "qualified_name": "f2",
"definition": "tests/constructors/constructor.cc:8:8", "definition": "*1:8:8",
"variable_type": 0, "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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/constructors/destructor.cc:1:7", "definition": "*1:1:7",
"funcs": [0, 1], "funcs": [0, 1],
"all_uses": ["tests/constructors/destructor.cc:1:7", "tests/constructors/destructor.cc:8:3"], "all_uses": ["*1:1:7", "*1:8:3"],
"interesting_uses": ["tests/constructors/destructor.cc:8:3"] "interesting_uses": ["*1:8:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@F@Foo#", "usr": "c:@S@Foo@F@Foo#",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo::Foo", "qualified_name": "Foo::Foo",
"definition": "tests/constructors/destructor.cc:3:3", "definition": "*1:3:3",
"declaring_type": 0, "declaring_type": 0,
"callers": ["2@tests/constructors/destructor.cc:8:7"], "callers": ["2@*1:8:7"],
"all_uses": ["tests/constructors/destructor.cc:3:3", "tests/constructors/destructor.cc:8:7"] "all_uses": ["*1:3:3", "*1:8:7"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@Foo@F@~Foo#", "usr": "c:@S@Foo@F@~Foo#",
"short_name": "~Foo", "short_name": "~Foo",
"qualified_name": "Foo::~Foo", "qualified_name": "Foo::~Foo",
"definition": "tests/constructors/destructor.cc:4:3", "definition": "*1:4:3",
"declaring_type": 0, "declaring_type": 0,
"all_uses": ["tests/constructors/destructor.cc:4:3"] "all_uses": ["*1:4:3"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/constructors/destructor.cc:7:6", "definition": "*1:7:6",
"callees": ["0@tests/constructors/destructor.cc:8:7"], "callees": ["0@*1:8:7"],
"all_uses": ["tests/constructors/destructor.cc:7:6"] "all_uses": ["*1:7:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:destructor.cc@70@F@foo#@f", "usr": "c:destructor.cc@70@F@foo#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/constructors/destructor.cc:8:7", "definition": "*1:8:7",
"variable_type": 0, "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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class.cc:3:7", "definition": "*1: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"] "all_uses": ["*1:1:7", "*1:2:7", "*1:3:7", "*1:4:7"]
}], }],
"functions": [], "functions": [],
"variables": [] "variables": []

View File

@ -10,9 +10,9 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class_member.cc:1:7", "definition": "*1:1:7",
"vars": [0], "vars": [0],
"all_uses": ["tests/declaration_vs_definition/class_member.cc:1:7"] "all_uses": ["*1:1:7"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -20,9 +20,9 @@ OUTPUT:
"usr": "c:@S@Foo@FI@foo", "usr": "c:@S@Foo@FI@foo",
"short_name": "foo", "short_name": "foo",
"qualified_name": "Foo::foo", "qualified_name": "Foo::foo",
"definition": "tests/declaration_vs_definition/class_member.cc:2:7", "definition": "*1:2:7",
"declaring_type": 0, "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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/declaration_vs_definition/class_member_static.cc:1:7", "definition": "*1:1:7",
"vars": [0], "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": [], "functions": [],
"variables": [{ "variables": [{
@ -22,10 +22,10 @@ OUTPUT:
"usr": "c:@S@Foo@foo", "usr": "c:@S@Foo@foo",
"short_name": "foo", "short_name": "foo",
"qualified_name": "Foo::foo", "qualified_name": "Foo::foo",
"declaration": "tests/declaration_vs_definition/class_member_static.cc:2:14", "declaration": "*1:2:14",
"definition": "tests/declaration_vs_definition/class_member_static.cc:5:10", "definition": "*1:5:10",
"declaring_type": 0, "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#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"declaration": "tests/declaration_vs_definition/func.cc:4:6", "declaration": "*1:4:6",
"definition": "tests/declaration_vs_definition/func.cc:3:6", "definition": "*1: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"] "all_uses": ["*1:1:6", "*1:2:6", "*1:3:6", "*1:4:6"]
}], }],
"variables": [] "variables": []
} }

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -2,28 +2,6 @@ class Parent {};
class Derived : public 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: OUTPUT:
{ {
"types": [{ "types": [{
@ -31,18 +9,18 @@ OUTPUT:
"usr": "c:@S@Parent", "usr": "c:@S@Parent",
"short_name": "Parent", "short_name": "Parent",
"qualified_name": "Parent", "qualified_name": "Parent",
"definition": "tests/inheritance/class_inherit.cc:1:7", "definition": "*1:1:7",
"derived": [1], "derived": [1],
"all_uses": ["tests/inheritance/class_inherit.cc:1:7", "tests/inheritance/class_inherit.cc:2:24"], "all_uses": ["*1:1:7", "*1:2:24"],
"interesting_uses": ["tests/inheritance/class_inherit.cc:2:24"] "interesting_uses": ["*1:2:24"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@Derived", "usr": "c:@S@Derived",
"short_name": "Derived", "short_name": "Derived",
"qualified_name": "Derived", "qualified_name": "Derived",
"definition": "tests/inheritance/class_inherit.cc:2:7", "definition": "*1:2:7",
"parents": [0], "parents": [0],
"all_uses": ["tests/inheritance/class_inherit.cc:2:7"] "all_uses": ["*1:2:7"]
}], }],
"functions": [], "functions": [],
"variables": [] "variables": []

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -15,35 +15,35 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/func_usage_call_method.cc:1:8", "definition": "*1:1:8",
"all_uses": ["tests/usage/func_usage_call_method.cc:1:8", "tests/usage/func_usage_call_method.cc:6:3"], "all_uses": ["*1:1:8", "*1:6:3"],
"interesting_uses": ["tests/usage/func_usage_call_method.cc:6:3"] "interesting_uses": ["*1:6:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@F@Used#", "usr": "c:@S@Foo@F@Used#",
"short_name": "Used", "short_name": "Used",
"qualified_name": "Foo::Used", "qualified_name": "Foo::Used",
"declaration": "tests/usage/func_usage_call_method.cc:2:8", "declaration": "*1:2:8",
"callers": ["1@tests/usage/func_usage_call_method.cc:7:6"], "callers": ["1@*1:7:6"],
"all_uses": ["tests/usage/func_usage_call_method.cc:2:8", "tests/usage/func_usage_call_method.cc:7:6"] "all_uses": ["*1:2:8", "*1:7:6"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@user#", "usr": "c:@F@user#",
"short_name": "user", "short_name": "user",
"qualified_name": "user", "qualified_name": "user",
"definition": "tests/usage/func_usage_call_method.cc:5:6", "definition": "*1:5:6",
"callees": ["0@tests/usage/func_usage_call_method.cc:7:6"], "callees": ["0@*1:7:6"],
"all_uses": ["tests/usage/func_usage_call_method.cc:5:6"] "all_uses": ["*1:5:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:func_usage_call_method.cc@53@F@user#@f", "usr": "c:func_usage_call_method.cc@53@F@user#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/usage/func_usage_call_method.cc:6:8", "definition": "*1:6:8",
"variable_type": 0, "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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:5:7", "definition": "*1:5:7",
"vars": [0], "vars": [0],
"all_uses": ["tests/usage/func_usage_class_inline_var_def.cc:5:7"] "all_uses": ["*1:5:7"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:func_usage_class_inline_var_def.cc@F@helper#", "usr": "c:func_usage_class_inline_var_def.cc@F@helper#",
"short_name": "helper", "short_name": "helper",
"qualified_name": "helper", "qualified_name": "helper",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:1:12", "definition": "*1: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"] "all_uses": ["*1:1:12", "*1:6:11"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@FI@x", "usr": "c:@S@Foo@FI@x",
"short_name": "x", "short_name": "x",
"qualified_name": "Foo::x", "qualified_name": "Foo::x",
"definition": "tests/usage/func_usage_class_inline_var_def.cc:6:7", "definition": "*1:6:7",
"declaring_type": 0, "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#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"declaration": "tests/usage/func_usage_forward_decl_func.cc:1:6", "declaration": "*1:1:6",
"callers": ["1@tests/usage/func_usage_forward_decl_func.cc:4:3"], "callers": ["1@*1:4:3"],
"all_uses": ["tests/usage/func_usage_forward_decl_func.cc:1:6", "tests/usage/func_usage_forward_decl_func.cc:4:3"] "all_uses": ["*1:1:6", "*1:4:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@usage#", "usr": "c:@F@usage#",
"short_name": "usage", "short_name": "usage",
"qualified_name": "usage", "qualified_name": "usage",
"definition": "tests/usage/func_usage_forward_decl_func.cc:3:6", "definition": "*1:3:6",
"callees": ["0@tests/usage/func_usage_forward_decl_func.cc:4:3"], "callees": ["0@*1:4:3"],
"all_uses": ["tests/usage/func_usage_forward_decl_func.cc:3:6"] "all_uses": ["*1:3:6"]
}], }],
"variables": [] "variables": []
} }

View File

@ -14,35 +14,35 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/func_usage_forward_decl_method.cc:1:8", "definition": "*1:1:8",
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:1:8", "tests/usage/func_usage_forward_decl_method.cc:6:3"], "all_uses": ["*1:1:8", "*1:6:3"],
"interesting_uses": ["tests/usage/func_usage_forward_decl_method.cc:6:3"] "interesting_uses": ["*1:6:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@F@foo#", "usr": "c:@S@Foo@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "Foo::foo", "qualified_name": "Foo::foo",
"declaration": "tests/usage/func_usage_forward_decl_method.cc:2:8", "declaration": "*1:2:8",
"callers": ["1@tests/usage/func_usage_forward_decl_method.cc:7:6"], "callers": ["1@*1:7:6"],
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:2:8", "tests/usage/func_usage_forward_decl_method.cc:7:6"] "all_uses": ["*1:2:8", "*1:7:6"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@usage#", "usr": "c:@F@usage#",
"short_name": "usage", "short_name": "usage",
"qualified_name": "usage", "qualified_name": "usage",
"definition": "tests/usage/func_usage_forward_decl_method.cc:5:6", "definition": "*1:5:6",
"callees": ["0@tests/usage/func_usage_forward_decl_method.cc:7:6"], "callees": ["0@*1:7:6"],
"all_uses": ["tests/usage/func_usage_forward_decl_method.cc:5:6"] "all_uses": ["*1:5:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:func_usage_forward_decl_method.cc@53@F@usage#@f", "usr": "c:func_usage_forward_decl_method.cc@53@F@usage#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/usage/func_usage_forward_decl_method.cc:6:8", "definition": "*1:6:8",
"variable_type": 0, "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#", "usr": "c:@FT@>1#Taccept#t0.0#v#",
"short_name": "accept", "short_name": "accept",
"qualified_name": "accept", "qualified_name": "accept",
"declaration": "tests/usage/func_usage_template_func.cc:2:6", "declaration": "*1:2:6",
"callers": ["1@tests/usage/func_usage_template_func.cc:5:3", "1@tests/usage/func_usage_template_func.cc:6:3"], "callers": ["1@*1:5:3", "1@*1: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"] "all_uses": ["*1:2:6", "*1:5:3", "*1:6:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/func_usage_template_func.cc:4:6", "definition": "*1:4:6",
"callees": ["0@tests/usage/func_usage_template_func.cc:5:3", "0@tests/usage/func_usage_template_func.cc:6:3"], "callees": ["0@*1:5:3", "0@*1:6:3"],
"all_uses": ["tests/usage/func_usage_template_func.cc:4:6"] "all_uses": ["*1:4:6"]
}], }],
"variables": [] "variables": []
} }

View File

@ -16,49 +16,49 @@ OUTPUT:
"types": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@ST>1#T@unique_ptr", "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"], "all_uses": ["*1:2:7", "*1:6:8", "*1:7:8", "*1:9:1", "*1: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"] "interesting_uses": ["*1:6:8", "*1:7:8", "*1:9:1", "*1:10:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@S", "usr": "c:@S@S",
"short_name": "S", "short_name": "S",
"qualified_name": "S", "qualified_name": "S",
"definition": "tests/usage/type_usage_as_template_parameter.cc:4:8", "definition": "*1: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"], "all_uses": ["*1:4:8", "*1:7:19", "*1:9:12", "*1: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"] "interesting_uses": ["*1:7:19", "*1:9:12", "*1:10:14"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@return_type#", "usr": "c:@F@return_type#",
"short_name": "return_type", "short_name": "return_type",
"qualified_name": "return_type", "qualified_name": "return_type",
"definition": "tests/usage/type_usage_as_template_parameter.cc:9:16", "definition": "*1:9:16",
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:9:16"] "all_uses": ["*1:9:16"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_as_template_parameter.cc@f0", "usr": "c:type_usage_as_template_parameter.cc@f0",
"short_name": "f0", "short_name": "f0",
"qualified_name": "f0", "qualified_name": "f0",
"definition": "tests/usage/type_usage_as_template_parameter.cc:6:25", "definition": "*1:6:25",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:6:25"] "all_uses": ["*1:6:25"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:type_usage_as_template_parameter.cc@f1", "usr": "c:type_usage_as_template_parameter.cc@f1",
"short_name": "f1", "short_name": "f1",
"qualified_name": "f1", "qualified_name": "f1",
"definition": "tests/usage/type_usage_as_template_parameter.cc:7:22", "definition": "*1:7:22",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter.cc:7:22"] "all_uses": ["*1:7:22"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:type_usage_as_template_parameter.cc@150@F@return_type#@local", "usr": "c:type_usage_as_template_parameter.cc@150@F@return_type#@local",
"short_name": "local", "short_name": "local",
"qualified_name": "local", "qualified_name": "local",
"definition": "tests/usage/type_usage_as_template_parameter.cc:10:18", "definition": "*1:10:18",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@ST>2#T#T@unique_ptr", "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"], "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": ["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": ["*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, "id": 1,
"usr": "c:@S@S1", "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"], "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": ["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": ["*1:15:30", "*1:33:23", "*1:33:63", "*1:54:25", "*1:65:14", "*1:79:12"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:@S@S2", "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"], "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": ["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": ["*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, "id": 3,
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:64:7", "definition": "*1:64:7",
"funcs": [3], "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": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@as_return_type#*$@S@unique_ptr>#$@S@S1#$@S@S2#", "usr": "c:@F@as_return_type#*$@S@unique_ptr>#$@S@S1#$@S@S2#",
"short_name": "as_return_type", "short_name": "as_return_type",
"qualified_name": "as_return_type", "qualified_name": "as_return_type",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:33:37", "definition": "*1:33:37",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:33:37"] "all_uses": ["*1:33:37"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@no_return_type#I#", "usr": "c:@F@no_return_type#I#",
"short_name": "no_return_type", "short_name": "no_return_type",
"qualified_name": "no_return_type", "qualified_name": "no_return_type",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:40:6", "definition": "*1:40:6",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:40:6"] "all_uses": ["*1:40:6"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:@F@empty#", "usr": "c:@F@empty#",
"short_name": "empty", "short_name": "empty",
"qualified_name": "empty", "qualified_name": "empty",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:53:6", "definition": "*1:53:6",
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:53:6"] "all_uses": ["*1:53:6"]
}, { }, {
"id": 3, "id": 3,
"usr": "c:@S@Foo@F@foo#", "usr": "c:@S@Foo@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "Foo::foo", "qualified_name": "Foo::foo",
"declaration": "tests/usage/type_usage_as_template_parameter_complex.cc:65:23", "declaration": "*1:65:23",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:79:26", "definition": "*1:79:26",
"declaring_type": 3, "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": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:@f", "usr": "c:@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"declaration": "tests/usage/type_usage_as_template_parameter_complex.cc:15:43", "declaration": "*1:15:43",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_as_template_parameter_complex.cc:15:43"] "all_uses": ["*1:15:43"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:type_usage_as_template_parameter_complex.cc@1062@F@empty#@local", "usr": "c:type_usage_as_template_parameter_complex.cc@1062@F@empty#@local",
"short_name": "local", "short_name": "local",
"qualified_name": "local", "qualified_name": "local",
"definition": "tests/usage/type_usage_as_template_parameter_complex.cc:54:39", "definition": "*1:54:39",
"variable_type": 0, "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", "usr": "c:@ST>1#T@unique_ptr",
"short_name": "unique_ptr", "short_name": "unique_ptr",
"qualified_name": "unique_ptr", "qualified_name": "unique_ptr",
"definition": "tests/usage/type_usage_as_template_parameter_simple.cc:2:7", "definition": "*1: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"], "all_uses": ["*1:2:7", "*1:6:8"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:6:8"] "interesting_uses": ["*1:6:8"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@S", "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"], "all_uses": ["*1:4:8", "*1:6:19"],
"interesting_uses": ["tests/usage/type_usage_as_template_parameter_simple.cc:6:19"] "interesting_uses": ["*1:6:19"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -28,9 +28,9 @@ OUTPUT:
"usr": "c:type_usage_as_template_parameter_simple.cc@foo", "usr": "c:type_usage_as_template_parameter_simple.cc@foo",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/type_usage_as_template_parameter_simple.cc:6:22", "definition": "*1:6:22",
"variable_type": 0, "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", "usr": "c:@S@T",
"short_name": "T", "short_name": "T",
"qualified_name": "T", "qualified_name": "T",
"definition": "tests/usage/type_usage_declare_extern.cc:1:8", "definition": "*1:1:8",
"all_uses": ["tests/usage/type_usage_declare_extern.cc:1:8", "tests/usage/type_usage_declare_extern.cc:3:8"], "all_uses": ["*1:1:8", "*1:3:8"],
"interesting_uses": ["tests/usage/type_usage_declare_extern.cc:3:8"] "interesting_uses": ["*1:3:8"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -19,9 +19,9 @@ OUTPUT:
"usr": "c:@t", "usr": "c:@t",
"short_name": "t", "short_name": "t",
"qualified_name": "t", "qualified_name": "t",
"declaration": "tests/usage/type_usage_declare_extern.cc:3:10", "declaration": "*1:3:10",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@ForwardType", "usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_field.cc:1:8", "tests/usage/type_usage_declare_field.cc:5:3"], "all_uses": ["*1:1:8", "*1:5:3"],
"interesting_uses": ["tests/usage/type_usage_declare_field.cc:5:3"] "interesting_uses": ["*1:5:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@ImplementedType", "usr": "c:@S@ImplementedType",
"short_name": "ImplementedType", "short_name": "ImplementedType",
"qualified_name": "ImplementedType", "qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_field.cc:2:8", "definition": "*1:2:8",
"all_uses": ["tests/usage/type_usage_declare_field.cc:2:8", "tests/usage/type_usage_declare_field.cc:6:3"], "all_uses": ["*1:2:8", "*1:6:3"],
"interesting_uses": ["tests/usage/type_usage_declare_field.cc:6:3"] "interesting_uses": ["*1:6:3"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/type_usage_declare_field.cc:4:8", "definition": "*1:4:8",
"vars": [0, 1], "vars": [0, 1],
"all_uses": ["tests/usage/type_usage_declare_field.cc:4:8"] "all_uses": ["*1:4:8"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -37,19 +37,19 @@ OUTPUT:
"usr": "c:@S@Foo@FI@a", "usr": "c:@S@Foo@FI@a",
"short_name": "a", "short_name": "a",
"qualified_name": "Foo::a", "qualified_name": "Foo::a",
"definition": "tests/usage/type_usage_declare_field.cc:5:16", "definition": "*1:5:16",
"variable_type": 0, "variable_type": 0,
"declaring_type": 2, "declaring_type": 2,
"all_uses": ["tests/usage/type_usage_declare_field.cc:5:16"] "all_uses": ["*1:5:16"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@Foo@FI@b", "usr": "c:@S@Foo@FI@b",
"short_name": "b", "short_name": "b",
"qualified_name": "Foo::b", "qualified_name": "Foo::b",
"definition": "tests/usage/type_usage_declare_field.cc:6:19", "definition": "*1:6:19",
"variable_type": 1, "variable_type": 1,
"declaring_type": 2, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@ForwardType", "usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_local.cc:1:8", "tests/usage/type_usage_declare_local.cc:5:3"], "all_uses": ["*1:1:8", "*1:5:3"],
"interesting_uses": ["tests/usage/type_usage_declare_local.cc:5:3"] "interesting_uses": ["*1:5:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@ImplementedType", "usr": "c:@S@ImplementedType",
"short_name": "ImplementedType", "short_name": "ImplementedType",
"qualified_name": "ImplementedType", "qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_local.cc:2:8", "definition": "*1:2:8",
"all_uses": ["tests/usage/type_usage_declare_local.cc:2:8", "tests/usage/type_usage_declare_local.cc:6:3"], "all_uses": ["*1:2:8", "*1:6:3"],
"interesting_uses": ["tests/usage/type_usage_declare_local.cc:6:3"] "interesting_uses": ["*1:6:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@Foo#", "usr": "c:@F@Foo#",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/type_usage_declare_local.cc:4:6", "definition": "*1:4:6",
"all_uses": ["tests/usage/type_usage_declare_local.cc:4:6"] "all_uses": ["*1:4:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_declare_local.cc@67@F@Foo#@a", "usr": "c:type_usage_declare_local.cc@67@F@Foo#@a",
"short_name": "a", "short_name": "a",
"qualified_name": "a", "qualified_name": "a",
"definition": "tests/usage/type_usage_declare_local.cc:5:16", "definition": "*1:5:16",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_local.cc:5:16"] "all_uses": ["*1:5:16"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:type_usage_declare_local.cc@86@F@Foo#@b", "usr": "c:type_usage_declare_local.cc@86@F@Foo#@b",
"short_name": "b", "short_name": "b",
"qualified_name": "b", "qualified_name": "b",
"definition": "tests/usage/type_usage_declare_local.cc:6:19", "definition": "*1:6:19",
"variable_type": 1, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@ForwardType", "usr": "c:@S@ForwardType",
"all_uses": ["tests/usage/type_usage_declare_param.cc:1:8", "tests/usage/type_usage_declare_param.cc:4:10"], "all_uses": ["*1:1:8", "*1:4:10"],
"interesting_uses": ["tests/usage/type_usage_declare_param.cc:4:10"] "interesting_uses": ["*1:4:10"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@ImplementedType", "usr": "c:@S@ImplementedType",
"short_name": "ImplementedType", "short_name": "ImplementedType",
"qualified_name": "ImplementedType", "qualified_name": "ImplementedType",
"definition": "tests/usage/type_usage_declare_param.cc:2:8", "definition": "*1:2:8",
"all_uses": ["tests/usage/type_usage_declare_param.cc:2:8", "tests/usage/type_usage_declare_param.cc:4:26"], "all_uses": ["*1:2:8", "*1:4:26"],
"interesting_uses": ["tests/usage/type_usage_declare_param.cc:4:26"] "interesting_uses": ["*1:4:26"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#*$@S@ForwardType#$@S@ImplementedType#", "usr": "c:@F@foo#*$@S@ForwardType#$@S@ImplementedType#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_param.cc:4:6", "definition": "*1:4:6",
"all_uses": ["tests/usage/type_usage_declare_param.cc:4:6"] "all_uses": ["*1:4:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_declare_param.cc@60@F@foo#*$@S@ForwardType#$@S@ImplementedType#@f", "usr": "c:type_usage_declare_param.cc@60@F@foo#*$@S@ForwardType#$@S@ImplementedType#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/usage/type_usage_declare_param.cc:4:23", "definition": "*1:4:23",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_param.cc:4:23"] "all_uses": ["*1:4:23"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:type_usage_declare_param.cc@76@F@foo#*$@S@ForwardType#$@S@ImplementedType#@a", "usr": "c:type_usage_declare_param.cc@76@F@foo#*$@S@ForwardType#$@S@ImplementedType#@a",
"short_name": "a", "short_name": "a",
"qualified_name": "a", "qualified_name": "a",
"definition": "tests/usage/type_usage_declare_param.cc:4:42", "definition": "*1:4:42",
"variable_type": 1, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo", "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"], "all_uses": ["*1:1:8", "*1:3:10", "*1:3:18", "*1:4:10", "*1:4:18"],
"interesting_uses": ["tests/usage/type_usage_declare_param_prototype.cc:4:10", "tests/usage/type_usage_declare_param_prototype.cc:4:18"] "interesting_uses": ["*1:4:10", "*1:4:18"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#*$@S@Foo#S0_#", "usr": "c:@F@foo#*$@S@Foo#S0_#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"declaration": "tests/usage/type_usage_declare_param_prototype.cc:3:6", "declaration": "*1:3:6",
"definition": "tests/usage/type_usage_declare_param_prototype.cc:4:6", "definition": "*1:4:6",
"all_uses": ["tests/usage/type_usage_declare_param_prototype.cc:3:6", "tests/usage/type_usage_declare_param_prototype.cc:4:6"] "all_uses": ["*1:3:6", "*1:4:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_declare_param_prototype.cc@49@F@foo#*$@S@Foo#S0_#@f", "usr": "c:type_usage_declare_param_prototype.cc@49@F@foo#*$@S@Foo#S0_#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/usage/type_usage_declare_param_prototype.cc:4:15", "definition": "*1:4:15",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@ForwardType", "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"], "all_uses": ["*1:1:8", "*1:2:10"],
"interesting_uses": ["tests/usage/type_usage_declare_param_unnamed.cc:2:10"] "interesting_uses": ["*1:2:10"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#*$@S@ForwardType#", "usr": "c:@F@foo#*$@S@ForwardType#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_param_unnamed.cc:2:6", "definition": "*1:2:6",
"all_uses": ["tests/usage/type_usage_declare_param_unnamed.cc:2:6"] "all_uses": ["*1:2:6"]
}], }],
"variables": [] "variables": []
} }

View File

@ -14,66 +14,66 @@ OUTPUT:
"usr": "c:@S@Type", "usr": "c:@S@Type",
"short_name": "Type", "short_name": "Type",
"qualified_name": "Type", "qualified_name": "Type",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:1:8", "definition": "*1: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"], "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": ["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": ["*1:3:10", "*1:3:26", "*1:4:3", "*1:5:3", "*1:6:9", "*1:7:9"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#&$@S@Type#&1S1_#", "usr": "c:@F@foo#&$@S@Type#&1S1_#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:6", "definition": "*1:3:6",
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:6"] "all_uses": ["*1:3:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_declare_qualifiers.cc@28@F@foo#&$@S@Type#&1S1_#@a0", "usr": "c:type_usage_declare_qualifiers.cc@28@F@foo#&$@S@Type#&1S1_#@a0",
"short_name": "a0", "short_name": "a0",
"qualified_name": "a0", "qualified_name": "a0",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:16", "definition": "*1:3:16",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:16"] "all_uses": ["*1:3:16"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:type_usage_declare_qualifiers.cc@38@F@foo#&$@S@Type#&1S1_#@a1", "usr": "c:type_usage_declare_qualifiers.cc@38@F@foo#&$@S@Type#&1S1_#@a1",
"short_name": "a1", "short_name": "a1",
"qualified_name": "a1", "qualified_name": "a1",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:3:32", "definition": "*1:3:32",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:3:32"] "all_uses": ["*1:3:32"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:type_usage_declare_qualifiers.cc@59@F@foo#&$@S@Type#&1S1_#@a2", "usr": "c:type_usage_declare_qualifiers.cc@59@F@foo#&$@S@Type#&1S1_#@a2",
"short_name": "a2", "short_name": "a2",
"qualified_name": "a2", "qualified_name": "a2",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:4:8", "definition": "*1:4:8",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:4:8"] "all_uses": ["*1:4:8"]
}, { }, {
"id": 3, "id": 3,
"usr": "c:type_usage_declare_qualifiers.cc@71@F@foo#&$@S@Type#&1S1_#@a3", "usr": "c:type_usage_declare_qualifiers.cc@71@F@foo#&$@S@Type#&1S1_#@a3",
"short_name": "a3", "short_name": "a3",
"qualified_name": "a3", "qualified_name": "a3",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:5:9", "definition": "*1:5:9",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:5:9"] "all_uses": ["*1:5:9"]
}, { }, {
"id": 4, "id": 4,
"usr": "c:type_usage_declare_qualifiers.cc@84@F@foo#&$@S@Type#&1S1_#@a4", "usr": "c:type_usage_declare_qualifiers.cc@84@F@foo#&$@S@Type#&1S1_#@a4",
"short_name": "a4", "short_name": "a4",
"qualified_name": "a4", "qualified_name": "a4",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:6:15", "definition": "*1:6:15",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_declare_qualifiers.cc:6:15"] "all_uses": ["*1:6:15"]
}, { }, {
"id": 5, "id": 5,
"usr": "c:type_usage_declare_qualifiers.cc@103@F@foo#&$@S@Type#&1S1_#@a5", "usr": "c:type_usage_declare_qualifiers.cc@103@F@foo#&$@S@Type#&1S1_#@a5",
"short_name": "a5", "short_name": "a5",
"qualified_name": "a5", "qualified_name": "a5",
"definition": "tests/usage/type_usage_declare_qualifiers.cc:7:21", "definition": "*1:7:21",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@Type", "usr": "c:@S@Type",
"all_uses": ["tests/usage/type_usage_declare_static.cc:1:8", "tests/usage/type_usage_declare_static.cc:2:8"], "all_uses": ["*1:1:8", "*1:2:8"],
"interesting_uses": ["tests/usage/type_usage_declare_static.cc:2:8"] "interesting_uses": ["*1:2:8"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -15,9 +15,9 @@ OUTPUT:
"usr": "c:type_usage_declare_static.cc@t", "usr": "c:type_usage_declare_static.cc@t",
"short_name": "t", "short_name": "t",
"qualified_name": "t", "qualified_name": "t",
"definition": "tests/usage/type_usage_declare_static.cc:2:13", "definition": "*1:2:13",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@Type", "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"], "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": ["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": ["*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, "id": 1,
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/type_usage_on_return_type.cc:7:7", "definition": "*1:7:7",
"funcs": [1, 2], "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": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"declaration": "tests/usage/type_usage_on_return_type.cc:4:7", "declaration": "*1:4:7",
"definition": "tests/usage/type_usage_on_return_type.cc:5:7", "definition": "*1: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"] "all_uses": ["*1:3:7", "*1:4:7", "*1:5:7"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@S@Foo@F@Get#I#", "usr": "c:@S@Foo@F@Get#I#",
"short_name": "Get", "short_name": "Get",
"qualified_name": "Foo::Get", "qualified_name": "Foo::Get",
"declaration": "tests/usage/type_usage_on_return_type.cc:8:9", "declaration": "*1:8:9",
"definition": "tests/usage/type_usage_on_return_type.cc:12:12", "definition": "*1:12:12",
"declaring_type": 1, "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, "id": 2,
"usr": "c:@S@Foo@F@Empty#", "usr": "c:@S@Foo@F@Empty#",
"short_name": "Empty", "short_name": "Empty",
"qualified_name": "Foo::Empty", "qualified_name": "Foo::Empty",
"declaration": "tests/usage/type_usage_on_return_type.cc:9:8", "declaration": "*1:9:8",
"definition": "tests/usage/type_usage_on_return_type.cc:13:11", "definition": "*1:13:11",
"declaring_type": 1, "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, "id": 3,
"usr": "c:@F@external#", "usr": "c:@F@external#",
"short_name": "external", "short_name": "external",
"qualified_name": "external", "qualified_name": "external",
"declaration": "tests/usage/type_usage_on_return_type.cc:15:20", "declaration": "*1:15:20",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:15:20"] "all_uses": ["*1:15:20"]
}, { }, {
"id": 4, "id": 4,
"usr": "c:type_usage_on_return_type.cc@F@bar#", "usr": "c:type_usage_on_return_type.cc@F@bar#",
"short_name": "bar", "short_name": "bar",
"qualified_name": "bar", "qualified_name": "bar",
"declaration": "tests/usage/type_usage_on_return_type.cc:17:14", "declaration": "*1:17:14",
"definition": "tests/usage/type_usage_on_return_type.cc:18:14", "definition": "*1:18:14",
"all_uses": ["tests/usage/type_usage_on_return_type.cc:17:14", "tests/usage/type_usage_on_return_type.cc:18:14"] "all_uses": ["*1:17:14", "*1:18:14"]
}], }],
"variables": [] "variables": []
} }

View File

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

View File

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

View File

@ -17,37 +17,37 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/type_usage_various.cc:1:7", "definition": "*1:1:7",
"funcs": [0], "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"], "all_uses": ["*1:1:7", "*1:2:3", "*1:5:1", "*1:5:6", "*1:6:3", "*1: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"] "interesting_uses": ["*1:2:3", "*1:5:1", "*1:6:3", "*1:10:8"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@F@make#", "usr": "c:@S@Foo@F@make#",
"short_name": "make", "short_name": "make",
"qualified_name": "Foo::make", "qualified_name": "Foo::make",
"declaration": "tests/usage/type_usage_various.cc:2:8", "declaration": "*1:2:8",
"definition": "tests/usage/type_usage_various.cc:5:11", "definition": "*1:5:11",
"declaring_type": 0, "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": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:type_usage_various.cc@58@S@Foo@F@make#@f", "usr": "c:type_usage_various.cc@58@S@Foo@F@make#@f",
"short_name": "f", "short_name": "f",
"qualified_name": "f", "qualified_name": "f",
"definition": "tests/usage/type_usage_various.cc:6:7", "definition": "*1:6:7",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/usage/type_usage_various.cc:6:7"] "all_uses": ["*1:6:7"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@foo", "usr": "c:@foo",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"declaration": "tests/usage/type_usage_various.cc:10:12", "declaration": "*1:10:12",
"variable_type": 0, "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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/usage/usage_inside_of_call.cc:5:8", "definition": "*1:5:8",
"vars": [1, 0], "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": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@called#I#", "usr": "c:@F@called#I#",
"short_name": "called", "short_name": "called",
"qualified_name": "called", "qualified_name": "called",
"declaration": "tests/usage/usage_inside_of_call.cc:1:6", "declaration": "*1:1:6",
"callers": ["2@tests/usage/usage_inside_of_call.cc:14:3"], "callers": ["2@*1:14:3"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:1:6", "tests/usage/usage_inside_of_call.cc:14:3"] "all_uses": ["*1:1:6", "*1:14:3"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:@F@gen#", "usr": "c:@F@gen#",
"short_name": "gen", "short_name": "gen",
"qualified_name": "gen", "qualified_name": "gen",
"declaration": "tests/usage/usage_inside_of_call.cc:3:5", "declaration": "*1:3:5",
"callers": ["2@tests/usage/usage_inside_of_call.cc:14:14"], "callers": ["2@*1:14:14"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:3:5", "tests/usage/usage_inside_of_call.cc:14:14"] "all_uses": ["*1:3:5", "*1:14:14"]
}, { }, {
"id": 2, "id": 2,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/usage/usage_inside_of_call.cc:12:6", "definition": "*1:12:6",
"callees": ["0@tests/usage/usage_inside_of_call.cc:14:3", "1@tests/usage/usage_inside_of_call.cc:14:14"], "callees": ["0@*1:14:3", "1@*1:14:14"],
"all_uses": ["tests/usage/usage_inside_of_call.cc:12:6"] "all_uses": ["*1:12:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo@static_var", "usr": "c:@S@Foo@static_var",
"short_name": "static_var", "short_name": "static_var",
"qualified_name": "Foo::static_var", "qualified_name": "Foo::static_var",
"declaration": "tests/usage/usage_inside_of_call.cc:6:14", "declaration": "*1:6:14",
"definition": "tests/usage/usage_inside_of_call.cc:10:10", "definition": "*1:10:10",
"declaring_type": 0, "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, "id": 1,
"usr": "c:@S@Foo@FI@field_var", "usr": "c:@S@Foo@FI@field_var",
"short_name": "field_var", "short_name": "field_var",
"qualified_name": "Foo::field_var", "qualified_name": "Foo::field_var",
"definition": "tests/usage/usage_inside_of_call.cc:7:7", "definition": "*1:7:7",
"declaring_type": 0, "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, "id": 2,
"usr": "c:usage_inside_of_call.cc@145@F@foo#@a", "usr": "c:usage_inside_of_call.cc@145@F@foo#@a",
"short_name": "a", "short_name": "a",
"qualified_name": "a", "qualified_name": "a",
"definition": "tests/usage/usage_inside_of_call.cc:13:7", "definition": "*1:13:7",
"all_uses": ["tests/usage/usage_inside_of_call.cc:13:7", "tests/usage/usage_inside_of_call.cc:14:10"] "all_uses": ["*1:13:7", "*1:14:10"]
}] }]
} }
*/ */

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -9,10 +9,10 @@ OUTPUT:
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/vars/class_member.cc:1:7", "definition": "*1:1:7",
"vars": [0], "vars": [0],
"all_uses": ["tests/vars/class_member.cc:1:7", "tests/vars/class_member.cc:2:3"], "all_uses": ["*1:1:7", "*1:2:3"],
"interesting_uses": ["tests/vars/class_member.cc:2:3"] "interesting_uses": ["*1:2:3"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -20,10 +20,10 @@ OUTPUT:
"usr": "c:@S@Foo@FI@member", "usr": "c:@S@Foo@FI@member",
"short_name": "member", "short_name": "member",
"qualified_name": "Foo::member", "qualified_name": "Foo::member",
"definition": "tests/vars/class_member.cc:2:8", "definition": "*1:2:8",
"variable_type": 0, "variable_type": 0,
"declaring_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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/vars/class_static_member.cc:1:7", "definition": "*1:1:7",
"vars": [0], "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"], "all_uses": ["*1:1:7", "*1:2:10", "*1:4:1", "*1:4:6"],
"interesting_uses": ["tests/vars/class_static_member.cc:2:10", "tests/vars/class_static_member.cc:4:1"] "interesting_uses": ["*1:2:10", "*1:4:1"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -22,11 +22,11 @@ OUTPUT:
"usr": "c:@S@Foo@member", "usr": "c:@S@Foo@member",
"short_name": "member", "short_name": "member",
"qualified_name": "Foo::member", "qualified_name": "Foo::member",
"declaration": "tests/vars/class_static_member.cc:2:15", "declaration": "*1:2:15",
"definition": "tests/vars/class_static_member.cc:4:11", "definition": "*1:4:11",
"variable_type": 0, "variable_type": 0,
"declaring_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", "usr": "c:@S@Foo",
"short_name": "Foo", "short_name": "Foo",
"qualified_name": "Foo", "qualified_name": "Foo",
"definition": "tests/vars/class_static_member_decl_only.cc:1:7", "definition": "*1:1:7",
"all_uses": ["tests/vars/class_static_member_decl_only.cc:1:7"] "all_uses": ["*1:1:7"]
}], }],
"functions": [], "functions": [],
"variables": [{ "variables": [{
@ -18,8 +18,8 @@ OUTPUT:
"usr": "c:@S@Foo@member", "usr": "c:@S@Foo@member",
"short_name": "member", "short_name": "member",
"qualified_name": "Foo::member", "qualified_name": "Foo::member",
"declaration": "tests/vars/class_static_member_decl_only.cc:2:14", "declaration": "*1:2:14",
"all_uses": ["tests/vars/class_static_member_decl_only.cc:2:14"] "all_uses": ["*1:2:14"]
}] }]
} }
*/ */

View File

@ -10,25 +10,25 @@ OUTPUT:
"types": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo", "usr": "c:@S@Foo",
"all_uses": ["tests/vars/function_local.cc:1:8", "tests/vars/function_local.cc:4:3"], "all_uses": ["*1:1:8", "*1:4:3"],
"interesting_uses": ["tests/vars/function_local.cc:4:3"] "interesting_uses": ["*1:4:3"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#", "usr": "c:@F@foo#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/vars/function_local.cc:3:6", "definition": "*1:3:6",
"all_uses": ["tests/vars/function_local.cc:3:6"] "all_uses": ["*1:3:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:function_local.cc@31@F@foo#@a", "usr": "c:function_local.cc@31@F@foo#@a",
"short_name": "a", "short_name": "a",
"qualified_name": "a", "qualified_name": "a",
"definition": "tests/vars/function_local.cc:4:8", "definition": "*1:4:8",
"variable_type": 0, "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": [{ "types": [{
"id": 0, "id": 0,
"usr": "c:@S@Foo", "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"], "all_uses": ["*1:1:8", "*1:3:10", "*1:3:19"],
"interesting_uses": ["tests/vars/function_param.cc:3:10", "tests/vars/function_param.cc:3:19"] "interesting_uses": ["*1:3:10", "*1:3:19"]
}], }],
"functions": [{ "functions": [{
"id": 0, "id": 0,
"usr": "c:@F@foo#*$@S@Foo#S0_#", "usr": "c:@F@foo#*$@S@Foo#S0_#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/vars/function_param.cc:3:6", "definition": "*1:3:6",
"all_uses": ["tests/vars/function_param.cc:3:6"] "all_uses": ["*1:3:6"]
}], }],
"variables": [{ "variables": [{
"id": 0, "id": 0,
"usr": "c:function_param.cc@24@F@foo#*$@S@Foo#S0_#@p0", "usr": "c:function_param.cc@24@F@foo#*$@S@Foo#S0_#@p0",
"short_name": "p0", "short_name": "p0",
"qualified_name": "p0", "qualified_name": "p0",
"definition": "tests/vars/function_param.cc:3:15", "definition": "*1:3:15",
"variable_type": 0, "variable_type": 0,
"all_uses": ["tests/vars/function_param.cc:3:15"] "all_uses": ["*1:3:15"]
}, { }, {
"id": 1, "id": 1,
"usr": "c:function_param.cc@33@F@foo#*$@S@Foo#S0_#@p1", "usr": "c:function_param.cc@33@F@foo#*$@S@Foo#S0_#@p1",
"short_name": "p1", "short_name": "p1",
"qualified_name": "p1", "qualified_name": "p1",
"definition": "tests/vars/function_param.cc:3:24", "definition": "*1:3:24",
"variable_type": 0, "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#", "usr": "c:@F@foo#I#I#",
"short_name": "foo", "short_name": "foo",
"qualified_name": "foo", "qualified_name": "foo",
"definition": "tests/vars/function_param_unnamed.cc:1:6", "definition": "*1:1:6",
"all_uses": ["tests/vars/function_param_unnamed.cc:1:6"] "all_uses": ["*1:1:6"]
}], }],
"variables": [] "variables": []
} }

View File

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

View File

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

View File

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

View File

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