llvm-project/lldb/source/Symbol
Sean Callanan 579e70c9b0 Add a DiagnosticManager replace error streams in the expression parser.
We want to do a better job presenting errors that occur when evaluating
expressions. Key to this effort is getting away from a model where all
errors are spat out onto a stream where the client has to take or leave
all of them.

To this end, this patch adds a new class, DiagnosticManager, which
contains errors produced by the compiler or by LLDB as an expression
is created. The DiagnosticManager can dump itself to a log as well as
to a string. Clients will (in the future) be able to filter out the
errors they're interested in by ID or present subsets of these errors
to the user.

This patch is not intended to change the *users* of errors - only to
thread DiagnosticManagers to all the places where streams are used. I
also attempt to standardize our use of errors a bit, removing trailing
newlines and making clients omit 'error:', 'warning:' etc. and instead
pass the Severity flag.

The patch is testsuite-neutral, with modifications to one part of the
MI tests because it relied on "error: error:" being erroneously
printed. This patch fixes the MI variable handling and the testcase.

<rdar://problem/22864976>

llvm-svn: 263859
2016-03-19 00:03:59 +00:00
..
ArmUnwindInfo.cpp Fix several issues around .ARM.exidx section handling 2015-10-02 11:58:26 +00:00
Block.cpp Handle the case when a variable is only valid in part of the enclosing scope 2016-02-25 12:23:37 +00:00
CMakeLists.txt Add a set of new plugins to handle Java debugging 2016-02-26 14:21:23 +00:00
ClangASTContext.cpp Add a DiagnosticManager replace error streams in the expression parser. 2016-03-19 00:03:59 +00:00
ClangASTImporter.cpp When importing Objective-C protocols, mark them as having external decls. 2016-02-10 22:00:32 +00:00
ClangExternalASTSourceCallbacks.cpp Trying to submit 254476 one more time. This implement -gmodule debugging support. 2015-12-08 01:02:08 +00:00
ClangExternalASTSourceCommon.cpp Fixed an unfortunate reversed conditional that 2014-12-06 02:31:49 +00:00
CompactUnwindInfo.cpp Clean up register naming conventions inside lldb. 2015-09-15 23:20:34 +00:00
CompileUnit.cpp Read macro info from .debug_macro section and use it for expression evaluation. 2015-12-16 00:22:08 +00:00
CompilerDecl.cpp Fixed TypeMemberFunctionImpl to not use clang types directly but use the new CompilerDecl class to do the job in an abstract way. 2015-11-10 17:47:04 +00:00
CompilerDeclContext.cpp Take 2: Use an artifical namespace so that member vars do not hide local vars. 2016-02-05 19:10:04 +00:00
CompilerType.cpp Rework the way in which ValueObjectChild decides how to update itself; this is a slight refactoring that I need as part of a larger master plan. As such, should be NFC 2015-11-09 23:07:55 +00:00
DWARFCallFrameInfo.cpp Improve the handling of missing elf symtab and missing symbol sizes 2016-02-18 11:12:18 +00:00
DebugMacros.cpp Read macro info from .debug_macro section and use it for expression evaluation. 2015-12-16 00:22:08 +00:00
Declaration.cpp For some reason, sometimes the directory paths that clang emits have internal 2014-11-15 01:54:26 +00:00
FuncUnwinders.cpp Add support for .ARM.exidx unwind information 2015-09-30 13:50:14 +00:00
Function.cpp The compiler may use "line number 0" to indicate compiler generated goo that it can't 2016-02-03 00:07:23 +00:00
GoASTContext.cpp Implement missing GoASTContext methods 2016-01-15 19:35:48 +00:00
JavaASTContext.cpp Fix compiler warnings in the java code 2016-02-29 11:44:15 +00:00
LineEntry.cpp When constructing an address range to "step" or "next" through, 2015-12-15 00:40:30 +00:00
LineTable.cpp Fix dwarf sequence insertions 2016-01-08 01:39:14 +00:00
ObjectFile.cpp Fix address class lookup for absolute symbols 2016-02-26 14:21:27 +00:00
Symbol.cpp Unconditionally accept symbol sizes from elf 2016-01-19 10:24:51 +00:00
SymbolContext.cpp Adding an SBThread::StepInto that takes an end-line, also moved the code that figures 2016-02-13 00:31:47 +00:00
SymbolFile.cpp Now that SymbolFileDWARF supports having types in completely separate .pcm file with "-fmodules -gmodules", each SymbolFileDWARF can reference module DWARF info by looking in other DWARF files. Then if you have 1000 .o files that each reference one or more .pcm files in their debug info, a simple Module::FindTypes(...) call can end up searching the same .pcm file over and over and over. Now all internal FindTypes methods in classes (ModuleList, Module, SymbolFile) now take an extra argument: 2016-02-10 21:28:13 +00:00
SymbolVendor.cpp Now that SymbolFileDWARF supports having types in completely separate .pcm file with "-fmodules -gmodules", each SymbolFileDWARF can reference module DWARF info by looking in other DWARF files. Then if you have 1000 .o files that each reference one or more .pcm files in their debug info, a simple Module::FindTypes(...) call can end up searching the same .pcm file over and over and over. Now all internal FindTypes methods in classes (ModuleList, Module, SymbolFile) now take an extra argument: 2016-02-10 21:28:13 +00:00
Symtab.cpp Improve the handling of missing elf symtab and missing symbol sizes 2016-02-18 11:12:18 +00:00
Type.cpp Remove default case in switch which covers all enumeration values 2015-12-08 20:50:35 +00:00
TypeList.cpp Testcase and fix for bug 24074 2015-10-08 09:45:41 +00:00
TypeMap.cpp Fix a crasher in SymbolContext::SortTypeList() where something that was iterating over a std::multimap was actually mutating the list. 2015-11-19 23:10:45 +00:00
TypeSystem.cpp Refinement of r260624. It is possible somebody might try to add to the map 2016-02-15 20:04:15 +00:00
UnwindPlan.cpp Fix handling of the arm IT instruction in the unwinder 2016-02-10 10:42:13 +00:00
UnwindTable.cpp Add support for .ARM.exidx unwind information 2015-09-30 13:50:14 +00:00
Variable.cpp Fix all of the unannotated switch cases to annotate the fall through or do the right thing and break. 2016-02-26 01:20:20 +00:00
VariableList.cpp Fix resolution conflict between global and class static variables in C++ 2015-08-18 22:46:57 +00:00
VerifyDecl.cpp