45 lines · plain
1 2#include "index-suppress-refs.h"3 4#define TYPEDEF(x) typedef int x5TYPEDEF(MyInt);6 7MyInt gx;8 9@class I;10 11@interface I(cat)12-(I*)meth;13@end14 15@class I;16 17@interface S : B<P>18-(void)meth:(B*)b :(id<P>)p;19@end20 21// RUN: env CINDEXTEST_SUPPRESSREFS=1 c-index-test -index-file %s | FileCheck %s22// CHECK: [indexDeclaration]: kind: objc-class | name: I23// CHECK-NEXT: <ObjCContainerInfo>: kind: interface24// CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: B25// CHECK-NEXT: <ObjCContainerInfo>: kind: interface26// CHECK-NEXT: [indexDeclaration]: kind: objc-protocol | name: P27// CHECK-NEXT: <ObjCContainerInfo>: kind: interface28// CHECK-NEXT: [indexDeclaration]: kind: typedef | name: MyInt29// CHECK-NEXT: [indexDeclaration]: kind: variable | name: gx30// CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: I31// CHECK-NEXT: <ObjCContainerInfo>: kind: forward-ref32// CHECK-NEXT: [indexDeclaration]: kind: objc-category | name: cat33// CHECK-NEXT: <ObjCContainerInfo>: kind: interface34// CHECK-NEXT: <ObjCCategoryInfo>: class: kind: objc-class | name: I35// CHECK-NEXT: [indexDeclaration]: kind: objc-instance-method | name: meth36// CHECK-NOT: [indexEntityReference]: kind: objc-class | name: I37// CHECK-NOT: [indexDeclaration]: kind: objc-class | name: I38// CHECK-NEXT: [indexDeclaration]: kind: objc-class | name: S39// CHECK-NEXT: <ObjCContainerInfo>: kind: interface40// CHECK-NEXT: <base>: kind: objc-class | name: B41// CHECK-NEXT: <protocol>: kind: objc-protocol | name: P42// CHECK-NEXT: [indexDeclaration]: kind: objc-instance-method | name: meth::43// CHECK-NOT: [indexEntityReference]: kind: objc-class | name: B44// CHECK-NOT: [indexEntityReference]: kind: objc-protocol | name: P45