summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h
diff options
context:
space:
mode:
authorJim Ingham <jingham@apple.com>2016-04-12 17:17:35 +0000
committerJim Ingham <jingham@apple.com>2016-04-12 17:17:35 +0000
commitff7ac6a7b979833bd03a07261cc783d3b363c441 (patch)
tree126e81e65d061abb63409431bc9dbd0f7210cb82 /lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h
parent5e2b489049c9856a9b44493b3831b238f52abf79 (diff)
downloadbcm5719-llvm-ff7ac6a7b979833bd03a07261cc783d3b363c441.tar.gz
bcm5719-llvm-ff7ac6a7b979833bd03a07261cc783d3b363c441.zip
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
Diffstat (limited to 'lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h')
-rw-r--r--lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h b/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h
index 4d6cdd2fcd1..711a4c46215 100644
--- a/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h
+++ b/lldb/source/Plugins/ExpressionParser/Go/GoUserExpression.h
@@ -70,11 +70,6 @@ class GoUserExpression : public UserExpression
lldb_private::ExecutionPolicy execution_policy, bool keep_result_in_memory,
bool generate_debug_info) override;
- lldb::ExpressionResults
- Execute(DiagnosticManager &diagnostic_manager, ExecutionContext &exe_ctx,
- const EvaluateExpressionOptions &options, lldb::UserExpressionSP &shared_ptr_to_me,
- lldb::ExpressionVariableSP &result) override;
-
bool
CanInterpret() override
{
@@ -89,6 +84,12 @@ class GoUserExpression : public UserExpression
return true;
}
+ protected:
+ lldb::ExpressionResults
+ DoExecute(DiagnosticManager &diagnostic_manager, ExecutionContext &exe_ctx,
+ const EvaluateExpressionOptions &options, lldb::UserExpressionSP &shared_ptr_to_me,
+ lldb::ExpressionVariableSP &result) override;
+
private:
class GoInterpreter;
std::unique_ptr<GoInterpreter> m_interpreter;
OpenPOWER on IntegriCloud