Skip to content

Commit e4fbadb

Browse files
committed
[lldb][ExpressionParser][NFC] Clean up expression language picking logic (llvm#156642)
This patch moves the `frame_lang` logic to just the logging (because that's what it was always used for anyway). The callsites decide whether to fall back on to the frame language or not when running the expression. (cherry picked from commit 25a3045)
1 parent 18a6eb4 commit e4fbadb

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -579,23 +579,19 @@ static void SetupLangOpts(CompilerInstance &compiler,
579579
lldb::StackFrameSP frame_sp = exe_scope.CalculateStackFrame();
580580
lldb::ProcessSP process_sp = exe_scope.CalculateProcess();
581581

582-
// Defaults to lldb::eLanguageTypeUnknown.
583-
lldb::LanguageType frame_lang = expr.Language().AsLanguageType();
584-
585-
// Make sure the user hasn't provided a preferred execution language with
586-
// `expression --language X -- ...`
587-
if (frame_sp && frame_lang == lldb::eLanguageTypeUnknown)
588-
frame_lang = frame_sp->GetLanguage().AsLanguageType();
582+
lldb::LanguageType language = expr.Language().AsLanguageType();
589583

590-
if (process_sp && frame_lang != lldb::eLanguageTypeUnknown) {
591-
LLDB_LOGF(log, "Frame has language of type %s",
592-
lldb_private::Language::GetNameForLanguageType(frame_lang));
593-
}
584+
if (process_sp)
585+
LLDB_LOG(
586+
log,
587+
"Frame has language of type {0}\nPicked {1} for expression evaluation.",
588+
lldb_private::Language::GetNameForLanguageType(
589+
frame_sp ? frame_sp->GetLanguage().AsLanguageType()
590+
: lldb::eLanguageTypeUnknown),
591+
lldb_private::Language::GetNameForLanguageType(language));
594592

595-
lldb::LanguageType language = expr.Language().AsLanguageType();
596593
LangOptions &lang_opts = compiler.getLangOpts();
597594

598-
// FIXME: should this switch on frame_lang?
599595
switch (language) {
600596
case lldb::eLanguageTypeC:
601597
case lldb::eLanguageTypeC89:

0 commit comments

Comments
 (0)