xref: /llvm-project/clang/test/Index/annotate-macro-args.h (revision 035674d33c065240f5bd9e4c4217b5c46d973de4)
1*035674d3SArgyrios Kyrtzidis @interface MyClass
2*035674d3SArgyrios Kyrtzidis +(void)meth;
3*035674d3SArgyrios Kyrtzidis @end
4*035674d3SArgyrios Kyrtzidis 
5*035674d3SArgyrios Kyrtzidis #define MACRO2(x) x
6*035674d3SArgyrios Kyrtzidis #define MACRO(x) MACRO2(x)
7*035674d3SArgyrios Kyrtzidis 
test()8*035674d3SArgyrios Kyrtzidis void test() {
9*035674d3SArgyrios Kyrtzidis   MACRO([MyClass meth]);
10*035674d3SArgyrios Kyrtzidis }
11*035674d3SArgyrios Kyrtzidis 
12*035674d3SArgyrios Kyrtzidis #define INVOKE(METHOD, CLASS) [CLASS METHOD]
13*035674d3SArgyrios Kyrtzidis 
test2()14*035674d3SArgyrios Kyrtzidis void test2() {
15*035674d3SArgyrios Kyrtzidis   INVOKE(meth, MyClass);
16*035674d3SArgyrios Kyrtzidis }
17