14b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis@interface MyClass 24b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis+(void)meth; 34b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis@end 44b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis 54b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis#define MACRO2(x) x 64b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis#define MACRO(x) MACRO2(x) 74b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis 84b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidisvoid test() { 94b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis MACRO([MyClass meth]); 104b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis} 114b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis 124b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis#define INVOKE(METHOD, CLASS) [CLASS METHOD] 134b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis 144b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidisvoid test2() { 154b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis INVOKE(meth, MyClass); 164b43b305342ae2e49d473d0fa6152e5d0c343765Argyrios Kyrtzidis} 17