Author: Felipe de Azevedo Piovezan
Date: 2026-05-13T12:23:00+01:00
New Revision: d87c715b2cf3267b455bdf1f74d79f0a2281ce95

URL: 
https://github.com/llvm/llvm-project/commit/d87c715b2cf3267b455bdf1f74d79f0a2281ce95
DIFF: 
https://github.com/llvm/llvm-project/commit/d87c715b2cf3267b455bdf1f74d79f0a2281ce95.diff

LOG: [lldb][NFC] Use early returns in 
ObjCLanguageRuntime::GetDescriptorIterator (#197415)

Added: 
    

Modified: 
    lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp

Removed: 
    


################################################################################
diff  --git a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp 
b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
index 29e29f59996bf..512426d0bd254 100644
--- a/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/ObjC/ObjCLanguageRuntime.cpp
@@ -176,36 +176,36 @@ ObjCLanguageRuntime::GetISA(ConstString name) {
 
 ObjCLanguageRuntime::ISAToDescriptorIterator
 ObjCLanguageRuntime::GetDescriptorIterator(ConstString name) {
-  ISAToDescriptorIterator end = m_isa_to_descriptor.end();
+  if (!name)
+    return m_isa_to_descriptor.end();
+
+  UpdateISAToDescriptorMap();
+
+  if (m_hash_to_isa_map.empty()) {
+    // No name hashes were provided, we need to just linearly power through
+    // the names and find a match
+    for (auto it = m_isa_to_descriptor.begin(), end = 
m_isa_to_descriptor.end();
+         it != end; ++it)
+      if (it->second->GetClassName() == name)
+        return it;
+    return m_isa_to_descriptor.end();
+  }
 
-  if (name) {
-    UpdateISAToDescriptorMap();
-    if (m_hash_to_isa_map.empty()) {
-      // No name hashes were provided, we need to just linearly power through
-      // the names and find a match
-      for (ISAToDescriptorIterator pos = m_isa_to_descriptor.begin();
-           pos != end; ++pos) {
-        if (pos->second->GetClassName() == name)
-          return pos;
-      }
-    } else {
-      // Name hashes were provided, so use them to efficiently lookup name to
-      // isa/descriptor
-      const uint32_t name_hash = llvm::djbHash(name.GetStringRef());
-      std::pair<HashToISAIterator, HashToISAIterator> range =
-          m_hash_to_isa_map.equal_range(name_hash);
-      for (HashToISAIterator range_pos = range.first; range_pos != 
range.second;
-           ++range_pos) {
-        ISAToDescriptorIterator pos =
-            m_isa_to_descriptor.find(range_pos->second);
-        if (pos != m_isa_to_descriptor.end()) {
-          if (pos->second->GetClassName() == name)
-            return pos;
-        }
-      }
+  // Name hashes were provided, so use them to efficiently lookup name to
+  // isa/descriptor
+  const uint32_t name_hash = llvm::djbHash(name.GetStringRef());
+  std::pair<HashToISAIterator, HashToISAIterator> range =
+      m_hash_to_isa_map.equal_range(name_hash);
+  for (HashToISAIterator range_pos = range.first; range_pos != range.second;
+       ++range_pos) {
+    ISAToDescriptorIterator pos = m_isa_to_descriptor.find(range_pos->second);
+    if (pos != m_isa_to_descriptor.end()) {
+      if (pos->second->GetClassName() == name)
+        return pos;
     }
   }
-  return end;
+
+  return m_isa_to_descriptor.end();
 }
 
 std::pair<ObjCLanguageRuntime::ISAToDescriptorIterator,


        
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to