[all-commits] [llvm/llvm-project] 84fdfb: [lldb] Store expression evaluator diagnostics in a...
Adrian Prantl via All-commits
all-commits at lists.llvm.org
Fri Sep 27 16:10:14 PDT 2024
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 84fdfb9ca63ee4304b486d7e85545ee4e1a46f5d
https://github.com/llvm/llvm-project/commit/84fdfb9ca63ee4304b486d7e85545ee4e1a46f5d
Author: Adrian Prantl <aprantl at apple.com>
Date: 2024-09-27 (Fri, 27 Sep 2024)
Changed paths:
M lldb/include/lldb/Expression/DiagnosticManager.h
M lldb/include/lldb/Utility/Status.h
M lldb/source/Breakpoint/BreakpointLocation.cpp
M lldb/source/Expression/DiagnosticManager.cpp
M lldb/source/Expression/ExpressionParser.cpp
M lldb/source/Expression/UserExpression.cpp
M lldb/source/Expression/UtilityFunction.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangDiagnostic.h
M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
M lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.h
M lldb/source/Plugins/Platform/POSIX/PlatformPOSIX.cpp
M lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
M lldb/source/Target/Target.cpp
M lldb/source/Utility/Status.cpp
M lldb/test/API/lang/objc/modules-compile-error/TestModulesCompileError.py
M lldb/unittests/Expression/DiagnosticManagerTest.cpp
Log Message:
-----------
[lldb] Store expression evaluator diagnostics in an llvm::Error (NFC) (#106442)
…NFC]
This patch is the first patch in a series reworking of Pete Lawrence's
(@PortalPete) amazing proposal for better expression evaluator error
messages (https://github.com/llvm/llvm-project/pull/80938)
This patch is preparatory patch for improving the rendering of
expression evaluator diagnostics. Currently diagnostics are rendered
into a string and the command interpreter layer then textually parses
words like "error:" to (sometimes) color the output accordingly. In
order to enable user interfaces to do better with diagnostics, we need
to store them in a machine-readable fromat. This patch does this by
adding a new llvm::Error kind wrapping a DiagnosticDetail struct that
is used when the error type is eErrorTypeExpression. Multiple
diagnostics are modeled using llvm::ErrorList.
Right now the extra information is not used by the CommandInterpreter,
this will be added in a follow-up patch!
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list