summaryrefslogtreecommitdiff
path: root/lang/c/pseudoc.h
AgeCommit message (Collapse)Author
2025-11-04Fix incorrect dereferencing in HLIL_STRUCT_FIELD rendering, and fix ignoring ↵Rusty Wagner
of signed hints in casts
2025-06-28Add support for ternary simplification in Psuedo C and disable in graph viewAlexander Khosrowshahi
2025-06-18[ObjC] Improve how [super ...] calls are displayedMark Rowe
1. Skip displaying the declaration and initialization of the objc_super struct since that's an artifact of how objc_msgSendSuper is called. 2. Display the message receiver as `super` rather than `&super`
2025-06-18Have PseudoCFunction use its language's type printerMark Rowe
It was previously explicitly using the default. Retreiving it from the language will make it possible for PseudoObjCFunction to provide its own type printer.
2025-05-29Implement a Pseudo Objective-C language representationMark Rowe
This is implemented in the Pseudo C plug-in as it shares 99% of the logic. The Objective-C support is implemented in a subclass of `PseudoCFunction`. The handling of instruction types that the Objective-C representation needs to customize is extracted into virtual functions that the Objective-C subclass overrides. This currently supports: * Rewriting `objc_msgSend` / `objc_msgSendSuper2` with constant selectors to `[receiver message]` notation. * Rewriting calls to `objc_alloc` / `objc_alloc_init` / `objc_new` to the equivalent message send notation. * Rewriting `objc_retain` / `objc_release` and friends to the equivalent message send notation. * Displaying Objective-C class references as their class names rather than `_OBJC_CLASS_$_` symbol names. * Displaying Objective-C string literals as `@"..."`. This works best when used in conjunction with https://github.com/bdash/bn-objc-extras as the reference counting runtime calls add so much clutter.
2025-04-15Fix pseudo C/Rust absent lhs on comparisonBrandon Miller
This issue was caused because HLIL_SPLIT was not being handled on the left and right expressions of HLIL_IF instructions
2025-01-24Add line formatter API and a generic line formatter pluginRusty Wagner
2025-01-20Revert "Add line formatter API and a generic line formatter plugin"Rusty Wagner
This reverts commit 1699c71999d29d32aba5c9f8fea193a661a4b02b.
2025-01-17Add line formatter API and a generic line formatter pluginRusty Wagner
2024-10-28Eliminate AST parameter in high level rendering APIs, as it is already part ↵Rusty Wagner
of the HLIL instruction
2024-10-21Allow multiple high level representations for display, add Pseudo Rust and a ↵Rusty Wagner
Pseudo Python example plugin