From ec1e1ef3b2355b7ccdb6b86448bb4608d89f3b5a Mon Sep 17 00:00:00 2001 From: Mason Reed Date: Mon, 5 Aug 2024 08:02:46 -0400 Subject: Add example to demangle_llvm python docs (skip-note, skip-ci) --- python/demangle.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'python') diff --git a/python/demangle.py b/python/demangle.py index 98513b9b..abc7ebf9 100644 --- a/python/demangle.py +++ b/python/demangle.py @@ -48,13 +48,18 @@ def get_qualified_name(names: Iterable[str]): def demangle_llvm(mangled_name: str, options: Optional[Union[bool, binaryview.BinaryView]] = None) -> Optional[List[str]]: """ - ``demangle_llvm`` demangles a mangled name to a Type object. + ``demangle_llvm`` demangles a mangled name using the LLVM demangler. :param str mangled_name: a mangled (msvc/itanium/rust/dlang) name :param options: (optional) Whether to simplify demangled names : None falls back to user settings, a BinaryView uses that BinaryView's settings, or a boolean to set it directly :type options: Optional[Union[bool, BinaryView]] :return: returns demangled name or None on error :rtype: Optional[List[str]] + :Example: + + >>> demangle_llvm("?testf@Foobar@@SA?AW4foo@1@W421@@Z") + ['public: static enum Foobar::foo __cdecl Foobar::testf(enum Foobar::foo)'] + >>> """ outName = ctypes.POINTER(ctypes.c_char_p)() outSize = ctypes.c_ulonglong() -- cgit v1.3.1