diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-11-03 19:00:24 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-11-03 19:00:24 +0000 |
commit | 21ceb18429aa62764d44c815e0ca52af28854b13 (patch) | |
tree | 7d17645253e5da398e3ef58c09a8d20bfa33f3c2 /clang/test/Index | |
parent | bf9bba47a17d146bc1433858739c615867096b80 (diff) | |
download | bcm5719-llvm-21ceb18429aa62764d44c815e0ca52af28854b13.tar.gz bcm5719-llvm-21ceb18429aa62764d44c815e0ca52af28854b13.zip |
Extend IsSimplyAccessible to check for Objective-C instance variable
accessibility. Fixes <rdar://problem/3727335>.
llvm-svn: 143635
Diffstat (limited to 'clang/test/Index')
-rw-r--r-- | clang/test/Index/complete-ivar-access.m | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/clang/test/Index/complete-ivar-access.m b/clang/test/Index/complete-ivar-access.m new file mode 100644 index 00000000000..acd3883c727 --- /dev/null +++ b/clang/test/Index/complete-ivar-access.m @@ -0,0 +1,69 @@ +@interface Other { +@private + int other_private; +@protected + int other_protected; +@public + int other_public; +} +@end + +@interface Super { +@private + int super_private; +@protected + int super_protected; +@public + int super_public; +} +@end + +@interface Super () { +@private + int super_ext_private; +@protected + int super_ext_protected; +@public + int super_ext_public; +} +@end + +@interface Sub : Super { +@private + int sub_private; +@protected + int sub_protected; +@public + int sub_public; +} +@end + +@implementation Sub +- (void)method:(Sub *)sub with:(Other *)other { + sub->super_protected = 1; + other->other_public = 1; +} + +void f(Sub *sub, Other *other) { + sub->super_protected = 1; + other->other_public = 1; +} +@end + +// RUN: c-index-test -code-completion-at=%s:43:8 %s | FileCheck -check-prefix=CHECK-SUB %s +// RUN: c-index-test -code-completion-at=%s:48:8 %s | FileCheck -check-prefix=CHECK-SUB %s +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_private} (35) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_protected} (35) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText sub_public} (35) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_private} (35) (inaccessible) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_protected} (35) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_ext_public} (35) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_private} (37) (inaccessible) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_protected} (37) +// CHECK-SUB: ObjCIvarDecl:{ResultType int}{TypedText super_public} (37) + +// RUN: c-index-test -code-completion-at=%s:44:10 %s | FileCheck -check-prefix=CHECK-OTHER %s +// RUN: c-index-test -code-completion-at=%s:49:10 %s | FileCheck -check-prefix=CHECK-OTHER %s +// CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_private} (35) (inaccessible) +// CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_protected} (35) (inaccessible) +// CHECK-OTHER: ObjCIvarDecl:{ResultType int}{TypedText other_public} (35) |