clayborg wrote:

> Making sure I'm following along properly. For context, this is the debug 
> experience I'm most used to: 
> ![Capture](https://user-images.githubusercontent.com/4587626/277433029-e45937dc-9b78-4a3d-9321-1fa99a35daa8.PNG)
> 
> It sounds like you're saying we shouldn't change the enum formatter to 
> display `Enum (1)`, it should continue to display just `Enum`. But the 
> summary could be changed for enumerations so it says `(1)`, so that both 
> pieces of information would appear in the debugger by default?

The summary should just display "1" (no parens). 

If we have the following code in C/C++:
```
  enum Foo {
   Bar = 1,
   Baz,
   Ding
  };
  Foo f = Bar;  
```
And we stop after the last line, we can do:
```
>>> v = lldb.frame.FindVariable('f')
>>> v.GetValue()
'Bar'
>>> v.GetFormat()
0
>>> lldb.eFormatDefault
0
>>> v.SetFormat(lldb.eFormatHex)
>>> v.GetValue()
'0x00000001'
>>> v.SetFormat(lldb.eFormatDecimal)
>>> v.GetValue()
'1'
```
And if you set the summary to be the signed unsigned value then we would have 
this:
```
>>> v.GetSummary()
'1'
```
Where right now it returns `None`

If the user changes the format and we did the patch the way it was currently 
coded we would get:
```
>>> v.SetFormat(lldb.eFormatDecimal)
>>> v.GetValue()
`1(1)`
```
Since the normal value would listen to the format value (which defaults to 
`lldb.eFormatDefault` which is zero), but is now set to `lldb.eFormatDecimal`.

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

Reply via email to