Skip to content

Commit 25a3045

Browse files
authored
[lldb][ExpressionParser][NFC] Clean up expression language picking logic (#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.
1 parent d25d830 commit 25a3045

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
@@ -536,23 +536,19 @@ static void SetupLangOpts(CompilerInstance &compiler,
536536
lldb::StackFrameSP frame_sp = exe_scope.CalculateStackFrame();
537537
lldb::ProcessSP process_sp = exe_scope.CalculateProcess();
538538

539-
// Defaults to lldb::eLanguageTypeUnknown.
540-
lldb::LanguageType frame_lang = expr.Language().AsLanguageType();
541-
542-
// Make sure the user hasn't provided a preferred execution language with
543-
// `expression --language X -- ...`
544-
if (frame_sp && frame_lang == lldb::eLanguageTypeUnknown)
545-
frame_lang = frame_sp->GetLanguage().AsLanguageType();
539+
lldb::LanguageType language = expr.Language().AsLanguageType();
546540

547-
if (process_sp && frame_lang != lldb::eLanguageTypeUnknown) {
548-
LLDB_LOGF(log, "Frame has language of type %s",
549-
lldb_private::Language::GetNameForLanguageType(frame_lang));
550-
}
541+
if (process_sp)
542+
LLDB_LOG(
543+
log,
544+
"Frame has language of type {0}\nPicked {1} for expression evaluation.",
545+
lldb_private::Language::GetNameForLanguageType(
546+
frame_sp ? frame_sp->GetLanguage().AsLanguageType()
547+
: lldb::eLanguageTypeUnknown),
548+
lldb_private::Language::GetNameForLanguageType(language));
551549

552-
lldb::LanguageType language = expr.Language().AsLanguageType();
553550
LangOptions &lang_opts = compiler.getLangOpts();
554551

555-
// FIXME: should this switch on frame_lang?
556552
switch (language) {
557553
case lldb::eLanguageTypeC:
558554
case lldb::eLanguageTypeC89:

0 commit comments

Comments
 (0)