/* Contributed by Nicola Pero - Fri Mar 9 19:39:15 CET 2001 */ #include #include "../../objc-obj-c++-shared/runtime.h" /* Test getting and calling the IMP of a method */ @interface TestClass { Class isa; } + (int) next: (int)a; @end @implementation TestClass + (int) next: (int)a { return a + 1; } @end int main (void) { Class class; SEL selector; int (* imp) (id, SEL, int); class = objc_getClass ("TestClass"); selector = @selector (next:); imp = (int (*)(id, SEL, int))method_getImplementation (class_getClassMethod (class, selector)); if (imp (class, selector, 5) != 6) { abort (); } return 0; }