Change ValueObject creation functions to take StringRefs.

llvm-svn: 286744
This commit is contained in:
Zachary Turner 2016-11-13 03:29:46 +00:00
parent 7a120c8b3d
commit aa5611f56d
5 changed files with 31 additions and 25 deletions

View File

@ -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);

View File

@ -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);

View File

@ -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;
}

View File

@ -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));

View File

@ -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: