aboutsummaryrefslogtreecommitdiff
path: root/test/SemaObjC/typo-correction.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/SemaObjC/typo-correction.m')
-rw-r--r--test/SemaObjC/typo-correction.m25
1 files changed, 24 insertions, 1 deletions
diff --git a/test/SemaObjC/typo-correction.m b/test/SemaObjC/typo-correction.m
index 58824e2edbf0..f19ec1a1fa3c 100644
--- a/test/SemaObjC/typo-correction.m
+++ b/test/SemaObjC/typo-correction.m
@@ -1,4 +1,4 @@
-// RUN: %clang_cc1 %s -verify -fsyntax-only
+// RUN: %clang_cc1 %s -verify -fsyntax-only -fobjc-runtime=ios
@protocol P
-(id)description;
@@ -28,3 +28,26 @@ typedef int super1;
[self foo:[super description] other:someivar]; // expected-error {{use of undeclared identifier 'someivar'; did you mean '_someivar'?}}
}
@end
+
+__attribute__ (( __objc_root_class__ ))
+@interface I {
+ id _interface; // expected-note {{'_interface' declared here}}
+}
+-(void)method;
+@end
+
+@interface I () {
+ id _extension; // expected-note {{'_extension' declared here}}
+}
+@end
+
+@implementation I {
+ id _implementation; // expected-note {{'_implementation' declared here}}
+}
+-(void)method {
+ (void)self->implementation; // expected-error {{'I' does not have a member named 'implementation'; did you mean '_implementation'?}}
+ (void)self->interface; // expected-error {{'I' does not have a member named 'interface'; did you mean '_interface'?}}
+ (void)self->extension; // expected-error {{'I' does not have a member named 'extension'; did you mean '_extension'?}}
+}
+@end
+