================
@@ -68,6 +68,11 @@ class DWARFDeclContext {
 
   const char *GetQualifiedName() const;
 
+  /// Returns a vector of string, one string per entry in the fully qualified
+  /// name. For example, for the DeclContext `A::B::C`, this methods returns
+  /// `{"C", "B", "A"}`
+  llvm::SmallVector<llvm::StringRef> GetQualifiedNameAsVector() const;
----------------
clayborg wrote:

One idea would be to get rid of `DWARFDeclContext` and just use 
`std::vector<CompilerContext>` everywhere. 

We could make a using directive for `std::vector<CompilerContext>` so we don't 
have to mention the std::vector all of the time :
```
using CompilerDeclContext= std::vector<CompilerContext>;
```
Then we could actually get rid of `DWARFDeclContext` and just use 
`CompilerDeclContext` everywhere, as it really contains very similar kind of 
stuff, it is just more DWARF specific. We already make `ConstString` objects 
for each DIE's name anyway and the comparing many matching entries becomes a 
pointer compare for the string instead of actual string comparisons.

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

Reply via email to