Module::LookupInfo's constructor currently goes over supported languages
trying to figure out the best way to search for a symbol name. This
seems like a great candidate for refactoring. Specifically, this is work
that can be delegated to language plugins.
Once again, the goal here is to further decouple plugins from
non-plugins. The idea is to have each language plugin take a name and
give you back some information about the name from the perspective of
the language. Specifically, each language now implements a
GetFunctionNameInfo method which returns an object of type
Language::FunctionNameInfo. Right now, it consists of a basename,
a context, and a FunctionNameType. Module::LookupInfo's constructor will
call GetFunctionNameInfo with the appropriate language plugin(s) and
then decide what to do with that information. I have attempted to maintain
existing behavior as best as possible.
A nice side effect of this change is that lldbCore no longer links
against the ObjC Language plugin.
clang-tidy: error: 'lldb/Core/Address.h' file not found [clang-diagnostic-error]
not useful