[Lldb-commits] [PATCH] D13267: Decide on the expression language inside UserExpression
Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Wed Oct 7 15:03:10 PDT 2015
This revision was automatically updated to reflect the committed changes.
Closed by commit rL249624: Decide on the expression language inside UserExpression (authored by dperchik).
Changed prior to commit:
http://reviews.llvm.org/D13267?vs=36029&id=36803#toc
Repository:
rL LLVM
http://reviews.llvm.org/D13267
Files:
lldb/trunk/source/Commands/CommandObjectExpression.cpp
lldb/trunk/source/Expression/UserExpression.cpp
Index: lldb/trunk/source/Commands/CommandObjectExpression.cpp
===================================================================
--- lldb/trunk/source/Commands/CommandObjectExpression.cpp
+++ lldb/trunk/source/Commands/CommandObjectExpression.cpp
@@ -299,16 +299,7 @@
options.SetUseDynamic(m_varobj_options.use_dynamic);
options.SetTryAllThreads(m_command_options.try_all_threads);
options.SetDebug(m_command_options.debug);
-
- // If the language was not specified in the expression command,
- // set it to the language in the target's properties if
- // specified, else default to the language for the frame.
- if (m_command_options.language != eLanguageTypeUnknown)
- options.SetLanguage(m_command_options.language);
- else if (target->GetLanguage() != eLanguageTypeUnknown)
- options.SetLanguage(target->GetLanguage());
- else if (frame)
- options.SetLanguage(frame->GetLanguage());
+ options.SetLanguage(m_command_options.language);
// If there is any chance we are going to stop and want to see
// what went wrong with our expression, we should generate debug info
Index: lldb/trunk/source/Expression/UserExpression.cpp
===================================================================
--- lldb/trunk/source/Expression/UserExpression.cpp
+++ lldb/trunk/source/Expression/UserExpression.cpp
@@ -470,7 +470,7 @@
Log *log(lldb_private::GetLogIfAnyCategoriesSet (LIBLLDB_LOG_EXPRESSIONS | LIBLLDB_LOG_STEP));
lldb_private::ExecutionPolicy execution_policy = options.GetExecutionPolicy();
- const lldb::LanguageType language = options.GetLanguage();
+ lldb::LanguageType language = options.GetLanguage();
const ResultType desired_type = options.DoesCoerceToId() ? UserExpression::eResultTypeId : UserExpression::eResultTypeAny;
lldb::ExpressionResults execution_results = lldb::eExpressionSetupError;
@@ -515,6 +515,17 @@
else
full_prefix = option_prefix;
+ // If the language was not specified in the expression command,
+ // set it to the language in the target's properties if
+ // specified, else default to the langage for the frame.
+ if (language == lldb::eLanguageTypeUnknown)
+ {
+ if (target->GetLanguage() != lldb::eLanguageTypeUnknown)
+ language = target->GetLanguage();
+ else if (StackFrame *frame = exe_ctx.GetFramePtr())
+ language = frame->GetLanguage();
+ }
+
lldb::UserExpressionSP user_expression_sp(target->GetUserExpressionForLanguage (expr_cstr,
full_prefix,
language,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D13267.36803.patch
Type: text/x-patch
Size: 2813 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20151007/4f426d53/attachment-0001.bin>
More information about the lldb-commits
mailing list