From: Daniel Jasper Date: Mon, 8 Oct 2012 18:31:54 +0000 (+0000) Subject: FileNameMatchTrie: Use StringRef instead of Twines where possible. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2dbe2fa7eb3ccf8eabae884a177b4570d3fb260d;p=clang FileNameMatchTrie: Use StringRef instead of Twines where possible. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165412 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/clang/Tooling/FileMatchTrie.h b/include/clang/Tooling/FileMatchTrie.h index 14c823ba5e..ff988bebf2 100644 --- a/include/clang/Tooling/FileMatchTrie.h +++ b/include/clang/Tooling/FileMatchTrie.h @@ -18,7 +18,6 @@ #include "clang/Basic/LLVM.h" #include "llvm/ADT/OwningPtr.h" #include "llvm/ADT/StringRef.h" -#include "llvm/ADT/Twine.h" #include #include @@ -28,7 +27,7 @@ namespace tooling { struct PathComparator { virtual ~PathComparator() {} - virtual bool equivalent(const Twine &FileA, const Twine &FileB) const = 0; + virtual bool equivalent(StringRef FileA, StringRef FileB) const = 0; }; class FileMatchTrieNode; diff --git a/lib/Tooling/FileMatchTrie.cpp b/lib/Tooling/FileMatchTrie.cpp index b16b044245..9b1be62875 100644 --- a/lib/Tooling/FileMatchTrie.cpp +++ b/lib/Tooling/FileMatchTrie.cpp @@ -23,9 +23,8 @@ namespace tooling { /// \brief Default \c PathComparator using \c llvm::sys::fs::equivalent(). struct DefaultPathComparator : public PathComparator { virtual ~DefaultPathComparator() {} - virtual bool equivalent(const Twine &FileA, const Twine &FileB) const { - return FileA.str() == FileB.str() || - llvm::sys::fs::equivalent(FileA, FileB); + virtual bool equivalent(StringRef FileA, StringRef FileB) const { + return FileA == FileB || llvm::sys::fs::equivalent(FileA, FileB); } }; diff --git a/unittests/Tooling/CompilationDatabaseTest.cpp b/unittests/Tooling/CompilationDatabaseTest.cpp index 5bbbe2aa2e..6b58abbd32 100644 --- a/unittests/Tooling/CompilationDatabaseTest.cpp +++ b/unittests/Tooling/CompilationDatabaseTest.cpp @@ -84,8 +84,8 @@ static CompileCommand findCompileArgsInJsonDatabase(StringRef FileName, struct FakeComparator : public PathComparator { virtual ~FakeComparator() {} - virtual bool equivalent(const Twine &FileA, const Twine &FileB) const { - return StringRef(FileA.str()).equals_lower(FileB.str()); + virtual bool equivalent(StringRef FileA, StringRef FileB) const { + return FileA.equals_lower(FileB); } };