Michael137 wrote:

> > One thing I'd like to get feedback on is whether this should be looking 
> > into base classes. The discussion on the original PR focuses on lexically 
> > nested types, but going through base classes (following usual language 
> > rules) is another form of nesting. Both the existing and the new 
> > implementations don't do that, but I think it would be more natural to do 
> > it. Of course, then the function can definitely return more than one 
> > result...
> 
> What you're describing here is in line with member lookup described in the 
> Standard. While it might be a useful facility, it's at odds with the intent 
> of `FindDirectNestedTypes()` to be a small building block for efficient AST 
> traversal. For the use case I have for this function, any amount of lookup is 
> going to regress the performance of the formatter, and subsequently 
> responsiveness of the debugger. So if you're going to pursue this, I suggest 
> exposing this as a new function.

I don't expect the simple `DeclContext` lookup proposed here to be expensive. 
What *is* expensive from the data-formatters point of view is either full-blown 
expression evaluation or a global search in DWARF for some type.

Re. looking at base classes, don't have a strong opinion on it. There's some 
precedent for looking at base classes already in `TypeSystemClang` (e.g., 
`GetIndexOfChildWithName`). But as you say @labath, that would require an API 
change

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

Reply via email to