mirror of
https://github.com/intel/llvm.git
synced 2026-01-20 19:07:53 +08:00
[lldb] Fix po alias by printing fix-its to the console. (#68755)
The `po` alias now matches the behavior of the `expression` command when the it can apply a Fix-It to an expression. Modifications - Add has `m_fixed_expression` to the `CommandObjectDWIMPrint` class a `protected` member that stores the post Fix-It expression, just like the `CommandObjectExpression` class. - Converted messages to present tense. - Add test cases that confirms a Fix-It for a C++ expression for both `po` and `expressions` rdar://115317419
This commit is contained in:
@@ -439,11 +439,11 @@ bool CommandObjectExpression::EvaluateExpression(llvm::StringRef expr,
|
||||
ExpressionResults success = target.EvaluateExpression(
|
||||
expr, frame, result_valobj_sp, eval_options, &m_fixed_expression);
|
||||
|
||||
// We only tell you about the FixIt if we applied it. The compiler errors
|
||||
// will suggest the FixIt if it parsed.
|
||||
// Only mention Fix-Its if the expression evaluator applied them.
|
||||
// Compiler errors refer to the final expression after applying Fix-It(s).
|
||||
if (!m_fixed_expression.empty() && target.GetEnableNotifyAboutFixIts()) {
|
||||
error_stream.Printf(" Fix-it applied, fixed expression was: \n %s\n",
|
||||
m_fixed_expression.c_str());
|
||||
error_stream << " Evaluated this expression after applying Fix-It(s):\n";
|
||||
error_stream << " " << m_fixed_expression << "\n";
|
||||
}
|
||||
|
||||
if (result_valobj_sp) {
|
||||
|
||||
Reference in New Issue
Block a user