diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:04 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2023-02-11 12:38:11 +0000 |
| commit | e3b557809604d036af6e00c60f012c2025b59a5e (patch) | |
| tree | 8a11ba2269a3b669601e2fd41145b174008f4da8 /lldb/source/Commands/CommandObjectExpression.cpp | |
| parent | 08e8dd7b9db7bb4a9de26d44c1cbfd24e869c014 (diff) | |
Diffstat (limited to 'lldb/source/Commands/CommandObjectExpression.cpp')
| -rw-r--r-- | lldb/source/Commands/CommandObjectExpression.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/lldb/source/Commands/CommandObjectExpression.cpp b/lldb/source/Commands/CommandObjectExpression.cpp index 083309121b66..9cce009f853e 100644 --- a/lldb/source/Commands/CommandObjectExpression.cpp +++ b/lldb/source/Commands/CommandObjectExpression.cpp @@ -42,10 +42,15 @@ Status CommandObjectExpression::CommandOptions::SetOptionValue( switch (short_option) { case 'l': language = Language::GetLanguageTypeFromString(option_arg); - if (language == eLanguageTypeUnknown) - error.SetErrorStringWithFormat( - "unknown language type: '%s' for expression", - option_arg.str().c_str()); + if (language == eLanguageTypeUnknown) { + StreamString sstr; + sstr.Printf("unknown language type: '%s' for expression. " + "List of supported languages:\n", + option_arg.str().c_str()); + + Language::PrintSupportedLanguagesForExpressions(sstr, " ", "\n"); + error.SetErrorString(sstr.GetString()); + } break; case 'a': { @@ -172,7 +177,7 @@ void CommandObjectExpression::CommandOptions::OptionParsingStarting( llvm::ArrayRef<OptionDefinition> CommandObjectExpression::CommandOptions::GetDefinitions() { - return llvm::makeArrayRef(g_expression_options); + return llvm::ArrayRef(g_expression_options); } CommandObjectExpression::CommandObjectExpression( @@ -374,7 +379,7 @@ CommandObjectExpression::GetEvalOptions(const Target &target) { if (m_command_options.timeout > 0) options.SetTimeout(std::chrono::microseconds(m_command_options.timeout)); else - options.SetTimeout(llvm::None); + options.SetTimeout(std::nullopt); return options; } @@ -461,6 +466,8 @@ bool CommandObjectExpression::EvaluateExpression(llvm::StringRef expr, result.SetStatus(eReturnStatusFailed); } } + } else { + error_stream.Printf("error: unknown error\n"); } return (success != eExpressionSetupError && @@ -509,7 +516,7 @@ void CommandObjectExpression::GetMultilineExpression() { llvm::StringRef(), // Continuation prompt multiple_lines, color_prompt, 1, // Show line numbers starting at 1 - *this, nullptr)); + *this)); StreamFileSP output_sp = io_handler_sp->GetOutputStreamFileSP(); if (output_sp) { @@ -538,7 +545,7 @@ GetExprOptions(ExecutionContext &ctx, if (command_options.timeout > 0) expr_options.SetTimeout(std::chrono::microseconds(command_options.timeout)); else - expr_options.SetTimeout(llvm::None); + expr_options.SetTimeout(std::nullopt); return expr_options; } |
