USR -> Usr

This commit is contained in:
Fangrui Song 2018-01-13 00:10:39 -08:00
parent 14a213d407
commit da2cbe4152
6 changed files with 41 additions and 43 deletions

View File

@ -60,7 +60,7 @@ std::string ClangType::get_usr() const {
return ClangCursor(clang_getTypeDeclaration(cx_type)).get_usr();
}
USR ClangType::get_usr_hash() const {
Usr ClangType::get_usr_hash() const {
return ClangCursor(clang_getTypeDeclaration(cx_type)).get_usr_hash();
}
@ -172,9 +172,9 @@ std::string ClangCursor::get_usr() const {
return ::ToString(clang_getCursorUSR(cx_cursor));
}
USR ClangCursor::get_usr_hash() const {
Usr ClangCursor::get_usr_hash() const {
CXString usr = clang_getCursorUSR(cx_cursor);
USR ret = HashUSR(clang_getCString(usr));
Usr ret = HashUSR(clang_getCString(usr));
clang_disposeString(usr);
return ret;
}

View File

@ -9,12 +9,12 @@
#include <string>
#include <vector>
using USR = uint64_t;
using Usr = uint64_t;
Range ResolveCXSourceRange(const CXSourceRange& range,
CXFile* cx_file = nullptr);
USR HashUSR(const char* usr);
Usr HashUSR(const char* usr);
class ClangType {
public:
@ -29,7 +29,7 @@ class ClangType {
// ClangCursor is not defined so we have to return CXCursor
CXCursor get_declaration() const;
std::string get_usr() const;
USR get_usr_hash() const;
Usr get_usr_hash() const;
std::string get_spelling() const;
ClangType get_canonical() const;
@ -60,7 +60,7 @@ class ClangCursor {
Range get_extent() const;
std::string get_display_name() const;
std::string get_usr() const;
USR get_usr_hash() const;
Usr get_usr_hash() const;
bool is_definition() const;

View File

@ -112,10 +112,10 @@ ClangSymbolKind GetSymbolKind(CXIdxEntityKind kind) {
// constructor we will not be able to attribute the constructor call correctly.
struct ConstructorCache {
struct Constructor {
USR usr;
Usr usr;
std::vector<std::string> param_type_desc;
};
std::unordered_map<USR, std::vector<Constructor>> constructors_;
std::unordered_map<Usr, std::vector<Constructor>> constructors_;
// This should be called whenever there is a constructor declaration.
void NotifyConstructor(ClangCursor ctor_cursor) {
@ -142,8 +142,8 @@ struct ConstructorCache {
// Tries to lookup a constructor in |type_usr| that takes arguments most
// closely aligned to |param_type_desc|.
optional<USR> TryFindConstructorUsr(
USR type_usr,
optional<Usr> TryFindConstructorUsr(
Usr type_usr,
const std::vector<std::string>& param_type_desc) {
auto count_matching_prefix_length = [](const char* a, const char* b) {
int matched = 0;
@ -170,7 +170,7 @@ struct ConstructorCache {
if (ctors.empty())
return nullopt;
USR best_usr;
Usr best_usr;
int best_score = INT_MIN;
// Scan constructors for the best possible match.
@ -487,7 +487,7 @@ IndexFile::IndexFile(const std::string& path,
}
// TODO: Optimize for const char*?
IndexTypeId IndexFile::ToTypeId(USR usr) {
IndexTypeId IndexFile::ToTypeId(Usr usr) {
auto it = id_cache.usr_to_type_id.find(usr);
if (it != id_cache.usr_to_type_id.end())
return it->second;
@ -498,7 +498,7 @@ IndexTypeId IndexFile::ToTypeId(USR usr) {
id_cache.type_id_to_usr[id] = usr;
return id;
}
IndexFuncId IndexFile::ToFuncId(USR usr) {
IndexFuncId IndexFile::ToFuncId(Usr usr) {
auto it = id_cache.usr_to_func_id.find(usr);
if (it != id_cache.usr_to_func_id.end())
return it->second;
@ -509,7 +509,7 @@ IndexFuncId IndexFile::ToFuncId(USR usr) {
id_cache.func_id_to_usr[id] = usr;
return id;
}
IndexVarId IndexFile::ToVarId(USR usr) {
IndexVarId IndexFile::ToVarId(Usr usr) {
auto it = id_cache.usr_to_var_id.find(usr);
if (it != id_cache.usr_to_var_id.end())
return it->second;
@ -547,7 +547,7 @@ std::string IndexFile::ToString() {
return Serialize(SerializeFormat::Json, *this);
}
IndexType::IndexType(IndexTypeId id, USR usr) : usr(usr), id(id) {}
IndexType::IndexType(IndexTypeId id, Usr usr) : usr(usr), id(id) {}
void RemoveItem(std::vector<Range>& ranges, Range to_remove) {
auto it = std::find(ranges.begin(), ranges.end(), to_remove);
@ -951,7 +951,7 @@ ClangCursor::VisitResult AddDeclInitializerUsagesVisitor(ClangCursor cursor,
break;
// TODO: when we resolve the template type to the definition, we get a
// different USR.
// different Usr.
// ClangCursor ref =
// cursor.get_referenced().template_specialization_to_template_definition().get_type().strip_qualifiers().get_usr_hash();
@ -1011,7 +1011,7 @@ ClangCursor::VisitResult VisitMacroDefinitionAndExpansions(ClangCursor cursor,
// only real difference will be that we show 'callers' instead of 'refs'
// (especially since macros cannot have overrides)
USR decl_usr;
Usr decl_usr;
if (cursor.get_kind() == CXCursor_MacroDefinition)
decl_usr = cursor.get_usr_hash();
else
@ -1777,7 +1777,7 @@ void OnIndexReference(CXClientData client_data, const CXIdxEntityRefInfo* ref) {
// the constructor function we add a usage to.
optional<ClangCursor> opt_found_type = FindType(ref->cursor);
if (opt_found_type) {
USR ctor_type_usr = opt_found_type->get_referenced().get_usr_hash();
Usr ctor_type_usr = opt_found_type->get_referenced().get_usr_hash();
ClangCursor call_cursor = ref->cursor;
// Build a type description from the parameters of the call, so we
@ -1790,7 +1790,7 @@ void OnIndexReference(CXClientData client_data, const CXIdxEntityRefInfo* ref) {
}
// Try to find the constructor and add a reference.
optional<USR> ctor_usr =
optional<Usr> ctor_usr =
param->ctors.TryFindConstructorUsr(ctor_type_usr, call_type_desc);
if (ctor_usr) {
IndexFunc* ctor = db->Resolve(db->ToFuncId(*ctor_usr));

View File

@ -260,7 +260,7 @@ struct IndexType {
using Def =
TypeDefDefinitionData<IndexTypeId, IndexFuncId, IndexVarId, Range>;
USR usr;
Usr usr;
IndexTypeId id;
Def def;
@ -276,7 +276,7 @@ struct IndexType {
std::vector<Range> uses;
IndexType() {} // For serialization.
IndexType(IndexTypeId id, USR usr);
IndexType(IndexTypeId id, Usr usr);
bool operator<(const IndexType& other) const { return id < other.id; }
};
@ -362,7 +362,7 @@ struct IndexFunc {
IndexFuncRef,
Range>;
USR usr;
Usr usr;
IndexFuncId id;
Def def;
@ -392,7 +392,7 @@ struct IndexFunc {
std::vector<IndexFuncRef> callers;
IndexFunc() {} // For serialization.
IndexFunc(IndexFuncId id, USR usr) : usr(usr), id(id) {
IndexFunc(IndexFuncId id, Usr usr) : usr(usr), id(id) {
// assert(usr.size() > 0);
}
@ -469,7 +469,7 @@ void Reflect(TVisitor& visitor,
struct IndexVar {
using Def = VarDefDefinitionData<IndexTypeId, IndexFuncId, IndexVarId, Range>;
USR usr;
Usr usr;
IndexVarId id;
Def def;
@ -478,7 +478,7 @@ struct IndexVar {
std::vector<Range> uses;
IndexVar() {} // For serialization.
IndexVar(IndexVarId id, USR usr) : usr(usr), id(id) {
IndexVar(IndexVarId id, Usr usr) : usr(usr), id(id) {
// assert(usr.size() > 0);
}
@ -488,12 +488,12 @@ MAKE_HASHABLE(IndexVar, t.id);
struct IdCache {
std::string primary_file;
std::unordered_map<USR, IndexTypeId> usr_to_type_id;
std::unordered_map<USR, IndexFuncId> usr_to_func_id;
std::unordered_map<USR, IndexVarId> usr_to_var_id;
std::unordered_map<IndexTypeId, USR> type_id_to_usr;
std::unordered_map<IndexFuncId, USR> func_id_to_usr;
std::unordered_map<IndexVarId, USR> var_id_to_usr;
std::unordered_map<Usr, IndexTypeId> usr_to_type_id;
std::unordered_map<Usr, IndexFuncId> usr_to_func_id;
std::unordered_map<Usr, IndexVarId> usr_to_var_id;
std::unordered_map<IndexTypeId, Usr> type_id_to_usr;
std::unordered_map<IndexFuncId, Usr> func_id_to_usr;
std::unordered_map<IndexVarId, Usr> var_id_to_usr;
IdCache(const std::string& primary_file);
};
@ -545,9 +545,9 @@ struct IndexFile {
IndexFile(const std::string& path, const optional<std::string>& contents);
IndexTypeId ToTypeId(USR usr);
IndexFuncId ToFuncId(USR usr);
IndexVarId ToVarId(USR usr);
IndexTypeId ToTypeId(Usr usr);
IndexFuncId ToFuncId(Usr usr);
IndexVarId ToVarId(Usr usr);
IndexTypeId ToTypeId(const CXCursor& usr);
IndexFuncId ToFuncId(const CXCursor& usr);
IndexVarId ToVarId(const CXCursor& usr);

View File

@ -291,7 +291,7 @@ QueryFileId GetQueryFileIdFromPath(QueryDatabase* query_db,
return QueryFileId(idx);
}
QueryTypeId GetQueryTypeIdFromUsr(QueryDatabase* query_db, USR usr) {
QueryTypeId GetQueryTypeIdFromUsr(QueryDatabase* query_db, Usr usr) {
auto it = query_db->usr_to_type.find(usr);
if (it != query_db->usr_to_type.end())
return QueryTypeId(it->second.id);
@ -302,7 +302,7 @@ QueryTypeId GetQueryTypeIdFromUsr(QueryDatabase* query_db, USR usr) {
return QueryTypeId(idx);
}
QueryFuncId GetQueryFuncIdFromUsr(QueryDatabase* query_db, USR usr) {
QueryFuncId GetQueryFuncIdFromUsr(QueryDatabase* query_db, Usr usr) {
auto it = query_db->usr_to_func.find(usr);
if (it != query_db->usr_to_func.end())
return QueryFuncId(it->second.id);

View File

@ -7,8 +7,6 @@
#include <functional>
using Usr = USR;
struct QueryFile;
struct QueryType;
struct QueryFunc;
@ -170,10 +168,10 @@ void Reflect(TVisitor& visitor, MergeableUpdate<TId, TValue>& value) {
template <typename T>
struct WithUsr {
USR usr;
Usr usr;
T value;
WithUsr(USR usr, const T& value) : usr(usr), value(value) {}
WithUsr(Usr usr, const T& value) : usr(usr), value(value) {}
};
template <typename TVisitor, typename T>
void Reflect(TVisitor& visitor, WithUsr<T>& value) {
@ -225,7 +223,7 @@ struct QueryType {
using InstancesUpdate = MergeableUpdate<QueryTypeId, QueryVarId>;
using UsesUpdate = MergeableUpdate<QueryTypeId, QueryLocation>;
USR usr;
Usr usr;
optional<Def> def;
std::vector<QueryTypeId> derived;
std::vector<QueryVarId> instances;
@ -246,7 +244,7 @@ struct QueryFunc {
using DerivedUpdate = MergeableUpdate<QueryFuncId, QueryFuncId>;
using CallersUpdate = MergeableUpdate<QueryFuncId, QueryFuncRef>;
USR usr;
Usr usr;
optional<Def> def;
std::vector<QueryLocation> declarations;
std::vector<QueryFuncId> derived;