From d6123bd861925b4004cb75893b4a7e446ea5955e Mon Sep 17 00:00:00 2001 From: Jacob Dufault Date: Thu, 13 Apr 2017 00:47:47 -0700 Subject: [PATCH] Every function usage is now considered a call of that function. This means we will now report function calls that happen in the global scope (previously, those would only show up for find all refs). --- foo/_empty_test.cc | 8 +- foo/a.cc | 17 ++- foo/a.h | 2 + foo/b.cc | 6 + src/command_line.cc | 119 ++++++++++-------- src/indexer.cc | 44 ++++--- src/indexer.h | 36 +++--- src/query.cc | 11 +- src/query.h | 22 ++-- src/serializer.cc | 15 ++- src/test.cc | 29 +++++ tests/constructors/constructor.cc | 6 +- tests/constructors/destructor.cc | 9 +- tests/constructors/invalid_reference.cc | 3 +- tests/declaration_vs_definition/func.cc | 3 +- tests/declaration_vs_definition/method.cc | 9 +- tests/function_declaration.cc | 3 +- tests/function_declaration_definition.cc | 3 +- tests/function_definition.cc | 3 +- tests/inheritance/function_override.cc | 6 +- tests/inheritance/interface_pure_virtual.cc | 3 +- tests/method_declaration.cc | 3 +- tests/method_definition.cc | 3 +- tests/method_inline_declaration.cc | 3 +- tests/multi_file/impl.cc | 9 +- tests/multi_file/simple_impl.cc | 9 +- tests/namespaces/anonymous_function.cc | 3 +- tests/namespaces/function_declaration.cc | 3 +- tests/namespaces/function_definition.cc | 3 +- tests/namespaces/method_declaration.cc | 3 +- tests/namespaces/method_definition.cc | 3 +- tests/namespaces/method_inline_declaration.cc | 3 +- tests/namespaces/namespace_reference.cc | 6 +- tests/outline/outline.cc | 1 + tests/outline/outline2.cc | 4 +- tests/stl.cc | 4 +- .../func_specialized_template_param.cc | 3 +- ...ass_template_func_usage_folded_into_one.cc | 2 +- .../templates/specialized_func_definition.cc | 3 +- ...mplate_class_func_usage_folded_into_one.cc | 2 +- ...ass_template_func_usage_folded_into_one.cc | 2 +- .../template_func_usage_folded_into_one.cc | 2 +- tests/unions/union_usage.cc | 3 +- tests/usage/func_called_from_constructor.cc | 6 +- .../usage/func_called_from_macro_argument.cc | 6 +- tests/usage/func_called_from_template.cc | 9 +- tests/usage/func_called_implicit_ctor.cc | 9 +- tests/usage/func_usage_addr_func.cc | 9 +- tests/usage/func_usage_addr_method.cc | 6 +- tests/usage/func_usage_call_func.cc | 6 +- tests/usage/func_usage_call_method.cc | 6 +- .../usage/func_usage_class_inline_var_def.cc | 2 +- tests/usage/func_usage_forward_decl_func.cc | 6 +- tests/usage/func_usage_forward_decl_method.cc | 6 +- tests/usage/func_usage_template_func.cc | 6 +- .../usage/type_usage_as_template_parameter.cc | 3 +- ...ype_usage_as_template_parameter_complex.cc | 12 +- tests/usage/type_usage_declare_local.cc | 3 +- tests/usage/type_usage_declare_param.cc | 3 +- .../type_usage_declare_param_prototype.cc | 3 +- .../usage/type_usage_declare_param_unnamed.cc | 3 +- tests/usage/type_usage_declare_qualifiers.cc | 3 +- tests/usage/type_usage_on_return_type.cc | 15 +-- tests/usage/type_usage_typedef_and_using.cc | 12 +- tests/usage/type_usage_various.cc | 3 +- tests/usage/usage_inside_of_call.cc | 9 +- tests/usage/usage_inside_of_call_simple.cc | 9 +- tests/usage/var_usage_call_function.cc | 6 +- tests/usage/var_usage_class_member.cc | 9 +- tests/usage/var_usage_class_member_static.cc | 6 +- tests/usage/var_usage_extern.cc | 3 +- tests/usage/var_usage_func_parameter.cc | 3 +- tests/usage/var_usage_local.cc | 3 +- tests/usage/var_usage_shadowed_local.cc | 3 +- tests/usage/var_usage_shadowed_parameter.cc | 3 +- tests/usage/var_usage_static.cc | 3 +- tests/vars/function_local.cc | 3 +- tests/vars/function_param.cc | 3 +- tests/vars/function_param_unnamed.cc | 3 +- tests/vars/function_shadow_local.cc | 3 +- tests/vars/function_shadow_param.cc | 3 +- 81 files changed, 310 insertions(+), 333 deletions(-) create mode 100644 foo/b.cc diff --git a/foo/_empty_test.cc b/foo/_empty_test.cc index b23e8ee3..d3b3f523 100644 --- a/foo/_empty_test.cc +++ b/foo/_empty_test.cc @@ -1,3 +1,4 @@ +#if false #include #include @@ -31,9 +32,4 @@ float MyBar::MemberFunc(int a, char b, std::vector foo) { return ::foo(); } - - -/* -OUTPUT: -{} -*/ +#endif \ No newline at end of file diff --git a/foo/a.cc b/foo/a.cc index 9c77fd3b..928c8ff1 100644 --- a/foo/a.cc +++ b/foo/a.cc @@ -1,3 +1,4 @@ +#if false /* abc daaa @@ -9,6 +10,19 @@ abaa #include "a.h" + +struct iface { + virtual void foo() = 0; +}; +struct impl : public iface { + void foo() override {} +}; + +void doit() { + iface* f; + f->foo(); +} + struct Middle : public Parent { void foo() override {} }; @@ -93,4 +107,5 @@ void caller() { foo(); foo(); -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/foo/a.h b/foo/a.h index 5b31fe11..3aac844e 100644 --- a/foo/a.h +++ b/foo/a.h @@ -1,3 +1,5 @@ +#if false struct Parent { virtual void foo() {} }; +#endif diff --git a/foo/b.cc b/foo/b.cc new file mode 100644 index 00000000..23bc6f70 --- /dev/null +++ b/foo/b.cc @@ -0,0 +1,6 @@ +namespace { + +struct Foo2 { +virtual void foobar() = 0; +}; +} \ No newline at end of file diff --git a/src/command_line.cc b/src/command_line.cc index e7273dd7..631e9c84 100644 --- a/src/command_line.cc +++ b/src/command_line.cc @@ -99,22 +99,6 @@ optional GetDeclarationOfSymbol(QueryableDatabase* db, const } #endif -std::vector GetUsesOfSymbol(QueryableDatabase* db, const SymbolIdx& symbol) { - switch (symbol.kind) { - case SymbolKind::Type: - return db->types[symbol.idx].uses; - case SymbolKind::Func: - return db->funcs[symbol.idx].uses; - case SymbolKind::Var: - return db->vars[symbol.idx].uses; - case SymbolKind::File: - case SymbolKind::Invalid: { - assert(false && "unexpected"); - break; - } - } - return {}; -} optional GetDefinitionSpellingOfSymbol(QueryableDatabase* db, const QueryTypeId& id) { @@ -143,6 +127,71 @@ optional GetDefinitionSpellingOfSymbol(QueryableDatabase* db, return nullopt; } + +std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& refs) { + std::vector locs; + locs.reserve(refs.size()); + for (const QueryFuncRef& ref : refs) + locs.push_back(ref.loc); + return locs; +} +std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { + std::vector locs; + locs.reserve(ids.size()); + for (const QueryTypeId& id : ids) { + optional loc = GetDefinitionSpellingOfSymbol(db, id); + if (loc) + locs.push_back(loc.value()); + } + return locs; +} +std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { + std::vector locs; + locs.reserve(ids.size()); + for (const QueryFuncId& id : ids) { + optional loc = GetDefinitionSpellingOfSymbol(db, id); + if (loc) + locs.push_back(loc.value()); + } + return locs; +} +std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { + std::vector locs; + locs.reserve(ids.size()); + for (const QueryVarId& id : ids) { + optional loc = GetDefinitionSpellingOfSymbol(db, id); + if (loc) + locs.push_back(loc.value()); + } + return locs; +} + + + +std::vector GetUsesOfSymbol(QueryableDatabase* db, const SymbolIdx& symbol) { + switch (symbol.kind) { + case SymbolKind::Type: + return db->types[symbol.idx].uses; + case SymbolKind::Func: { + // TODO: the vector allocation could be avoided. + const QueryableFuncDef& func = db->funcs[symbol.idx]; + std::vector result = ToQueryableLocation(db, func.callers); + AddRange(&result, func.declarations); + if (func.def.definition_spelling) + result.push_back(*func.def.definition_spelling); + return result; + } + case SymbolKind::Var: + return db->vars[symbol.idx].uses; + case SymbolKind::File: + case SymbolKind::Invalid: { + assert(false && "unexpected"); + break; + } + } + return {}; +} + optional GetDefinitionExtentOfSymbol(QueryableDatabase* db, const QueryTypeId& id) { return GetQueryable(db, id)->def.definition_extent; } @@ -367,44 +416,6 @@ void AddCodeLens( common->result->push_back(code_lens); } -std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& refs) { - std::vector locs; - locs.reserve(refs.size()); - for (const QueryFuncRef& ref : refs) - locs.push_back(ref.loc); - return locs; -} -std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { - std::vector locs; - locs.reserve(ids.size()); - for (const QueryTypeId& id : ids) { - optional loc = GetDefinitionSpellingOfSymbol(db, id); - if (loc) - locs.push_back(loc.value()); - } - return locs; -} -std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { - std::vector locs; - locs.reserve(ids.size()); - for (const QueryFuncId& id : ids) { - optional loc = GetDefinitionSpellingOfSymbol(db, id); - if (loc) - locs.push_back(loc.value()); - } - return locs; -} -std::vector ToQueryableLocation(QueryableDatabase* db, const std::vector& ids) { - std::vector locs; - locs.reserve(ids.size()); - for (const QueryVarId& id : ids) { - optional loc = GetDefinitionSpellingOfSymbol(db, id); - if (loc) - locs.push_back(loc.value()); - } - return locs; -} - } // namespace diff --git a/src/indexer.cc b/src/indexer.cc index c4bfb155..3143b992 100644 --- a/src/indexer.cc +++ b/src/indexer.cc @@ -97,7 +97,20 @@ IndexedTypeDef::IndexedTypeDef(IndexTypeId id, const std::string& usr) // std::cerr << "Creating type with usr " << usr << std::endl; } -void AddUsage(std::vector& uses, +void RemoveItem(std::vector& ranges, + Range to_remove) { + auto it = std::find(ranges.begin(), ranges.end(), to_remove); + if (it != ranges.end()) + ranges.erase(it); +} + +void UniqueAdd(std::vector& refs, + IndexFuncRef ref) { + if (std::find(refs.begin(), refs.end(), ref) != refs.end()) + refs.push_back(ref); +} + +void UniqueAdd(std::vector& uses, Range loc, bool insert_if_not_present = true) { // cannot sub 1 from size_t in loop below; check explicitly here @@ -377,7 +390,7 @@ void VisitDeclForTypeUsageVisitorHandler(clang::Cursor cursor, // TODO: Should we even be visiting this if the file is not from the main // def? Try adding assert on |loc| later. Range loc = db->id_cache.ResolveSpelling(cursor.cx_cursor, true /*interesting*/); - AddUsage(ref_type_def->uses, loc); + UniqueAdd(ref_type_def->uses, loc); } } @@ -630,7 +643,7 @@ clang::VisiterResult AddDeclInitializerUsagesVisitor(clang::Cursor cursor, // << " at " << loc.ToString() << std::endl; IndexVarId ref_id = db->ToVarId(ref_usr); IndexedVarDef* ref_def = db->Resolve(ref_id); - AddUsage(ref_def->uses, loc); + UniqueAdd(ref_def->uses, loc); break; } @@ -777,7 +790,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { else { var_def->def.declaration = db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/); } - AddUsage(var_def->uses, decl_loc_spelling.value()); + UniqueAdd(var_def->uses, decl_loc_spelling.value()); // std::cerr << std::endl << "Visiting declaration" << std::endl; // Dump(decl_cursor); @@ -837,7 +850,6 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { IndexFuncId func_id = db->ToFuncId(resolved.cx_cursor); IndexedFuncDef* func_def = db->Resolve(func_id); - AddUsage(func_def->uses, decl_loc_spelling.value()); // We don't actually need to know the return type, but we need to mark it // as an interesting usage. AddDeclTypeUsages(db, decl_cursor, true /*is_interesting*/, @@ -849,9 +861,14 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { if (decl->isDefinition && !func_def->def.definition_extent.has_value()) { func_def->def.definition_spelling = db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/); func_def->def.definition_extent = db->id_cache.ResolveExtent(decl->cursor, false /*interesting*/); + + RemoveItem(func_def->declarations, *func_def->def.definition_spelling); } else { - func_def->declarations.push_back(db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/)); + Range decl_spelling = db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/); + // Only add the declaration if it's not already a definition. + if (!func_def->def.definition_spelling || *func_def->def.definition_spelling != decl_spelling) + UniqueAdd(func_def->declarations, decl_spelling); } // If decl_cursor != resolved, then decl_cursor is a template @@ -888,7 +905,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { // TODO: Should it be interesting? if (is_ctor_or_dtor) { Range type_usage_loc = decl_loc_spelling.value(); - AddUsage(declaring_type_def->uses, type_usage_loc); + UniqueAdd(declaring_type_def->uses, type_usage_loc); } // Register function in declaring type if it hasn't been registered @@ -1000,7 +1017,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { type_def->def.definition_spelling = db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/); type_def->def.definition_extent = db->id_cache.ResolveExtent(decl->cursor, false /*interesting*/); - AddUsage(type_def->uses, decl_loc_spelling.value()); + UniqueAdd(type_def->uses, decl_loc_spelling.value()); break; } @@ -1039,7 +1056,7 @@ void indexDeclaration(CXClientData client_data, const CXIdxDeclInfo* decl) { assert(decl->isDefinition); type_def->def.definition_spelling = db->id_cache.ResolveSpelling(decl->cursor, false /*interesting*/); type_def->def.definition_extent = db->id_cache.ResolveExtent(decl->cursor, false /*interesting*/); - AddUsage(type_def->uses, decl_loc_spelling.value()); + UniqueAdd(type_def->uses, decl_loc_spelling.value()); // type_def->alias_of // type_def->funcs @@ -1227,7 +1244,7 @@ void indexEntityReference(CXClientData client_data, IndexVarId var_id = db->ToVarId(referenced.get_usr()); IndexedVarDef* var_def = db->Resolve(var_id); - AddUsage(var_def->uses, loc_spelling.value()); + UniqueAdd(var_def->uses, loc_spelling.value()); break; } @@ -1260,10 +1277,9 @@ void indexEntityReference(CXClientData client_data, AddFuncRef(&caller_def->def.callees, IndexFuncRef(called_id, loc_spelling.value())); AddFuncRef(&called_def->callers, IndexFuncRef(caller_id, loc_spelling.value())); - AddUsage(called_def->uses, loc_spelling.value()); } else { IndexedFuncDef* called_def = db->Resolve(called_id); - AddUsage(called_def->uses, loc_spelling.value()); + AddFuncRef(&called_def->callers, IndexFuncRef(loc_spelling.value())); } // For constructor/destructor, also add a usage against the type. Clang @@ -1288,7 +1304,7 @@ void indexEntityReference(CXClientData client_data, // assert(called_def->def.declaring_type.has_value()); IndexedTypeDef* type_def = db->Resolve(called_def->def.declaring_type.value()); - AddUsage(type_def->uses, loc_spelling.value().WithInteresting(true), false /*insert_if_not_present*/); + UniqueAdd(type_def->uses, loc_spelling.value().WithInteresting(true), false /*insert_if_not_present*/); } } } @@ -1327,7 +1343,7 @@ void indexEntityReference(CXClientData client_data, // Foo f; // } // - AddUsage(referenced_def->uses, loc_spelling.value()); + UniqueAdd(referenced_def->uses, loc_spelling.value()); break; } diff --git a/src/indexer.h b/src/indexer.h index 63c2a962..54a54527 100644 --- a/src/indexer.h +++ b/src/indexer.h @@ -59,15 +59,24 @@ struct IdCache; template struct Ref { - Id id; + Id id() const { + assert(has_id()); + return id_; + } + bool has_id() const { + return id_.id != -1; + } + + Id id_; Range loc; Ref() {} // For serialization. - Ref(Id id, Range loc) : id(id), loc(loc) {} + Ref(Id id, Range loc) : id_(id), loc(loc) {} + Ref(Range loc) : id_(Id(-1)), loc(loc) {} bool operator==(const Ref& other) { - return id == other.id && loc == other.loc; + return id_ == other.id_ && loc == other.loc; } bool operator!=(const Ref& other) { return !(*this == other); } bool operator<(const Ref& other) const { @@ -77,16 +86,14 @@ struct Ref { template bool operator==(const Ref& a, const Ref& b) { - return a.id == b.id && a.loc == b.loc; + return a.id_ == b.id_ && a.loc == b.loc; } template bool operator!=(const Ref& a, const Ref& b) { return !(a == b); } -using IndexTypeRef = Ref; using IndexFuncRef = Ref; -using IndexVarRef = Ref; // TODO: skip as much forward-processing as possible when |is_system_def| is // set to false. @@ -284,17 +291,13 @@ struct IndexedFuncDef { // Methods which directly override this one. std::vector derived; - // Functions which call this one. - // TODO: Functions can get called outside of just functions - for example, - // they can get called in static context (maybe redirect to main?) - // or in class initializer list (redirect to class ctor?) - // - Right now those usages will not get listed here (but they should be - // inside of all_uses). + // Calls/usages of this function. If the call is coming from outside a + // function context then the FuncRef will not have an associated id. + // + // To get all usages, also include the ranges inside of declarations and + // def.definition_spelling. std::vector callers; - // All usages. For interesting usages, see callees. - std::vector uses; - IndexedFuncDef() {} // For reflection. IndexedFuncDef(IndexFuncId id, const std::string& usr) : def(usr), id(id) { // assert(usr.size() > 0); @@ -307,8 +310,7 @@ struct IndexedFuncDef { !def.callees.empty() || !declarations.empty() || !derived.empty() || - !callers.empty() || - !uses.empty(); + !callers.empty(); } bool operator<(const IndexedFuncDef& other) const { diff --git a/src/query.cc b/src/query.cc index c2976d69..650449ef 100644 --- a/src/query.cc +++ b/src/query.cc @@ -96,8 +96,8 @@ QueryableFile::Def BuildFileDef(const IdMap& id_map, const IndexedFile& indexed) add_all_symbols(id_map.ToSymbol(def.id), decl); add_outline(id_map.ToSymbol(def.id), decl); } - for (const Range& use : def.uses) - add_all_symbols(id_map.ToSymbol(def.id), use); + for (const IndexFuncRef& caller : def.callers) + add_all_symbols(id_map.ToSymbol(def.id), caller.loc); } for (const IndexedVarDef& def : indexed.vars) { if (def.def.definition_spelling.has_value()) @@ -133,7 +133,6 @@ QueryableFuncDef::QueryableFuncDef(const IdMap& id_map, const IndexedFuncDef& in declarations = id_map.ToQuery(indexed.declarations); derived = id_map.ToQuery(indexed.derived); callers = id_map.ToQuery(indexed.callers); - uses = id_map.ToQuery(indexed.uses); } QueryableVarDef::QueryableVarDef(const IdMap& id_map, const IndexedVarDef& indexed) @@ -374,7 +373,7 @@ QueryVarId IdMap::ToQuery(IndexVarId id) const { return QueryVarId(cached_var_ids_.find(id.id)->second); } QueryFuncRef IdMap::ToQuery(IndexFuncRef ref) const { - return QueryFuncRef(ToQuery(ref.id), ToQuery(ref.loc)); + return QueryFuncRef(ToQuery(ref.id_), ToQuery(ref.loc)); } optional IdMap::ToQuery(optional range) const { @@ -518,7 +517,6 @@ IndexUpdate::IndexUpdate(const IdMap& previous_id_map, const IdMap& current_id_m funcs_declarations.push_back(QueryableFuncDef::DeclarationsUpdate(query.def.usr, query.declarations)); funcs_derived.push_back(QueryableFuncDef::DerivedUpdate(query.def.usr, query.derived)); funcs_callers.push_back(QueryableFuncDef::CallersUpdate(query.def.usr, query.callers)); - funcs_uses.push_back(QueryableFuncDef::UsesUpdate(query.def.usr, query.uses)); }, /*onFound:*/[this, &previous_id_map, ¤t_id_map](IndexedFuncDef* previous_def, IndexedFuncDef* current_def) { QueryableFuncDef::DefUpdate previous_remapped_def = ToQuery(previous_id_map, previous_def->def); @@ -529,7 +527,6 @@ IndexUpdate::IndexUpdate(const IdMap& previous_id_map, const IdMap& current_id_m PROCESS_UPDATE_DIFF(funcs_declarations, declarations, QueryableLocation); PROCESS_UPDATE_DIFF(funcs_derived, derived, QueryFuncId); PROCESS_UPDATE_DIFF(funcs_callers, callers, QueryFuncRef); - PROCESS_UPDATE_DIFF(funcs_uses, uses, QueryableLocation); }); // Variables @@ -572,7 +569,6 @@ void IndexUpdate::Merge(const IndexUpdate& update) { INDEX_UPDATE_MERGE(funcs_declarations); INDEX_UPDATE_MERGE(funcs_derived); INDEX_UPDATE_MERGE(funcs_callers); - INDEX_UPDATE_MERGE(funcs_uses); INDEX_UPDATE_MERGE(vars_removed); INDEX_UPDATE_MERGE(vars_def_update); @@ -704,7 +700,6 @@ void QueryableDatabase::ApplyIndexUpdate(IndexUpdate* update) { HANDLE_MERGEABLE(funcs_declarations, declarations, funcs); HANDLE_MERGEABLE(funcs_derived, derived, funcs); HANDLE_MERGEABLE(funcs_callers, callers, funcs); - HANDLE_MERGEABLE(funcs_uses, uses, funcs); RemoveUsrs(update->vars_removed); ImportOrUpdate(update->vars_def_update); diff --git a/src/query.h b/src/query.h index c4ea29ea..3164222a 100644 --- a/src/query.h +++ b/src/query.h @@ -100,17 +100,25 @@ struct SymbolRef { }; struct QueryFuncRef { - QueryFuncId id; + QueryFuncId id() const { + assert(has_id()); + return id_; + } + bool has_id() const { + return id_.id != -1; + } + + QueryFuncId id_; QueryableLocation loc; - QueryFuncRef(QueryFuncId id, QueryableLocation loc) : id(id), loc(loc) {} + QueryFuncRef(QueryFuncId id, QueryableLocation loc) : id_(id), loc(loc) {} bool operator==(const QueryFuncRef& that) const { - return id == that.id && loc == that.loc; + return id_ == that.id_ && loc == that.loc; } bool operator!=(const QueryFuncRef& that) const { return !(*this == that); } bool operator<(const QueryFuncRef& that) const { - return id < that.id && loc.range.start < that.loc.range.start; + return id_ < that.id_ && loc.range.start < that.loc.range.start; } }; @@ -190,16 +198,11 @@ struct QueryableFuncDef { using DeclarationsUpdate = MergeableUpdate; using DerivedUpdate = MergeableUpdate; using CallersUpdate = MergeableUpdate; - using UsesUpdate = MergeableUpdate; DefUpdate def; std::vector declarations; std::vector derived; - // TODO: It seems like callers is always the same as uses except callers does - // not include the definition or declaration. We should get a large space - // saving by removing it. std::vector callers; - std::vector uses; size_t qualified_name_idx = -1; QueryableFuncDef(const Usr& usr) : def(usr) {} @@ -246,7 +249,6 @@ struct IndexUpdate { std::vector funcs_declarations; std::vector funcs_derived; std::vector funcs_callers; - std::vector funcs_uses; // Variable updates. std::vector vars_removed; diff --git a/src/serializer.cc b/src/serializer.cc index 8dc3f49e..3a1f5299 100644 --- a/src/serializer.cc +++ b/src/serializer.cc @@ -68,15 +68,21 @@ void Reflect(Writer& visitor, Id& value) { // Ref void Reflect(Reader& visitor, Ref& value) { const char* str_value = visitor.GetString(); - uint64_t id = atoi(str_value); + uint64_t id = atol(str_value); const char* loc_string = strchr(str_value, '@') + 1; - value.id = Id(id); + value.id_ = Id(id); value.loc = Range(loc_string); } void Reflect(Writer& visitor, Ref& value) { - std::string s = std::to_string(value.id.id) + "@" + value.loc.ToString(); - visitor.String(s.c_str()); + if (value.id_.id == -1) { + std::string s = "-1@" + value.loc.ToString(); + visitor.String(s.c_str()); + } + else { + std::string s = std::to_string(value.id_.id) + "@" + value.loc.ToString(); + visitor.String(s.c_str()); + } } @@ -156,7 +162,6 @@ void Reflect(TVisitor& visitor, IndexedFuncDef& value) { REFLECT_MEMBER2("locals", value.def.locals); REFLECT_MEMBER2("callers", value.callers); REFLECT_MEMBER2("callees", value.def.callees); - REFLECT_MEMBER2("uses", value.uses); REFLECT_MEMBER_END(); } diff --git a/src/test.cc b/src/test.cc index 5bc9f2a1..2c0a03e1 100644 --- a/src/test.cc +++ b/src/test.cc @@ -142,6 +142,35 @@ void RunTests() { "-IC:/Users/jacob/Desktop/superindex/indexer/src" }, false /*dump_ast*/); +#if false + for (auto& db : dbs) { + assert(db); + if (!db) { + std::cerr << "no db!!!" << std::endl; + continue; + } + + for (auto& func : db->funcs) { + if (!func.HasInterestingState()) + continue; + + + if (func.uses.size() != + (func.callers.size() + func.declarations.size() + (func.def.definition_spelling.has_value() ? 1 : 0))) { + + std::cout << "func.def.usr = " << func.def.usr << std::endl; + std::cout << "func.uses.size() = " << func.uses.size() << std::endl; + std::cout << "func.callers.size() = " << func.callers.size() << std::endl; + std::cout << "func.declarations.size() = " << func.declarations.size() << std::endl; + std::cout << "func.definition_spelling.has_value() = " << func.def.definition_spelling.has_value() << std::endl; + + std::cerr << "err" << std::endl; + + } + } + } +#endif + for (auto& entry : all_expected_output) { const std::string& expected_path = entry.first; const std::string& expected_output = entry.second; diff --git a/tests/constructors/constructor.cc b/tests/constructors/constructor.cc index 7e4dda3a..aea3cd0a 100644 --- a/tests/constructors/constructor.cc +++ b/tests/constructors/constructor.cc @@ -30,8 +30,7 @@ OUTPUT: "definition_spelling": "3:3-3:6", "definition_extent": "3:3-3:11", "declaring_type": 0, - "callers": ["1@7:7-7:8", "1@8:17-8:20"], - "uses": ["3:3-3:6", "7:7-7:8", "8:17-8:20"] + "callers": ["1@7:7-7:8", "1@8:17-8:20"] }, { "id": 1, "usr": "c:@F@foo#", @@ -39,8 +38,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "6:6-6:9", "definition_extent": "6:1-9:2", - "callees": ["0@7:7-7:8", "0@8:17-8:20"], - "uses": ["6:6-6:9"] + "callees": ["0@7:7-7:8", "0@8:17-8:20"] }], "vars": [{ "id": 0, diff --git a/tests/constructors/destructor.cc b/tests/constructors/destructor.cc index cc20fb4c..de491cba 100644 --- a/tests/constructors/destructor.cc +++ b/tests/constructors/destructor.cc @@ -35,8 +35,7 @@ OUTPUT: "definition_spelling": "3:3-3:6", "definition_extent": "3:3-3:11", "declaring_type": 0, - "callers": ["2@8:7-8:8"], - "uses": ["3:3-3:6", "8:7-8:8"] + "callers": ["2@8:7-8:8"] }, { "id": 1, "usr": "c:@S@Foo@F@~Foo#", @@ -44,8 +43,7 @@ OUTPUT: "qualified_name": "Foo::~Foo", "definition_spelling": "4:3-4:7", "definition_extent": "4:3-4:12", - "declaring_type": 0, - "uses": ["4:3-4:7"] + "declaring_type": 0 }, { "id": 2, "usr": "c:@F@foo#", @@ -53,8 +51,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "7:6-7:9", "definition_extent": "7:1-9:2", - "callees": ["0@8:7-8:8"], - "uses": ["7:6-7:9"] + "callees": ["0@8:7-8:8"] }], "vars": [{ "id": 0, diff --git a/tests/constructors/invalid_reference.cc b/tests/constructors/invalid_reference.cc index 7388b058..abd77094 100644 --- a/tests/constructors/invalid_reference.cc +++ b/tests/constructors/invalid_reference.cc @@ -23,8 +23,7 @@ OUTPUT: "qualified_name": "Foo::Foo", "definition_spelling": "4:6-4:9", "definition_extent": "4:1-4:11", - "declaring_type": 0, - "uses": ["4:6-4:9"] + "declaring_type": 0 }] } */ diff --git a/tests/declaration_vs_definition/func.cc b/tests/declaration_vs_definition/func.cc index 5c0f25cf..e6b94b14 100644 --- a/tests/declaration_vs_definition/func.cc +++ b/tests/declaration_vs_definition/func.cc @@ -14,8 +14,7 @@ OUTPUT: "qualified_name": "foo", "declarations": ["1:6-1:9", "2:6-2:9", "4:6-4:9"], "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-3:14", - "uses": ["1:6-1:9", "2:6-2:9", "3:6-3:9", "4:6-4:9"] + "definition_extent": "3:1-3:14" }] } */ diff --git a/tests/declaration_vs_definition/method.cc b/tests/declaration_vs_definition/method.cc index ce78fa47..e3de82ec 100644 --- a/tests/declaration_vs_definition/method.cc +++ b/tests/declaration_vs_definition/method.cc @@ -25,16 +25,14 @@ OUTPUT: "short_name": "declonly", "qualified_name": "Foo::declonly", "declarations": ["2:8-2:16"], - "declaring_type": 0, - "uses": ["2:8-2:16"] + "declaring_type": 0 }, { "id": 1, "usr": "c:@S@Foo@F@purevirtual#", "short_name": "purevirtual", "qualified_name": "Foo::purevirtual", "declarations": ["3:16-3:27"], - "declaring_type": 0, - "uses": ["3:16-3:27"] + "declaring_type": 0 }, { "id": 2, "usr": "c:@S@Foo@F@def#", @@ -43,8 +41,7 @@ OUTPUT: "declarations": ["4:8-4:11"], "definition_spelling": "7:11-7:14", "definition_extent": "7:1-7:19", - "declaring_type": 0, - "uses": ["4:8-4:11", "7:11-7:14"] + "declaring_type": 0 }] } */ diff --git a/tests/function_declaration.cc b/tests/function_declaration.cc index 2ab4eb56..829135f9 100644 --- a/tests/function_declaration.cc +++ b/tests/function_declaration.cc @@ -8,8 +8,7 @@ OUTPUT: "usr": "c:@F@foo#I#I#", "short_name": "foo", "qualified_name": "foo", - "declarations": ["1:6-1:9"], - "uses": ["1:6-1:9"] + "declarations": ["1:6-1:9"] }] } */ diff --git a/tests/function_declaration_definition.cc b/tests/function_declaration_definition.cc index 74720ca8..a5b32e48 100644 --- a/tests/function_declaration_definition.cc +++ b/tests/function_declaration_definition.cc @@ -12,8 +12,7 @@ OUTPUT: "qualified_name": "foo", "declarations": ["1:6-1:9"], "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-3:14", - "uses": ["1:6-1:9", "3:6-3:9"] + "definition_extent": "3:1-3:14" }] } */ diff --git a/tests/function_definition.cc b/tests/function_definition.cc index 6b17f808..55c5da30 100644 --- a/tests/function_definition.cc +++ b/tests/function_definition.cc @@ -9,8 +9,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-1:14", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-1:14" }] } */ diff --git a/tests/inheritance/function_override.cc b/tests/inheritance/function_override.cc index c24b304f..f4c72fb7 100644 --- a/tests/inheritance/function_override.cc +++ b/tests/inheritance/function_override.cc @@ -36,8 +36,7 @@ OUTPUT: "qualified_name": "Root::foo", "declarations": ["2:16-2:19"], "declaring_type": 0, - "derived": [1], - "uses": ["2:16-2:19"] + "derived": [1] }, { "id": 1, "usr": "c:@S@Derived@F@foo#", @@ -46,8 +45,7 @@ OUTPUT: "definition_spelling": "5:8-5:11", "definition_extent": "5:3-5:25", "declaring_type": 1, - "base": 0, - "uses": ["5:8-5:11"] + "base": 0 }] } */ diff --git a/tests/inheritance/interface_pure_virtual.cc b/tests/inheritance/interface_pure_virtual.cc index 3f96e07a..f3ca72cb 100644 --- a/tests/inheritance/interface_pure_virtual.cc +++ b/tests/inheritance/interface_pure_virtual.cc @@ -22,8 +22,7 @@ OUTPUT: "qualified_name": "IFoo::foo", "definition_spelling": "2:16-2:19", "definition_extent": "2:3-2:28", - "declaring_type": 0, - "uses": ["2:16-2:19"] + "declaring_type": 0 }] } */ diff --git a/tests/method_declaration.cc b/tests/method_declaration.cc index 05330238..65c5164c 100644 --- a/tests/method_declaration.cc +++ b/tests/method_declaration.cc @@ -25,8 +25,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "Foo::foo", "declarations": ["2:8-2:11"], - "declaring_type": 0, - "uses": ["2:8-2:11"] + "declaring_type": 0 }] } */ diff --git a/tests/method_definition.cc b/tests/method_definition.cc index af364e0c..096215e3 100644 --- a/tests/method_definition.cc +++ b/tests/method_definition.cc @@ -25,8 +25,7 @@ OUTPUT: "declarations": ["2:8-2:11"], "definition_spelling": "5:11-5:14", "definition_extent": "5:1-5:19", - "declaring_type": 0, - "uses": ["2:8-2:11", "5:11-5:14"] + "declaring_type": 0 }] } */ diff --git a/tests/method_inline_declaration.cc b/tests/method_inline_declaration.cc index 9ab8ebb1..fa676d3c 100644 --- a/tests/method_inline_declaration.cc +++ b/tests/method_inline_declaration.cc @@ -22,8 +22,7 @@ OUTPUT: "qualified_name": "Foo::foo", "definition_spelling": "2:8-2:11", "definition_extent": "2:3-2:16", - "declaring_type": 0, - "uses": ["2:8-2:11"] + "declaring_type": 0 }] } */ diff --git a/tests/multi_file/impl.cc b/tests/multi_file/impl.cc index 2a2e6c58..30b5d3d2 100644 --- a/tests/multi_file/impl.cc +++ b/tests/multi_file/impl.cc @@ -58,8 +58,7 @@ OUTPUT: header.h "short_name": "Foo1", "qualified_name": "Foo1", "definition_spelling": "10:6-10:10", - "definition_extent": "10:1-10:15", - "uses": ["10:6-10:10"] + "definition_extent": "10:1-10:15" }], "vars": [{ "id": 0, @@ -120,13 +119,11 @@ OUTPUT: impl.cc "qualified_name": "Impl", "definition_spelling": "3:6-3:10", "definition_extent": "3:1-5:2", - "callees": ["1@4:3-4:7"], - "uses": ["3:6-3:10"] + "callees": ["1@4:3-4:7"] }, { "id": 1, "usr": "c:@FT@>1#TFoo1#v#", - "callers": ["0@4:3-4:7"], - "uses": ["4:3-4:7"] + "callers": ["0@4:3-4:7"] }] } */ diff --git a/tests/multi_file/simple_impl.cc b/tests/multi_file/simple_impl.cc index 055f8e90..34e412a6 100644 --- a/tests/multi_file/simple_impl.cc +++ b/tests/multi_file/simple_impl.cc @@ -12,8 +12,7 @@ OUTPUT: simple_header.h "usr": "c:@F@header#", "short_name": "header", "qualified_name": "header", - "declarations": ["3:6-3:12"], - "uses": ["3:6-3:12"] + "declarations": ["3:6-3:12"] }] } @@ -27,13 +26,11 @@ OUTPUT: simple_impl.cc "qualified_name": "impl", "definition_spelling": "3:6-3:10", "definition_extent": "3:1-5:2", - "callees": ["1@4:3-4:9"], - "uses": ["3:6-3:10"] + "callees": ["1@4:3-4:9"] }, { "id": 1, "usr": "c:@F@header#", - "callers": ["0@4:3-4:9"], - "uses": ["4:3-4:9"] + "callers": ["0@4:3-4:9"] }] } */ diff --git a/tests/namespaces/anonymous_function.cc b/tests/namespaces/anonymous_function.cc index a777da12..bfc56a38 100644 --- a/tests/namespaces/anonymous_function.cc +++ b/tests/namespaces/anonymous_function.cc @@ -10,8 +10,7 @@ OUTPUT: "usr": "c:anonymous_function.cc@aN@F@foo#", "short_name": "foo", "qualified_name": "::foo", - "declarations": ["2:6-2:9"], - "uses": ["2:6-2:9"] + "declarations": ["2:6-2:9"] }] } */ diff --git a/tests/namespaces/function_declaration.cc b/tests/namespaces/function_declaration.cc index 4dbb03bf..986d9986 100644 --- a/tests/namespaces/function_declaration.cc +++ b/tests/namespaces/function_declaration.cc @@ -10,8 +10,7 @@ OUTPUT: "usr": "c:@N@hello@F@foo#I#I#", "short_name": "foo", "qualified_name": "hello::foo", - "declarations": ["2:6-2:9"], - "uses": ["2:6-2:9"] + "declarations": ["2:6-2:9"] }] } */ diff --git a/tests/namespaces/function_definition.cc b/tests/namespaces/function_definition.cc index 715562c2..c4356cc6 100644 --- a/tests/namespaces/function_definition.cc +++ b/tests/namespaces/function_definition.cc @@ -11,8 +11,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "hello::foo", "definition_spelling": "2:6-2:9", - "definition_extent": "2:1-2:14", - "uses": ["2:6-2:9"] + "definition_extent": "2:1-2:14" }] } */ diff --git a/tests/namespaces/method_declaration.cc b/tests/namespaces/method_declaration.cc index 5d0cce06..2418dc8b 100644 --- a/tests/namespaces/method_declaration.cc +++ b/tests/namespaces/method_declaration.cc @@ -23,8 +23,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "hello::Foo::foo", "declarations": ["3:8-3:11"], - "declaring_type": 0, - "uses": ["3:8-3:11"] + "declaring_type": 0 }] } */ diff --git a/tests/namespaces/method_definition.cc b/tests/namespaces/method_definition.cc index 2f11b2ed..116540fe 100644 --- a/tests/namespaces/method_definition.cc +++ b/tests/namespaces/method_definition.cc @@ -27,8 +27,7 @@ OUTPUT: "declarations": ["3:8-3:11"], "definition_spelling": "6:11-6:14", "definition_extent": "6:1-6:19", - "declaring_type": 0, - "uses": ["3:8-3:11", "6:11-6:14"] + "declaring_type": 0 }] } */ diff --git a/tests/namespaces/method_inline_declaration.cc b/tests/namespaces/method_inline_declaration.cc index 9354402f..3f8e73b1 100644 --- a/tests/namespaces/method_inline_declaration.cc +++ b/tests/namespaces/method_inline_declaration.cc @@ -24,8 +24,7 @@ OUTPUT: "qualified_name": "hello::Foo::foo", "definition_spelling": "3:8-3:11", "definition_extent": "3:3-3:16", - "declaring_type": 0, - "uses": ["3:8-3:11"] + "declaring_type": 0 }] } */ diff --git a/tests/namespaces/namespace_reference.cc b/tests/namespaces/namespace_reference.cc index 572d4dcc..2a3cb1de 100644 --- a/tests/namespaces/namespace_reference.cc +++ b/tests/namespaces/namespace_reference.cc @@ -19,8 +19,7 @@ OUTPUT: "qualified_name": "ns::Accept", "definition_spelling": "3:8-3:14", "definition_extent": "3:3-3:24", - "callers": ["1@7:7-7:13", "1@9:3-9:9"], - "uses": ["3:8-3:14", "7:7-7:13", "9:3-9:9"] + "callers": ["1@7:7-7:13", "1@9:3-9:9"] }, { "id": 1, "usr": "c:@F@Runner#", @@ -28,8 +27,7 @@ OUTPUT: "qualified_name": "Runner", "definition_spelling": "6:6-6:12", "definition_extent": "6:1-10:2", - "callees": ["0@7:7-7:13", "0@9:3-9:9"], - "uses": ["6:6-6:12"] + "callees": ["0@7:7-7:13", "0@9:3-9:9"] }], "vars": [{ "id": 0, diff --git a/tests/outline/outline.cc b/tests/outline/outline.cc index e20b9d00..5c6b2221 100644 --- a/tests/outline/outline.cc +++ b/tests/outline/outline.cc @@ -9,6 +9,7 @@ struct MergeableUpdate { /* OUTPUT: { + "dependencies": ["C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vadefs.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/yvals.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdint.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdint", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stddef.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_search.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdlib.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdlib.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdlib", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ymath.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/float.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/math.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cmath", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtr1common", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtgmath.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/errno.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_string.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memcpy_s.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_stdio_config.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wconio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wctype.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wdirect.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wprocess.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstring.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wtime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/types.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/stat.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/wchar.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cwchar", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/initializer_list", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/limits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/type_traits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/exception", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_terminate.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/eh.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_exception.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/new", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdio.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdio", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memory.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/string.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new_debug.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/crtdbg.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iosfwd", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/utility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xutility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory0", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xatomic0.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/setjmp.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/mmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/emmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/tmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/smmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/nmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/wmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/immintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ammintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/intrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdexcept", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vector"], "types": [{ "id": 0, "usr": "c:@S@MergeableUpdate", diff --git a/tests/outline/outline2.cc b/tests/outline/outline2.cc index e5452d94..1bd118a5 100644 --- a/tests/outline/outline2.cc +++ b/tests/outline/outline2.cc @@ -14,6 +14,7 @@ std::vector LoadCompilationEntriesFromDirectory(const std::str /* OUTPUT: { + "dependencies": ["C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vadefs.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/yvals.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/math.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cmath", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stddef.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_search.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdlib.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdlib.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdlib", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtr1common", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtgmath.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_stdio_config.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdio.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdio", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/errno.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_string.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memcpy_s.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memory.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstring.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/string.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/initializer_list", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/type_traits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/exception", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_terminate.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/eh.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_exception.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdint.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdint", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ymath.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/float.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wconio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wctype.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wdirect.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wprocess.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wtime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/types.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/stat.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/wchar.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cwchar", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/limits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/new", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new_debug.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/crtdbg.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iosfwd", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/utility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xutility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory0", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xatomic0.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/setjmp.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/mmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/emmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/tmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/smmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/nmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/wmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/immintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ammintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/intrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdexcept", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_typeinfo.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/ctype.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/locale.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocinfo.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocinfo", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xfacet", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocale", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/system_error", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xiosbase", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/streambuf", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocnum", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ios", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ostream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/istream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/string", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vector"], "types": [{ "id": 0, "usr": "c:@S@CompilationEntry", @@ -39,8 +40,7 @@ OUTPUT: "usr": "c:@F@LoadCompilationEntriesFromDirectory#&1$@N@std@S@basic_string>#C#$@N@std@S@char_traits>#C#$@N@std@S@allocator>#C#", "short_name": "LoadCompilationEntriesFromDirectory", "qualified_name": "LoadCompilationEntriesFromDirectory", - "declarations": ["12:31-12:66"], - "uses": ["12:31-12:66"] + "declarations": ["12:31-12:66"] }], "vars": [{ "id": 0, diff --git a/tests/stl.cc b/tests/stl.cc index 84bc2f78..b5660582 100644 --- a/tests/stl.cc +++ b/tests/stl.cc @@ -134,5 +134,7 @@ /* OUTPUT: -{} +{ + "dependencies": ["C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vadefs.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/assert.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/complex.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wctype.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/ctype.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/errno.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/float.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/fenv.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdint.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/inttypes.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/locale.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/math.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/setjmp.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/signal.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stddef.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_stdio_config.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_search.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstdlib.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/stdlib.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_string.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memcpy_s.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_memory.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wstring.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/string.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wtime.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/time.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/uchar.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wconio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wdirect.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wio.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_wprocess.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/types.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/sys/stat.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/wchar.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/wctype.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/yvals.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cmath", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdlib", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtr1common", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtgmath.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdio", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/initializer_list", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstddef", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/type_traits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/exception", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/malloc.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/corecrt_terminate.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/eh.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_exception.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdint", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ymath.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cwchar", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/limits", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/new", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_new_debug.h", "C:/Program Files (x86)/Windows Kits/10/Include/10.0.14393.0/ucrt/crtdbg.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iosfwd", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/utility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xutility", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory0", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xatomic0.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/mmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/emmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/tmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/smmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/nmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/wmmintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/immintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ammintrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/intrin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xstring", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stdexcept", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vcruntime_typeinfo.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocinfo.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocinfo", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xfacet", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocale", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/system_error", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xiosbase", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/streambuf", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocnum", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ios", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ostream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/istream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/string", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xmemory", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/algorithm", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iterator", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xtree", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/set", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/fstream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/memory", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/vector", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/sstream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocmon", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ctime", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xloctime", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iomanip", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/tuple", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/csignal", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/csetjmp", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cstdarg", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/typeindex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/bitset", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xfunctional", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/functional", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ratio", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thr/xthrcommon.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thr/xtimec.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/chrono", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/scoped_allocator", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cinttypes", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cctype", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cwctype", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cuchar", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/array", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/deque", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/list", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/forward_list", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/map", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xhash", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/unordered_set", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/unordered_map", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/stack", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/queue", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/complex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xcomplex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/valarray", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/random", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/numeric", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/cfenv", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/iostream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/strstream", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocbuf", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xlocmes", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/locale", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/clocale", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/codecvt", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/regex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xatomic.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/atomic", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/xxatomic", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thr/xtime", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thr/xthreads.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thr/xthread", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/thread", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/mutex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/condition_variable", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/shared_mutex", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pplinterface.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ppltaskscheduler.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pplwin.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/pplcancellation_token.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/ppltasks.h", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/future", "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/include/filesystem"] +} */ diff --git a/tests/templates/func_specialized_template_param.cc b/tests/templates/func_specialized_template_param.cc index 0bee7bdb..a6204d0b 100644 --- a/tests/templates/func_specialized_template_param.cc +++ b/tests/templates/func_specialized_template_param.cc @@ -36,8 +36,7 @@ OUTPUT: "declarations": ["5:8-5:11"], "definition_spelling": "8:11-8:14", "definition_extent": "8:1-8:36", - "declaring_type": 1, - "uses": ["5:8-5:11", "8:11-8:14"] + "declaring_type": 1 }] } */ diff --git a/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc b/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc index f3a95441..744525bd 100644 --- a/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc +++ b/tests/templates/namespace_template_class_template_func_usage_folded_into_one.cc @@ -32,7 +32,7 @@ OUTPUT: "definition_spelling": "5:16-5:19", "definition_extent": "5:5-7:6", "declaring_type": 0, - "uses": ["5:16-5:19", "10:21-10:24", "11:22-11:25"] + "callers": ["-1@10:21-10:24", "-1@11:22-11:25"] }], "vars": [{ "id": 0, diff --git a/tests/templates/specialized_func_definition.cc b/tests/templates/specialized_func_definition.cc index d6fa8d64..2c1ea397 100644 --- a/tests/templates/specialized_func_definition.cc +++ b/tests/templates/specialized_func_definition.cc @@ -33,8 +33,7 @@ OUTPUT: "declarations": ["3:8-3:11", "9:22-9:25"], "definition_spelling": "7:19-7:22", "definition_extent": "6:1-7:24", - "declaring_type": 0, - "uses": ["3:8-3:11", "7:19-7:22", "9:22-9:25"] + "declaring_type": 0 }] } */ diff --git a/tests/templates/template_class_func_usage_folded_into_one.cc b/tests/templates/template_class_func_usage_folded_into_one.cc index 0bff28dc..244e70a6 100644 --- a/tests/templates/template_class_func_usage_folded_into_one.cc +++ b/tests/templates/template_class_func_usage_folded_into_one.cc @@ -29,7 +29,7 @@ OUTPUT: "definition_spelling": "3:14-3:17", "definition_extent": "3:3-5:4", "declaring_type": 0, - "uses": ["3:14-3:17", "8:19-8:22", "9:20-9:23"] + "callers": ["-1@8:19-8:22", "-1@9:20-9:23"] }], "vars": [{ "id": 0, diff --git a/tests/templates/template_class_template_func_usage_folded_into_one.cc b/tests/templates/template_class_template_func_usage_folded_into_one.cc index 10d81449..e8d4c1ce 100644 --- a/tests/templates/template_class_template_func_usage_folded_into_one.cc +++ b/tests/templates/template_class_template_func_usage_folded_into_one.cc @@ -30,7 +30,7 @@ OUTPUT: "definition_spelling": "4:14-4:17", "definition_extent": "4:3-6:4", "declaring_type": 0, - "uses": ["4:14-4:17", "9:19-9:22", "10:20-10:23"] + "callers": ["-1@9:19-9:22", "-1@10:20-10:23"] }], "vars": [{ "id": 0, diff --git a/tests/templates/template_func_usage_folded_into_one.cc b/tests/templates/template_func_usage_folded_into_one.cc index 89fa26f6..748b8bc9 100644 --- a/tests/templates/template_func_usage_folded_into_one.cc +++ b/tests/templates/template_func_usage_folded_into_one.cc @@ -19,7 +19,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "2:12-2:15", "definition_extent": "2:1-4:2", - "uses": ["2:12-2:15", "6:9-6:12", "7:9-7:12"] + "callers": ["-1@6:9-6:12", "-1@7:9-7:12"] }], "vars": [{ "id": 0, diff --git a/tests/unions/union_usage.cc b/tests/unions/union_usage.cc index e4fb2697..b6f5cf84 100644 --- a/tests/unions/union_usage.cc +++ b/tests/unions/union_usage.cc @@ -31,8 +31,7 @@ OUTPUT: "short_name": "act", "qualified_name": "act", "definition_spelling": "8:6-8:9", - "definition_extent": "8:1-10:2", - "uses": ["8:6-8:9"] + "definition_extent": "8:1-10:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/func_called_from_constructor.cc b/tests/usage/func_called_from_constructor.cc index 6163b215..9578eb1b 100644 --- a/tests/usage/func_called_from_constructor.cc +++ b/tests/usage/func_called_from_constructor.cc @@ -28,8 +28,7 @@ OUTPUT: "qualified_name": "called", "definition_spelling": "1:6-1:12", "definition_extent": "1:1-1:17", - "callers": ["1@8:3-8:9"], - "uses": ["1:6-1:12", "8:3-8:9"] + "callers": ["1@8:3-8:9"] }, { "id": 1, "usr": "c:@S@Foo@F@Foo#", @@ -39,8 +38,7 @@ OUTPUT: "definition_spelling": "7:6-7:9", "definition_extent": "7:1-9:2", "declaring_type": 0, - "callees": ["0@8:3-8:9"], - "uses": ["4:3-4:6", "7:6-7:9"] + "callees": ["0@8:3-8:9"] }] } */ diff --git a/tests/usage/func_called_from_macro_argument.cc b/tests/usage/func_called_from_macro_argument.cc index 04f0d14a..906db193 100644 --- a/tests/usage/func_called_from_macro_argument.cc +++ b/tests/usage/func_called_from_macro_argument.cc @@ -15,8 +15,7 @@ OUTPUT: "short_name": "called", "qualified_name": "called", "declarations": ["3:6-3:12"], - "callers": ["1@6:14-6:20"], - "uses": ["3:6-3:12", "6:14-6:20"] + "callers": ["1@6:14-6:20"] }, { "id": 1, "usr": "c:@F@caller#", @@ -24,8 +23,7 @@ OUTPUT: "qualified_name": "caller", "definition_spelling": "5:6-5:12", "definition_extent": "5:1-7:2", - "callees": ["0@6:14-6:20"], - "uses": ["5:6-5:12"] + "callees": ["0@6:14-6:20"] }] } */ \ No newline at end of file diff --git a/tests/usage/func_called_from_template.cc b/tests/usage/func_called_from_template.cc index a136f3a5..3beefab3 100644 --- a/tests/usage/func_called_from_template.cc +++ b/tests/usage/func_called_from_template.cc @@ -20,8 +20,7 @@ OUTPUT: "short_name": "called", "qualified_name": "called", "declarations": ["1:6-1:12"], - "callers": ["1@5:3-5:9"], - "uses": ["1:6-1:12", "5:3-5:9"] + "callers": ["1@5:3-5:9"] }, { "id": 1, "usr": "c:@FT@>1#Tcaller#v#", @@ -30,8 +29,7 @@ OUTPUT: "definition_spelling": "4:6-4:12", "definition_extent": "4:1-6:2", "callers": ["2@9:3-9:9"], - "callees": ["0@5:3-5:9"], - "uses": ["4:6-4:12", "9:3-9:9"] + "callees": ["0@5:3-5:9"] }, { "id": 2, "usr": "c:@F@foo#", @@ -39,8 +37,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "8:6-8:9", "definition_extent": "8:1-10:2", - "callees": ["1@9:3-9:9"], - "uses": ["8:6-8:9"] + "callees": ["1@9:3-9:9"] }] } */ \ No newline at end of file diff --git a/tests/usage/func_called_implicit_ctor.cc b/tests/usage/func_called_implicit_ctor.cc index 3e077cb5..b33e1820 100644 --- a/tests/usage/func_called_implicit_ctor.cc +++ b/tests/usage/func_called_implicit_ctor.cc @@ -28,8 +28,7 @@ OUTPUT: "qualified_name": "Wrapper::Wrapper", "declarations": ["2:3-2:10"], "declaring_type": 0, - "callers": ["2@8:10-8:16"], - "uses": ["2:3-2:10", "8:10-8:16"] + "callers": ["2@8:10-8:16"] }, { "id": 1, "usr": "c:@F@called#", @@ -37,8 +36,7 @@ OUTPUT: "qualified_name": "called", "definition_spelling": "5:5-5:11", "definition_extent": "5:1-5:27", - "callers": ["2@8:10-8:16"], - "uses": ["5:5-5:11", "8:10-8:16"] + "callers": ["2@8:10-8:16"] }, { "id": 2, "usr": "c:@F@caller#", @@ -46,8 +44,7 @@ OUTPUT: "qualified_name": "caller", "definition_spelling": "7:9-7:15", "definition_extent": "7:1-9:2", - "callees": ["0@8:10-8:16", "1@8:10-8:16"], - "uses": ["7:9-7:15"] + "callees": ["0@8:10-8:16", "1@8:10-8:16"] }] } */ diff --git a/tests/usage/func_usage_addr_func.cc b/tests/usage/func_usage_addr_func.cc index 1c010105..9398f976 100644 --- a/tests/usage/func_usage_addr_func.cc +++ b/tests/usage/func_usage_addr_func.cc @@ -17,8 +17,7 @@ OUTPUT: "qualified_name": "consume", "definition_spelling": "1:6-1:13", "definition_extent": "1:1-1:23", - "callers": ["2@7:3-7:10"], - "uses": ["1:6-1:13", "7:3-7:10"] + "callers": ["2@7:3-7:10"] }, { "id": 1, "usr": "c:@F@used#", @@ -26,8 +25,7 @@ OUTPUT: "qualified_name": "used", "definition_spelling": "3:6-3:10", "definition_extent": "3:1-3:15", - "callers": ["2@6:13-6:17", "2@7:12-7:16"], - "uses": ["3:6-3:10", "6:13-6:17", "7:12-7:16"] + "callers": ["2@6:13-6:17", "2@7:12-7:16"] }, { "id": 2, "usr": "c:@F@user#", @@ -35,8 +33,7 @@ OUTPUT: "qualified_name": "user", "definition_spelling": "5:6-5:10", "definition_extent": "5:1-8:2", - "callees": ["1@6:13-6:17", "0@7:3-7:10", "1@7:12-7:16"], - "uses": ["5:6-5:10"] + "callees": ["1@6:13-6:17", "0@7:3-7:10", "1@7:12-7:16"] }], "vars": [{ "id": 0, diff --git a/tests/usage/func_usage_addr_method.cc b/tests/usage/func_usage_addr_method.cc index c5d508c9..6c2c996a 100644 --- a/tests/usage/func_usage_addr_method.cc +++ b/tests/usage/func_usage_addr_method.cc @@ -27,8 +27,7 @@ OUTPUT: "qualified_name": "Foo::Used", "declarations": ["2:8-2:12"], "declaring_type": 0, - "callers": ["1@6:18-6:22"], - "uses": ["2:8-2:12", "6:18-6:22"] + "callers": ["1@6:18-6:22"] }, { "id": 1, "usr": "c:@F@user#", @@ -36,8 +35,7 @@ OUTPUT: "qualified_name": "user", "definition_spelling": "5:6-5:10", "definition_extent": "5:1-7:2", - "callees": ["0@6:18-6:22"], - "uses": ["5:6-5:10"] + "callees": ["0@6:18-6:22"] }], "vars": [{ "id": 0, diff --git a/tests/usage/func_usage_call_func.cc b/tests/usage/func_usage_call_func.cc index c7a405c4..3ffd6946 100644 --- a/tests/usage/func_usage_call_func.cc +++ b/tests/usage/func_usage_call_func.cc @@ -13,8 +13,7 @@ OUTPUT: "qualified_name": "called", "definition_spelling": "1:6-1:12", "definition_extent": "1:1-1:17", - "callers": ["1@3:3-3:9"], - "uses": ["1:6-1:12", "3:3-3:9"] + "callers": ["1@3:3-3:9"] }, { "id": 1, "usr": "c:@F@caller#", @@ -22,8 +21,7 @@ OUTPUT: "qualified_name": "caller", "definition_spelling": "2:6-2:12", "definition_extent": "2:1-4:2", - "callees": ["0@3:3-3:9"], - "uses": ["2:6-2:12"] + "callees": ["0@3:3-3:9"] }] } */ diff --git a/tests/usage/func_usage_call_method.cc b/tests/usage/func_usage_call_method.cc index d12d5495..b59004bf 100644 --- a/tests/usage/func_usage_call_method.cc +++ b/tests/usage/func_usage_call_method.cc @@ -28,8 +28,7 @@ OUTPUT: "qualified_name": "Foo::Used", "declarations": ["2:8-2:12"], "declaring_type": 0, - "callers": ["1@7:6-7:10"], - "uses": ["2:8-2:12", "7:6-7:10"] + "callers": ["1@7:6-7:10"] }, { "id": 1, "usr": "c:@F@user#", @@ -37,8 +36,7 @@ OUTPUT: "qualified_name": "user", "definition_spelling": "5:6-5:10", "definition_extent": "5:1-8:2", - "callees": ["0@7:6-7:10"], - "uses": ["5:6-5:10"] + "callees": ["0@7:6-7:10"] }], "vars": [{ "id": 0, diff --git a/tests/usage/func_usage_class_inline_var_def.cc b/tests/usage/func_usage_class_inline_var_def.cc index 98c581e6..c4990daf 100644 --- a/tests/usage/func_usage_class_inline_var_def.cc +++ b/tests/usage/func_usage_class_inline_var_def.cc @@ -26,7 +26,7 @@ OUTPUT: "qualified_name": "helper", "definition_spelling": "1:12-1:18", "definition_extent": "1:1-3:2", - "uses": ["1:12-1:18", "6:11-6:17"] + "callers": ["-1@6:11-6:17"] }], "vars": [{ "id": 0, diff --git a/tests/usage/func_usage_forward_decl_func.cc b/tests/usage/func_usage_forward_decl_func.cc index 6adf0755..b3fd8a34 100644 --- a/tests/usage/func_usage_forward_decl_func.cc +++ b/tests/usage/func_usage_forward_decl_func.cc @@ -12,8 +12,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "declarations": ["1:6-1:9"], - "callers": ["1@4:3-4:6"], - "uses": ["1:6-1:9", "4:3-4:6"] + "callers": ["1@4:3-4:6"] }, { "id": 1, "usr": "c:@F@usage#", @@ -21,8 +20,7 @@ OUTPUT: "qualified_name": "usage", "definition_spelling": "3:6-3:11", "definition_extent": "3:1-5:2", - "callees": ["0@4:3-4:6"], - "uses": ["3:6-3:11"] + "callees": ["0@4:3-4:6"] }] } */ diff --git a/tests/usage/func_usage_forward_decl_method.cc b/tests/usage/func_usage_forward_decl_method.cc index 72dd22a6..50d03b14 100644 --- a/tests/usage/func_usage_forward_decl_method.cc +++ b/tests/usage/func_usage_forward_decl_method.cc @@ -27,8 +27,7 @@ OUTPUT: "qualified_name": "Foo::foo", "declarations": ["2:8-2:11"], "declaring_type": 0, - "callers": ["1@7:6-7:9"], - "uses": ["2:8-2:11", "7:6-7:9"] + "callers": ["1@7:6-7:9"] }, { "id": 1, "usr": "c:@F@usage#", @@ -36,8 +35,7 @@ OUTPUT: "qualified_name": "usage", "definition_spelling": "5:6-5:11", "definition_extent": "5:1-8:2", - "callees": ["0@7:6-7:9"], - "uses": ["5:6-5:11"] + "callees": ["0@7:6-7:9"] }], "vars": [{ "id": 0, diff --git a/tests/usage/func_usage_template_func.cc b/tests/usage/func_usage_template_func.cc index 6931ceff..1b57ce1b 100644 --- a/tests/usage/func_usage_template_func.cc +++ b/tests/usage/func_usage_template_func.cc @@ -15,8 +15,7 @@ OUTPUT: "short_name": "accept", "qualified_name": "accept", "declarations": ["2:6-2:12"], - "callers": ["1@5:3-5:9", "1@6:3-6:9"], - "uses": ["2:6-2:12", "5:3-5:9", "6:3-6:9"] + "callers": ["1@5:3-5:9", "1@6:3-6:9"] }, { "id": 1, "usr": "c:@F@foo#", @@ -24,8 +23,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "4:6-4:9", "definition_extent": "4:1-7:2", - "callees": ["0@5:3-5:9", "0@6:3-6:9"], - "uses": ["4:6-4:9"] + "callees": ["0@5:3-5:9", "0@6:3-6:9"] }] } */ diff --git a/tests/usage/type_usage_as_template_parameter.cc b/tests/usage/type_usage_as_template_parameter.cc index 029e8ce2..dd839c03 100644 --- a/tests/usage/type_usage_as_template_parameter.cc +++ b/tests/usage/type_usage_as_template_parameter.cc @@ -33,8 +33,7 @@ OUTPUT: "short_name": "return_type", "qualified_name": "return_type", "definition_spelling": "9:16-9:27", - "definition_extent": "9:1-12:2", - "uses": ["9:16-9:27"] + "definition_extent": "9:1-12:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_as_template_parameter_complex.cc b/tests/usage/type_usage_as_template_parameter_complex.cc index df76520e..b95cea6b 100644 --- a/tests/usage/type_usage_as_template_parameter_complex.cc +++ b/tests/usage/type_usage_as_template_parameter_complex.cc @@ -110,24 +110,21 @@ OUTPUT: "short_name": "as_return_type", "qualified_name": "as_return_type", "definition_spelling": "33:37-33:51", - "definition_extent": "33:1-33:92", - "uses": ["33:37-33:51"] + "definition_extent": "33:1-33:92" }, { "id": 1, "usr": "c:@F@no_return_type#I#", "short_name": "no_return_type", "qualified_name": "no_return_type", "definition_spelling": "40:6-40:20", - "definition_extent": "40:1-40:28", - "uses": ["40:6-40:20"] + "definition_extent": "40:1-40:28" }, { "id": 2, "usr": "c:@F@empty#", "short_name": "empty", "qualified_name": "empty", "definition_spelling": "53:6-53:11", - "definition_extent": "53:1-55:2", - "uses": ["53:6-53:11"] + "definition_extent": "53:1-55:2" }, { "id": 3, "usr": "c:@S@Foo@F@foo#", @@ -136,8 +133,7 @@ OUTPUT: "declarations": ["65:23-65:26"], "definition_spelling": "79:26-79:29", "definition_extent": "79:1-79:51", - "declaring_type": 3, - "uses": ["65:23-65:26", "79:26-79:29"] + "declaring_type": 3 }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_declare_local.cc b/tests/usage/type_usage_declare_local.cc index 9b5dee8f..a607059b 100644 --- a/tests/usage/type_usage_declare_local.cc +++ b/tests/usage/type_usage_declare_local.cc @@ -30,8 +30,7 @@ OUTPUT: "short_name": "Foo", "qualified_name": "Foo", "definition_spelling": "4:6-4:9", - "definition_extent": "4:1-7:2", - "uses": ["4:6-4:9"] + "definition_extent": "4:1-7:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_declare_param.cc b/tests/usage/type_usage_declare_param.cc index 65abe2c9..334e3b6f 100644 --- a/tests/usage/type_usage_declare_param.cc +++ b/tests/usage/type_usage_declare_param.cc @@ -27,8 +27,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "4:6-4:9", - "definition_extent": "4:1-4:47", - "uses": ["4:6-4:9"] + "definition_extent": "4:1-4:47" }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_declare_param_prototype.cc b/tests/usage/type_usage_declare_param_prototype.cc index c574a838..449f3256 100644 --- a/tests/usage/type_usage_declare_param_prototype.cc +++ b/tests/usage/type_usage_declare_param_prototype.cc @@ -24,8 +24,7 @@ OUTPUT: "qualified_name": "foo", "declarations": ["3:6-3:9"], "definition_spelling": "4:6-4:9", - "definition_extent": "4:1-4:26", - "uses": ["3:6-3:9", "4:6-4:9"] + "definition_extent": "4:1-4:26" }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_declare_param_unnamed.cc b/tests/usage/type_usage_declare_param_unnamed.cc index 33cd93bd..03aa0cab 100644 --- a/tests/usage/type_usage_declare_param_unnamed.cc +++ b/tests/usage/type_usage_declare_param_unnamed.cc @@ -14,8 +14,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "2:6-2:9", - "definition_extent": "2:1-2:26", - "uses": ["2:6-2:9"] + "definition_extent": "2:1-2:26" }] } */ diff --git a/tests/usage/type_usage_declare_qualifiers.cc b/tests/usage/type_usage_declare_qualifiers.cc index dac391ef..7e1fcc1a 100644 --- a/tests/usage/type_usage_declare_qualifiers.cc +++ b/tests/usage/type_usage_declare_qualifiers.cc @@ -25,8 +25,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-8:2", - "uses": ["3:6-3:9"] + "definition_extent": "3:1-8:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/type_usage_on_return_type.cc b/tests/usage/type_usage_on_return_type.cc index 4ae6c14d..305ab2bc 100644 --- a/tests/usage/type_usage_on_return_type.cc +++ b/tests/usage/type_usage_on_return_type.cc @@ -41,8 +41,7 @@ OUTPUT: "qualified_name": "foo", "declarations": ["3:7-3:10", "4:7-4:10"], "definition_spelling": "5:7-5:10", - "definition_extent": "5:1-5:15", - "uses": ["3:7-3:10", "4:7-4:10", "5:7-5:10"] + "definition_extent": "5:1-5:15" }, { "id": 1, "usr": "c:@S@Foo@F@Get#I#", @@ -51,8 +50,7 @@ OUTPUT: "declarations": ["8:9-8:12"], "definition_spelling": "12:12-12:15", "definition_extent": "12:1-12:23", - "declaring_type": 1, - "uses": ["8:9-8:12", "12:12-12:15"] + "declaring_type": 1 }, { "id": 2, "usr": "c:@S@Foo@F@Empty#", @@ -61,15 +59,13 @@ OUTPUT: "declarations": ["9:8-9:13"], "definition_spelling": "13:11-13:16", "definition_extent": "13:1-13:21", - "declaring_type": 1, - "uses": ["9:8-9:13", "13:11-13:16"] + "declaring_type": 1 }, { "id": 3, "usr": "c:@F@external#", "short_name": "external", "qualified_name": "external", - "declarations": ["15:20-15:28"], - "uses": ["15:20-15:28"] + "declarations": ["15:20-15:28"] }, { "id": 4, "usr": "c:type_usage_on_return_type.cc@F@bar#", @@ -77,8 +73,7 @@ OUTPUT: "qualified_name": "bar", "declarations": ["17:14-17:17"], "definition_spelling": "18:14-18:17", - "definition_extent": "18:1-18:22", - "uses": ["17:14-17:17", "18:14-18:17"] + "definition_extent": "18:1-18:22" }] } */ diff --git a/tests/usage/type_usage_typedef_and_using.cc b/tests/usage/type_usage_typedef_and_using.cc index 5258383c..51a2347d 100644 --- a/tests/usage/type_usage_typedef_and_using.cc +++ b/tests/usage/type_usage_typedef_and_using.cc @@ -58,32 +58,28 @@ OUTPUT: "short_name": "accept", "qualified_name": "accept", "definition_spelling": "7:6-7:12", - "definition_extent": "7:1-7:21", - "uses": ["7:6-7:12"] + "definition_extent": "7:1-7:21" }, { "id": 1, "usr": "c:@F@accept1#**$@S@Foo#", "short_name": "accept1", "qualified_name": "accept1", "definition_spelling": "8:6-8:13", - "definition_extent": "8:1-8:23", - "uses": ["8:6-8:13"] + "definition_extent": "8:1-8:23" }, { "id": 2, "usr": "c:@F@accept2#*$@S@Foo#", "short_name": "accept2", "qualified_name": "accept2", "definition_spelling": "9:6-9:13", - "definition_extent": "9:1-9:23", - "uses": ["9:6-9:13"] + "definition_extent": "9:1-9:23" }, { "id": 3, "usr": "c:@F@accept3#**$@S@Foo#", "short_name": "accept3", "qualified_name": "accept3", "definition_spelling": "10:6-10:13", - "definition_extent": "10:1-10:23", - "uses": ["10:6-10:13"] + "definition_extent": "10:1-10:23" }] } */ diff --git a/tests/usage/type_usage_various.cc b/tests/usage/type_usage_various.cc index b471addd..20bf06c4 100644 --- a/tests/usage/type_usage_various.cc +++ b/tests/usage/type_usage_various.cc @@ -31,8 +31,7 @@ OUTPUT: "declarations": ["2:8-2:12"], "definition_spelling": "5:11-5:15", "definition_extent": "5:1-8:2", - "declaring_type": 0, - "uses": ["2:8-2:12", "5:11-5:15"] + "declaring_type": 0 }], "vars": [{ "id": 0, diff --git a/tests/usage/usage_inside_of_call.cc b/tests/usage/usage_inside_of_call.cc index 05fbb418..ef79cd16 100644 --- a/tests/usage/usage_inside_of_call.cc +++ b/tests/usage/usage_inside_of_call.cc @@ -33,16 +33,14 @@ OUTPUT: "short_name": "called", "qualified_name": "called", "declarations": ["1:6-1:12"], - "callers": ["2@14:3-14:9"], - "uses": ["1:6-1:12", "14:3-14:9"] + "callers": ["2@14:3-14:9"] }, { "id": 1, "usr": "c:@F@gen#", "short_name": "gen", "qualified_name": "gen", "declarations": ["3:5-3:8"], - "callers": ["2@14:14-14:17"], - "uses": ["3:5-3:8", "14:14-14:17"] + "callers": ["2@14:14-14:17"] }, { "id": 2, "usr": "c:@F@foo#", @@ -50,8 +48,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "12:6-12:9", "definition_extent": "12:1-15:2", - "callees": ["0@14:3-14:9", "1@14:14-14:17"], - "uses": ["12:6-12:9"] + "callees": ["0@14:3-14:9", "1@14:14-14:17"] }], "vars": [{ "id": 0, diff --git a/tests/usage/usage_inside_of_call_simple.cc b/tests/usage/usage_inside_of_call_simple.cc index ec07e272..7de60dea 100644 --- a/tests/usage/usage_inside_of_call_simple.cc +++ b/tests/usage/usage_inside_of_call_simple.cc @@ -15,8 +15,7 @@ OUTPUT: "short_name": "called", "qualified_name": "called", "declarations": ["1:6-1:12"], - "callers": ["2@6:3-6:9"], - "uses": ["1:6-1:12", "6:3-6:9"] + "callers": ["2@6:3-6:9"] }, { "id": 1, "usr": "c:@F@gen#", @@ -24,8 +23,7 @@ OUTPUT: "qualified_name": "gen", "definition_spelling": "3:5-3:8", "definition_extent": "3:1-3:24", - "callers": ["2@6:10-6:13", "2@6:18-6:21"], - "uses": ["3:5-3:8", "6:10-6:13", "6:18-6:21"] + "callers": ["2@6:10-6:13", "2@6:18-6:21"] }, { "id": 2, "usr": "c:@F@foo#", @@ -33,8 +31,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "5:6-5:9", "definition_extent": "5:1-7:2", - "callees": ["0@6:3-6:9", "1@6:10-6:13", "1@6:18-6:21"], - "uses": ["5:6-5:9"] + "callees": ["0@6:3-6:9", "1@6:10-6:13", "1@6:18-6:21"] }] } */ diff --git a/tests/usage/var_usage_call_function.cc b/tests/usage/var_usage_call_function.cc index 89679f8d..f5287f31 100644 --- a/tests/usage/var_usage_call_function.cc +++ b/tests/usage/var_usage_call_function.cc @@ -17,8 +17,7 @@ OUTPUT: "qualified_name": "called", "definition_spelling": "1:6-1:12", "definition_extent": "1:1-1:17", - "callers": ["1@4:13-4:19", "1@7:3-7:9"], - "uses": ["1:6-1:12", "4:13-4:19", "7:3-7:9"] + "callers": ["1@4:13-4:19", "1@7:3-7:9"] }, { "id": 1, "usr": "c:@F@caller#", @@ -26,8 +25,7 @@ OUTPUT: "qualified_name": "caller", "definition_spelling": "3:6-3:12", "definition_extent": "3:1-8:2", - "callees": ["0@4:13-4:19", "0@7:3-7:9"], - "uses": ["3:6-3:12"] + "callees": ["0@4:13-4:19", "0@7:3-7:9"] }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_class_member.cc b/tests/usage/var_usage_class_member.cc index 0bf642f0..0863a4f3 100644 --- a/tests/usage/var_usage_class_member.cc +++ b/tests/usage/var_usage_class_member.cc @@ -37,16 +37,14 @@ OUTPUT: "short_name": "accept", "qualified_name": "accept", "declarations": ["7:6-7:12"], - "callers": ["2@14:3-14:9", "2@15:3-15:9", "2@17:3-17:9"], - "uses": ["7:6-7:12", "14:3-14:9", "15:3-15:9", "17:3-17:9"] + "callers": ["2@14:3-14:9", "2@15:3-15:9", "2@17:3-17:9"] }, { "id": 1, "usr": "c:@F@accept#*I#", "short_name": "accept", "qualified_name": "accept", "declarations": ["8:6-8:12"], - "callers": ["2@16:3-16:9"], - "uses": ["8:6-8:12", "16:3-16:9"] + "callers": ["2@16:3-16:9"] }, { "id": 2, "usr": "c:@F@foo#", @@ -54,8 +52,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "10:6-10:9", "definition_extent": "10:1-18:2", - "callees": ["0@14:3-14:9", "0@15:3-15:9", "1@16:3-16:9", "0@17:3-17:9"], - "uses": ["10:6-10:9"] + "callees": ["0@14:3-14:9", "0@15:3-15:9", "1@16:3-16:9", "0@17:3-17:9"] }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_class_member_static.cc b/tests/usage/var_usage_class_member_static.cc index b89a672a..b30b9ca2 100644 --- a/tests/usage/var_usage_class_member_static.cc +++ b/tests/usage/var_usage_class_member_static.cc @@ -26,8 +26,7 @@ OUTPUT: "short_name": "accept", "qualified_name": "accept", "declarations": ["5:6-5:12"], - "callers": ["1@8:3-8:9"], - "uses": ["5:6-5:12", "8:3-8:9"] + "callers": ["1@8:3-8:9"] }, { "id": 1, "usr": "c:@F@foo#", @@ -35,8 +34,7 @@ OUTPUT: "qualified_name": "foo", "definition_spelling": "7:6-7:9", "definition_extent": "7:1-9:2", - "callees": ["0@8:3-8:9"], - "uses": ["7:6-7:9"] + "callees": ["0@8:3-8:9"] }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_extern.cc b/tests/usage/var_usage_extern.cc index 7b4241e9..a1bd4c96 100644 --- a/tests/usage/var_usage_extern.cc +++ b/tests/usage/var_usage_extern.cc @@ -12,8 +12,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-5:2", - "uses": ["3:6-3:9"] + "definition_extent": "3:1-5:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_func_parameter.cc b/tests/usage/var_usage_func_parameter.cc index fa2ea760..47798297 100644 --- a/tests/usage/var_usage_func_parameter.cc +++ b/tests/usage/var_usage_func_parameter.cc @@ -10,8 +10,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-3:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-3:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_local.cc b/tests/usage/var_usage_local.cc index 5b6f970e..f7b78517 100644 --- a/tests/usage/var_usage_local.cc +++ b/tests/usage/var_usage_local.cc @@ -11,8 +11,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-4:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-4:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_shadowed_local.cc b/tests/usage/var_usage_shadowed_local.cc index 8d3c5396..3d7fa06d 100644 --- a/tests/usage/var_usage_shadowed_local.cc +++ b/tests/usage/var_usage_shadowed_local.cc @@ -16,8 +16,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-9:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-9:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_shadowed_parameter.cc b/tests/usage/var_usage_shadowed_parameter.cc index eec504bb..2b6a49ff 100644 --- a/tests/usage/var_usage_shadowed_parameter.cc +++ b/tests/usage/var_usage_shadowed_parameter.cc @@ -16,8 +16,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-8:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-8:2" }], "vars": [{ "id": 0, diff --git a/tests/usage/var_usage_static.cc b/tests/usage/var_usage_static.cc index 0664ebfc..7b02ea18 100644 --- a/tests/usage/var_usage_static.cc +++ b/tests/usage/var_usage_static.cc @@ -13,8 +13,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-5:2", - "uses": ["3:6-3:9"] + "definition_extent": "3:1-5:2" }], "vars": [{ "id": 0, diff --git a/tests/vars/function_local.cc b/tests/vars/function_local.cc index 7848e1fd..98e1ab85 100644 --- a/tests/vars/function_local.cc +++ b/tests/vars/function_local.cc @@ -19,8 +19,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-5:2", - "uses": ["3:6-3:9"] + "definition_extent": "3:1-5:2" }], "vars": [{ "id": 0, diff --git a/tests/vars/function_param.cc b/tests/vars/function_param.cc index b68b8787..60b23342 100644 --- a/tests/vars/function_param.cc +++ b/tests/vars/function_param.cc @@ -17,8 +17,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "3:6-3:9", - "definition_extent": "3:1-3:30", - "uses": ["3:6-3:9"] + "definition_extent": "3:1-3:30" }], "vars": [{ "id": 0, diff --git a/tests/vars/function_param_unnamed.cc b/tests/vars/function_param_unnamed.cc index 48257cc5..3b6e6784 100644 --- a/tests/vars/function_param_unnamed.cc +++ b/tests/vars/function_param_unnamed.cc @@ -8,8 +8,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-1:22", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-1:22" }] } */ diff --git a/tests/vars/function_shadow_local.cc b/tests/vars/function_shadow_local.cc index a4485aee..ff879c28 100644 --- a/tests/vars/function_shadow_local.cc +++ b/tests/vars/function_shadow_local.cc @@ -16,8 +16,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-9:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-9:2" }], "vars": [{ "id": 0, diff --git a/tests/vars/function_shadow_param.cc b/tests/vars/function_shadow_param.cc index acaf2664..4674a04a 100644 --- a/tests/vars/function_shadow_param.cc +++ b/tests/vars/function_shadow_param.cc @@ -10,8 +10,7 @@ OUTPUT: "short_name": "foo", "qualified_name": "foo", "definition_spelling": "1:6-1:9", - "definition_extent": "1:1-3:2", - "uses": ["1:6-1:9"] + "definition_extent": "1:1-3:2" }], "vars": [{ "id": 0,