[lldb][TypeSystemClang] Format pointers to member functions as eFormatHex
authorMichael Buch <michaelbuch12@gmail.com>
Fri, 3 Mar 2023 14:21:12 +0000 (14:21 +0000)
committerMichael Buch <michaelbuch12@gmail.com>
Fri, 3 Mar 2023 17:44:36 +0000 (17:44 +0000)
commitb642fd5ee250247ccefb38099169b4ee8ac4112b
tree6dcfb16019fee25f3c6d0b748a5bb9c45b500859
parentd84117d0ef5fe818990ec2a5199f4b8ceee927b5
[lldb][TypeSystemClang] Format pointers to member functions as eFormatHex

Before this patch, LLDB used to format pointers to members, such as,
```
void (Foo::*pointer_to_member_func)() = &Foo::member_func;
```
as `eFormatBytes`. E.g.,
```
(lldb) v pointer_to_member_func
(void (Foo::*)()) $1 = 94 3f 00 00 01 00 00 00 00 00 00 00 00 00 00 00
```

This patch makes sure we format pointers to member functions the same
way we do regular function pointers.

After this patch we format member pointers as:
```
(lldb) v pointer_to_member_func
(void (Foo::*)()) ::pointer_to_member_func = 0x00000000000000000000000100003f94
```

Differential Revision: https://reviews.llvm.org/D145241
lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
lldb/test/API/functionalities/data-formatter/data-formatter-cpp/TestDataFormatterCpp.py
lldb/test/API/functionalities/data-formatter/data-formatter-cpp/main.cpp