From 98e6daf1fb3fa2099a84a39d97f7e6958626dc71 Mon Sep 17 00:00:00 2001 From: Jim Ingham Date: Sat, 31 Oct 2015 00:02:18 +0000 Subject: Abstract the notion of the truth value of an expression result, for use in breakpoint conditions. llvm-svn: 251727 --- lldb/source/Core/ValueObject.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'lldb/source/Core/ValueObject.cpp') diff --git a/lldb/source/Core/ValueObject.cpp b/lldb/source/Core/ValueObject.cpp index ecafd202e4c..11ccd1bcfb6 100644 --- a/lldb/source/Core/ValueObject.cpp +++ b/lldb/source/Core/ValueObject.cpp @@ -512,6 +512,26 @@ ValueObject::ResolveValue (Scalar &scalar) return false; } +bool +ValueObject::IsLogicalTrue (Error& error) +{ + Scalar scalar_value; + + if (!ResolveValue (scalar_value)) + { + error.SetErrorString("failed to get a scalar result"); + return false; + } + + bool ret; + if (scalar_value.ULongLong(1) == 0) + ret = false; + else + ret = true; + error.Clear(); + return ret; +} + bool ValueObject::GetValueIsValid () const { -- cgit v1.2.3