Fixed the C++ method name class to be a bit more picky about what it identifies as...
authorGreg Clayton <gclayton@apple.com>
Wed, 5 Nov 2014 23:56:37 +0000 (23:56 +0000)
committerGreg Clayton <gclayton@apple.com>
Wed, 5 Nov 2014 23:56:37 +0000 (23:56 +0000)
commit81eed943a36c6fc7fec245e32105a24790652133
tree64d4aecb28ec06d159f156a434a8b76b401e3056
parent7bfd8bccb51a268b4123f71905f36521f0b4d123
Fixed the C++ method name class to be a bit more picky about what it identifies as a C++ method.

This was done by using regular expressions on any basename we find to ensure it is valid.

This fixed setting breakpoints by name with values like '[J]com.robovm.debug.server.apps.SleepLoop.startingUp()V'. This was previously triggering the C++ method name class to identify the string as C++ with a basename of '[J]com.robovm.debug.server.apps.SleepLoop.startingUp' which was obviously incorrect.

The changes also fixed errors in templated function names like "void foo<int>(...)" where "void foo<int>" was being identified incorrectly as the basename. We also handle more C++ operators correctly now.

llvm-svn: 221416
lldb/include/lldb/Target/CPPLanguageRuntime.h
lldb/source/Target/CPPLanguageRuntime.cpp