From: Zachary Turner Date: Sun, 13 Nov 2016 03:29:46 +0000 (+0000) Subject: Change ValueObject creation functions to take StringRefs. X-Git-Tag: llvmorg-4.0.0-rc1~4754 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa5611f56df92ca78df874a3b751f906044460c1;p=platform%2Fupstream%2Fllvm.git Change ValueObject creation functions to take StringRefs. llvm-svn: 286744 --- diff --git a/lldb/include/lldb/Core/ValueObject.h b/lldb/include/lldb/Core/ValueObject.h index a68fd27..4872866 100644 --- a/lldb/include/lldb/Core/ValueObject.h +++ b/lldb/include/lldb/Core/ValueObject.h @@ -650,21 +650,23 @@ public: void Dump(Stream &s, const DumpValueObjectOptions &options); static lldb::ValueObjectSP - CreateValueObjectFromExpression(const char *name, const char *expression, + CreateValueObjectFromExpression(llvm::StringRef name, + llvm::StringRef expression, const ExecutionContext &exe_ctx); static lldb::ValueObjectSP - CreateValueObjectFromExpression(const char *name, const char *expression, + CreateValueObjectFromExpression(llvm::StringRef name, + llvm::StringRef expression, const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options); static lldb::ValueObjectSP - CreateValueObjectFromAddress(const char *name, uint64_t address, + CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type); static lldb::ValueObjectSP - CreateValueObjectFromData(const char *name, const DataExtractor &data, + CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type); void LogValueObject(Log *log); diff --git a/lldb/include/lldb/DataFormatters/TypeSynthetic.h b/lldb/include/lldb/DataFormatters/TypeSynthetic.h index 189fd28..6f5a8df 100644 --- a/lldb/include/lldb/DataFormatters/TypeSynthetic.h +++ b/lldb/include/lldb/DataFormatters/TypeSynthetic.h @@ -90,15 +90,16 @@ public: protected: lldb::ValueObjectSP - CreateValueObjectFromExpression(const char *name, const char *expression, + CreateValueObjectFromExpression(llvm::StringRef name, + llvm::StringRef expression, const ExecutionContext &exe_ctx); lldb::ValueObjectSP - CreateValueObjectFromAddress(const char *name, uint64_t address, + CreateValueObjectFromAddress(llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type); - lldb::ValueObjectSP CreateValueObjectFromData(const char *name, + lldb::ValueObjectSP CreateValueObjectFromData(llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type); diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index edd5490..cd6bc89 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -3605,32 +3605,33 @@ SymbolContextScope *ValueObject::GetSymbolContextScope() { return NULL; } -lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression( - const char *name, const char *expression, const ExecutionContext &exe_ctx) { +lldb::ValueObjectSP +ValueObject::CreateValueObjectFromExpression(llvm::StringRef name, + llvm::StringRef expression, + const ExecutionContext &exe_ctx) { return CreateValueObjectFromExpression(name, expression, exe_ctx, EvaluateExpressionOptions()); } lldb::ValueObjectSP ValueObject::CreateValueObjectFromExpression( - const char *name, const char *expression, const ExecutionContext &exe_ctx, - const EvaluateExpressionOptions &options) { + llvm::StringRef name, llvm::StringRef expression, + const ExecutionContext &exe_ctx, const EvaluateExpressionOptions &options) { lldb::ValueObjectSP retval_sp; lldb::TargetSP target_sp(exe_ctx.GetTargetSP()); if (!target_sp) return retval_sp; - if (!expression || !*expression) + if (expression.empty()) return retval_sp; target_sp->EvaluateExpression(expression, exe_ctx.GetFrameSP().get(), retval_sp, options); - if (retval_sp && name && *name) + if (retval_sp && !name.empty()) retval_sp->SetName(ConstString(name)); return retval_sp; } -lldb::ValueObjectSP -ValueObject::CreateValueObjectFromAddress(const char *name, uint64_t address, - const ExecutionContext &exe_ctx, - CompilerType type) { +lldb::ValueObjectSP ValueObject::CreateValueObjectFromAddress( + llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, + CompilerType type) { if (type) { CompilerType pointer_type(type.GetPointerType()); if (pointer_type) { @@ -3645,7 +3646,7 @@ ValueObject::CreateValueObjectFromAddress(const char *name, uint64_t address, Value::eValueTypeLoadAddress); Error err; ptr_result_valobj_sp = ptr_result_valobj_sp->Dereference(err); - if (ptr_result_valobj_sp && name && *name) + if (ptr_result_valobj_sp && !name.empty()) ptr_result_valobj_sp->SetName(ConstString(name)); } return ptr_result_valobj_sp; @@ -3655,14 +3656,14 @@ ValueObject::CreateValueObjectFromAddress(const char *name, uint64_t address, } lldb::ValueObjectSP ValueObject::CreateValueObjectFromData( - const char *name, const DataExtractor &data, + llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type) { lldb::ValueObjectSP new_value_sp; new_value_sp = ValueObjectConstResult::Create( exe_ctx.GetBestExecutionContextScope(), type, ConstString(name), data, LLDB_INVALID_ADDRESS); new_value_sp->SetAddressTypeOfChildren(eAddressTypeLoad); - if (new_value_sp && name && *name) + if (new_value_sp && !name.empty()) new_value_sp->SetName(ConstString(name)); return new_value_sp; } diff --git a/lldb/source/DataFormatters/TypeSynthetic.cpp b/lldb/source/DataFormatters/TypeSynthetic.cpp index 7bfc879..0f7bd9a 100644 --- a/lldb/source/DataFormatters/TypeSynthetic.cpp +++ b/lldb/source/DataFormatters/TypeSynthetic.cpp @@ -101,7 +101,8 @@ std::string CXXSyntheticChildren::GetDescription() { } lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromExpression( - const char *name, const char *expression, const ExecutionContext &exe_ctx) { + llvm::StringRef name, llvm::StringRef expression, + const ExecutionContext &exe_ctx) { ValueObjectSP valobj_sp( ValueObject::CreateValueObjectFromExpression(name, expression, exe_ctx)); if (valobj_sp) @@ -110,7 +111,7 @@ lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromExpression( } lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromAddress( - const char *name, uint64_t address, const ExecutionContext &exe_ctx, + llvm::StringRef name, uint64_t address, const ExecutionContext &exe_ctx, CompilerType type) { ValueObjectSP valobj_sp( ValueObject::CreateValueObjectFromAddress(name, address, exe_ctx, type)); @@ -120,7 +121,7 @@ lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromAddress( } lldb::ValueObjectSP SyntheticChildrenFrontEnd::CreateValueObjectFromData( - const char *name, const DataExtractor &data, + llvm::StringRef name, const DataExtractor &data, const ExecutionContext &exe_ctx, CompilerType type) { ValueObjectSP valobj_sp( ValueObject::CreateValueObjectFromData(name, data, exe_ctx, type)); diff --git a/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp index 30cc4aa..a448da6 100644 --- a/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp +++ b/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp @@ -509,7 +509,8 @@ ValueObjectSP GoUserExpression::GoInterpreter::VisitBasicLit( DataExtractor data(buf, order, addr_size); CompilerType type = LookupType(target, ConstString("int64")); - return ValueObject::CreateValueObjectFromData(nullptr, data, m_exe_ctx, type); + return ValueObject::CreateValueObjectFromData(llvm::StringRef(), data, + m_exe_ctx, type); } ValueObjectSP GoUserExpression::GoInterpreter::VisitIndexExpr( @@ -565,7 +566,7 @@ GoUserExpression::GoInterpreter::VisitUnaryExpr(const GoASTUnaryExpr *e) { case GoLexer::OP_AMP: { CompilerType type = x->GetCompilerType().GetPointerType(); uint64_t address = x->GetAddressOf(); - return ValueObject::CreateValueObjectFromAddress(nullptr, address, + return ValueObject::CreateValueObjectFromAddress(llvm::StringRef(), address, m_exe_ctx, type); } case GoLexer::OP_PLUS: