[Lldb-commits] [lldb] [lldb] Remove ValueObjectRecognizerSynthesizedValue::IsSynthetic override (PR #199117)

via lldb-commits lldb-commits at lists.llvm.org
Wed Jun 10 12:55:18 PDT 2026


jimingham wrote:

Even though it has Synthesize in the name, ValueObjectRecognizerSynthesizedValue is not a synthetic value object.  A Synthetic ValueObject is a ValueObject that stands in for the Value or Children of some other ValueObject.

But ValueObjectRecognizerSynthesizedValue is handed out as the first order result of providing values in a synthesized frame.  There is no ValueObject for it to be the synthetic representation of.  It would be like saying that a ValueObjectVariable is synthetic.  It doesn't make sense.

I have to think a little bit more about the general "IsSynthetic" question, however.  It seems to me like it matters more whether something has a synthetic child provider than the kind of a particular child returned by a synthetic child provider.  

For instance, if I have a struct and my synthetic child provider presents some of the original ValueObject's ValueObjectChildren as its synthetic children, and then adds some others.  Is it right to say that the original ValueObjectChildren are synthetic?

https://github.com/llvm/llvm-project/pull/199117


More information about the lldb-commits mailing list