Breakpoint conditions were making result variables, which they should not do.
authorJim Ingham <jingham@apple.com>
Tue, 12 Apr 2016 17:17:35 +0000 (17:17 +0000)
committerJim Ingham <jingham@apple.com>
Tue, 12 Apr 2016 17:17:35 +0000 (17:17 +0000)
commitff7ac6a7b979833bd03a07261cc783d3b363c441
tree126e81e65d061abb63409431bc9dbd0f7210cb82
parent5e2b489049c9856a9b44493b3831b238f52abf79
Breakpoint conditions were making result variables, which they should not do.

The result variables aren't useful, and if you have a breakpoint on a
common function you can generate a lot of these.  So I changed the
code that checks the condition to set ResultVariableIsInternal in the
EvaluateExpressionOptions that we pass to the execution.
Unfortunately, the check for this variable was done in the wrong place
(the static UserExpression::Evaluate) which is not how breakpoint
conditions execute expressions (UserExpression::Execute).  So I moved
the check to UserExpression::Execute (which Evaluate also calls) and made the
overridden method DoExecute.

llvm-svn: 266093
lldb/include/lldb/Expression/LLVMUserExpression.h
lldb/include/lldb/Expression/UserExpression.h
lldb/packages/Python/lldbsuite/test/functionalities/breakpoint/breakpoint_conditions/TestBreakpointConditions.py
lldb/source/Breakpoint/BreakpointLocation.cpp
lldb/source/Expression/LLVMUserExpression.cpp
lldb/source/Expression/UserExpression.cpp
lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.cpp
lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h