{"shas":[["78939ac1117d39edd5cd2ca18273f89cb1cd55c6","f2910aebe438aa5b9e247787b739df8cf3a20f75@gmail.com","Implemented methods-as-functions to forward invocations to block objects, which will be used to improve the implementation of block methods","Justin Spahr-Summers"],["277760ec3e31986a29fdde6e40d2d1af9585f4a4","f2910aebe438aa5b9e247787b739df8cf3a20f75@gmail.com","Changed structure of injected EXTBlockMethod methods to support swizzling rather than dynamic subclassing (which isn't actually feasible)","Justin Spahr-Summers"],["18a6dca8e310ac88af8f8c31f7c8cdb639b8d67c","f2910aebe438aa5b9e247787b739df8cf3a20f75@gmail.com","Working block method addition, but no replacement yet (even of superclass implementations)","Justin Spahr-Summers"],["34201f2d6ee7b732485f4733ce0e6216c7c8da79","f2910aebe438aa5b9e247787b739df8cf3a20f75@gmail.com","Using arcane runtime exploitation, rewrote ext_removeMethod() and finalized blocks-as-methods injection","Justin Spahr-Summers"]],"repo":"jspahrsummers/libextobjc","actor":"jspahrsummers","ref":"refs/heads/master","size":4,"head":"34201f2d6ee7b732485f4733ce0e6216c7c8da79","actor_gravatar":"42e645777c7cba21d1a13324c14be9d9","push_id":27096358}