================
@@ -253,9 +264,20 @@ void Symbol::GetDescription(Stream *s, 
lldb::DescriptionLevel level,
                 m_addr_range.GetBaseAddress().GetOffset());
   }
   ConstString demangled = GetMangled().GetDemangledName();
-  if (demangled)
+
+  // Checking if the name (i.e., searched symbol is passed as an argument to 
the function)
+  // In that case, we use the re_pattern function to colorize the symbol.
+  if (demangled && name){
+    s->Printf(", name=");
+    Address::re_pattern(s, demangled.AsCString(), name);
+  }
+  else if(demangled && name == nullptr)
     s->Printf(", name=\"%s\"", demangled.AsCString());
-  if (m_mangled.GetMangledName())
+  if (m_mangled.GetMangledName() && name){
+    s->Printf(", mangled=");
+    Address::re_pattern(s, m_mangled.GetMangledName().AsCString(), name);
+  }
+  else if(m_mangled.GetMangledName() && name == nullptr)
----------------
junior-jl wrote:

I realize now I might have misinterpreted this suggestion. The mangled name is 
now shown before the demangled one. Is that what you were meaning here? This is 
how the code is now.

```cpp
if (ConstString mangled_name = m_mangled.GetMangledName()) {
    s->Printf(", mangled=\"");
    Address::DumpName(s, mangled_name.GetStringRef(), pattern);
    s->Printf("\"");
  }
  if (ConstString demangled = m_mangled.GetDemangledName()) {
    s->Printf(", name=\"");
    Address::DumpName(s, demangled.GetStringRef(), pattern);
    s->Printf("\"");
  }
```

https://github.com/llvm/llvm-project/pull/69422
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to