Let the Module FindType do the stripping of namespace components, that's not expensive
and doing it both at the ModuleList and Module levels means we look 4 times for a negative
search.  Also, don't do the search for the stripped name if that is the same as the original
one.

llvm-svn: 148054
diff --git a/lldb/source/Core/Module.cpp b/lldb/source/Core/Module.cpp
index 8dc755b..ea16376 100644
--- a/lldb/source/Core/Module.cpp
+++ b/lldb/source/Core/Module.cpp
@@ -531,8 +531,13 @@
     
     if (retval == 0)
     {
-        const char *stripped = StripTypeName(name.GetCString());
-        return FindTypes_Impl(sc, ConstString(stripped), namespace_decl, append, max_matches, types);
+        const char *orig_name = name.GetCString();
+        const char *stripped = StripTypeName(orig_name);
+        // Only do this lookup if StripTypeName has stripped the name:
+        if (stripped != orig_name)
+           return FindTypes_Impl(sc, ConstString(stripped), namespace_decl, append, max_matches, types);
+        else
+            return 0;
     }
     else
         return retval;