You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sometimes functions are inlined in a lot of places, or are merged with other functions, which makes hooking a problem, even though itd still be nice to give them an address instead of having to reimplement the whole thing.
The text was updated successfully, but these errors were encountered:
This way tooling could provide a more descriptive warning for why the function shouldn't be hooked. On Broma's side this should just be implemented as an attribute that stores a generic string for the reason, and then in Bindings we should check that the string matches one of a known enum like inlined, merged.
We could also just take in an arbitary string literal:
[[warnhook("Inlined sometimes on Windows")]]
static GameManager* sharedState();
[[warnhook("Merged with StatsCell::draw, CommentCell::draw")]]
virtualvoiddraw();
This would make adding new error cases as easy as writing them, but it could make error messages disjointed and inconsistent.
Alternatively we could just introduce two new keywords, inlined and merged:
This would make syntax for specifying which functions the function is merged with clearer, as doing so with attributes would lead to [[docs]] mess imo:
sometimes functions are inlined in a lot of places, or are merged with other functions, which makes hooking a problem, even though itd still be nice to give them an address instead of having to reimplement the whole thing.
The text was updated successfully, but these errors were encountered: