llvm-project/lldb/source/Symbol
Sean Callanan 9c99faa856 [Expression parser] Look up module symbols before hunting globally
When it resolves symbol-only variables, the expression parser
currently looks only in the global module list. It should prefer
the current module.

I've fixed that behavior by making it search the current module
first, and only search globally if it finds nothing. I've also
added a test case.

After review, I moved the core of the lookup algorithm into
SymbolContext for use by other code that needs it.

Thanks to Greg Clayton and Pavel Labath for their help.

Differential Revision: https://reviews.llvm.org/D33083

llvm-svn: 303223
2017-05-16 23:46:13 +00:00
..
ArmUnwindInfo.cpp Remove dependencies from Utility to Core and Target. 2017-02-14 19:06:07 +00:00
Block.cpp Move Log from Core -> Utility. 2017-03-03 20:56:28 +00:00
CMakeLists.txt Remove dead include from GoASTContext.cpp. 2017-03-22 19:24:17 +00:00
ClangASTContext.cpp [TypeSystem] Fix inspection of Objective-C object types 2017-05-15 19:55:20 +00:00
ClangASTImporter.cpp Move Log from Core -> Utility. 2017-03-03 20:56:28 +00:00
ClangExternalASTSourceCallbacks.cpp Move Log from Core -> Utility. 2017-03-03 20:56:28 +00:00
ClangExternalASTSourceCommon.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
ClangUtil.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompactUnwindInfo.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
CompileUnit.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompilerDecl.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompilerDeclContext.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
CompilerType.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
DWARFCallFrameInfo.cpp Remove an expensive lock from Timer 2017-05-15 13:02:37 +00:00
DebugMacros.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
Declaration.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
FuncUnwinders.cpp Fix a race condition in FuncUnwinders where the mutex was being 2017-02-24 03:35:46 +00:00
Function.cpp Fix the lldb_private::Function::GetDescription to print out the name and mangled name correctly. Previously this was getting the function type's name which was not correct. 2017-02-10 23:32:06 +00:00
GoASTContext.cpp Change UniqueCStringMap to use ConstString as the key 2017-05-02 10:17:30 +00:00
JavaASTContext.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
LineEntry.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
LineTable.cpp Fix a problem with line tables & .o files that start with code with no line table entries. 2017-03-20 19:19:03 +00:00
OCamlASTContext.cpp Isolate Target-specific functionality of DataExtractor. 2017-03-03 20:57:05 +00:00
ObjectFile.cpp Remove an expensive lock from Timer 2017-05-15 13:02:37 +00:00
Symbol.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
SymbolContext.cpp [Expression parser] Look up module symbols before hunting globally 2017-05-16 23:46:13 +00:00
SymbolFile.cpp Provide a mechanism to do some pre-loading of symbols up front. 2017-04-28 00:51:06 +00:00
SymbolVendor.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
Symtab.cpp Remove an expensive lock from Timer 2017-05-15 13:02:37 +00:00
Type.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
TypeList.cpp Improve Type::GetTypeScopeAndBasenameHelper and add unit tests 2017-01-10 11:13:59 +00:00
TypeMap.cpp Improve Type::GetTypeScopeAndBasenameHelper and add unit tests 2017-01-10 11:13:59 +00:00
TypeSystem.cpp [lldb] Fix typos in file headers 2016-11-26 05:23:44 +00:00
UnwindPlan.cpp Move Log from Core -> Utility. 2017-03-03 20:56:28 +00:00
UnwindTable.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00
Variable.cpp Rename Error -> Status. 2017-05-12 04:51:55 +00:00
VariableList.cpp Move classes from Core -> Utility. 2017-02-02 21:39:50 +00:00
VerifyDecl.cpp *** This commit represents a complete reformatting of the LLDB source code 2016-09-06 20:57:50 +00:00