how about append to hexrays set prototype functions depening on context ?
as example std::shared_ptr after compilation has same call for all binary
so if we set at current context(pseudocode)
struct A *sub_0001(shared_ptr *);
in another context(pseudocode)
this prototype incorrect
and need change to
struct B *sub_0001(shared_ptr *);
etc
some time prototype same per pseudocode
some time dirrerent for same pseudocode
so will be nice to able set prototype
global context, same for all binary
local context, same for all pseudocode
local context per position, dfferent for pseudocode position
I’d suggest to create a base class for struct A and B. Something like this:
struct base { .. };
struct A: public base { ... };
struct B: public base { ... };
and return base* from the function. However, you will have to manually specify the type of the variable that receives the result of the call to be A or B, not base.