summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ExpressionParser/Clang
diff options
context:
space:
mode:
authorZachary Turner <zturner@google.com>2016-11-16 21:15:24 +0000
committerZachary Turner <zturner@google.com>2016-11-16 21:15:24 +0000
commitc156427ded1dfa7686c90cc56ad16013a079a742 (patch)
treef4912beeebd9e7a04e9c20a8e05d64e25bde192d /lldb/source/Plugins/ExpressionParser/Clang
parent725dc14bb21da8a01709a6b3370a658d071689dc (diff)
downloadbcm5719-llvm-c156427ded1dfa7686c90cc56ad16013a079a742.tar.gz
bcm5719-llvm-c156427ded1dfa7686c90cc56ad16013a079a742.zip
Don't allow direct access to StreamString's internal buffer.
This is a large API change that removes the two functions from StreamString that return a std::string& and a const std::string&, and instead provide one function which returns a StringRef. Direct access to the underlying buffer violates the concept of a "stream" which is intended to provide forward only access, and makes porting to llvm::raw_ostream more difficult in the future. Differential Revision: https://reviews.llvm.org/D26698 llvm-svn: 287152
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Clang')
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp11
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp4
2 files changed, 7 insertions, 8 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
index b55d6644845..0f08dd330e9 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
@@ -1,5 +1,4 @@
-//===-- ClangASTSource.cpp ---------------------------------------*- C++
-//-*-===//
+//===-- ClangASTSource.cpp ---------------------------------------*- C++-*-===//
//
// The LLVM Compiler Infrastructure
//
@@ -1042,10 +1041,10 @@ void ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) {
}
ss.Flush();
- if (strstr(ss.GetData(), "$__lldb"))
+ if (ss.GetString().contains("$__lldb"))
return; // we don't need any results
- ConstString selector_name(ss.GetData());
+ ConstString selector_name(ss.GetString());
if (log)
log->Printf("ClangASTSource::FindObjCMethodDecls[%d] on (ASTContext*)%p "
@@ -1065,7 +1064,7 @@ void ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) {
StreamString ms;
ms.Printf("-[%s %s]", interface_name.c_str(), selector_name.AsCString());
ms.Flush();
- ConstString instance_method_name(ms.GetData());
+ ConstString instance_method_name(ms.GetString());
m_target->GetImages().FindFunctions(
instance_method_name, lldb::eFunctionNameTypeFull, include_symbols,
@@ -1077,7 +1076,7 @@ void ClangASTSource::FindObjCMethodDecls(NameSearchContext &context) {
ms.Clear();
ms.Printf("+[%s %s]", interface_name.c_str(), selector_name.AsCString());
ms.Flush();
- ConstString class_method_name(ms.GetData());
+ ConstString class_method_name(ms.GetString());
m_target->GetImages().FindFunctions(
class_method_name, lldb::eFunctionNameTypeFull, include_symbols,
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
index d91da5f40d9..a75e60ff63c 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
@@ -135,7 +135,7 @@ public:
bool hasErrors() { return m_has_errors; }
- const std::string &getErrorString() { return m_error_stream.GetString(); }
+ llvm::StringRef getErrorString() { return m_error_stream.GetString(); }
};
class ClangDiagnosticManagerAdapter : public clang::DiagnosticConsumer {
@@ -627,7 +627,7 @@ unsigned ClangExpressionParser::Parse(DiagnosticManager &diagnostic_manager) {
diagnostic_manager.PutString(eDiagnosticSeverityError,
"while importing modules:");
diagnostic_manager.AppendMessageToDiagnostic(
- m_pp_callbacks->getErrorString().c_str());
+ m_pp_callbacks->getErrorString());
}
if (!num_errors) {
OpenPOWER on IntegriCloud