150
|
1 @interface Other {
|
|
2 @private
|
|
3 int other_private;
|
|
4 @protected
|
|
5 int other_protected;
|
|
6 @public
|
|
7 int other_public;
|
|
8 }
|
|
9 @end
|
|
10
|
|
11 @interface Super {
|
|
12 @private
|
|
13 int super_private;
|
|
14 @protected
|
|
15 int super_protected;
|
|
16 @public
|
|
17 int super_public;
|
|
18 }
|
|
19 @end
|
|
20
|
|
21 @interface Super () {
|
|
22 @private
|
|
23 int super_ext_private;
|
|
24 @protected
|
|
25 int super_ext_protected;
|
|
26 @public
|
|
27 int super_ext_public;
|
|
28 }
|
|
29 @end
|
|
30
|
|
31 @interface Sub : Super {
|
|
32 @private
|
|
33 int sub_private;
|
|
34 @protected
|
|
35 int sub_protected;
|
|
36 @public
|
|
37 int sub_public;
|
|
38 }
|
|
39 @end
|
|
40
|
|
41 @implementation Sub
|
|
42 - (void)method:(Sub *)sub with:(Other *)other {
|
|
43 sub->super_protected = 1;
|
|
44 other->other_public = 1;
|
|
45 }
|
|
46
|
|
47 void f(Sub *sub, Other *other) {
|
|
48 sub->super_protected = 1;
|
|
49 other->other_public = 1;
|
|
50 }
|
|
51 @end
|
|
52
|
|
53 // RUN: c-index-test -code-completion-at=%s:43:8 -fobjc-nonfragile-abi %s | FileCheck -check-prefix=CHECK-SUB %s
|
|
54 // RUN: c-index-test -code-completion-at=%s:48:8 -fobjc-nonfragile-abi %s | FileCheck -check-prefix=CHECK-SUB %s
|
|
55 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_private} (35)
|
|
56 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_protected} (35)
|
|
57 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_public} (35)
|
|
58 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_private} (35) (inaccessible)
|
|
59 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_protected} (35)
|
|
60 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_public} (35)
|
|
61 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_private} (37) (inaccessible)
|
|
62 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_protected} (37)
|
|
63 // CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_public} (37)
|
|
64
|
|
65 // RUN: c-index-test -code-completion-at=%s:44:10 -fobjc-nonfragile-abi %s | FileCheck -check-prefix=CHECK-OTHER %s
|
|
66 // RUN: c-index-test -code-completion-at=%s:49:10 -fobjc-nonfragile-abi %s | FileCheck -check-prefix=CHECK-OTHER %s
|
|
67 // CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_private} (35) (inaccessible)
|
|
68 // CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_protected} (35) (inaccessible)
|
|
69 // CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_public} (35)
|