diff options
-rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 4 | ||||
-rw-r--r-- | clang/test/SemaObjC/typo-correction-arc.m | 8 |
2 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index 3083a1f50df..088b0ba423e 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -6590,6 +6590,10 @@ public: return Owned(E); } + ExprResult TransformObjCIvarRefExpr(ObjCIvarRefExpr *E) { + return Owned(E); + } + ExprResult Transform(Expr *E) { ExprResult Res; while (true) { diff --git a/clang/test/SemaObjC/typo-correction-arc.m b/clang/test/SemaObjC/typo-correction-arc.m index 9131ca86dc9..206d545ae7e 100644 --- a/clang/test/SemaObjC/typo-correction-arc.m +++ b/clang/test/SemaObjC/typo-correction-arc.m @@ -2,16 +2,21 @@ typedef unsigned long NSUInteger; +id nameless; // expected-note{{'nameless' declared here}} + @interface NSArray - (instancetype)initWithObjects:(const id[])objects count:(NSUInteger)count; @end @interface I @property NSArray *array; +- (id)getArrayById:(id)name; +- (void)setArrayValue:(id)array; @end @interface J - (void)setArray:(id)array; +- (void)setIvarArray; @end @implementation J { @@ -20,5 +25,8 @@ typedef unsigned long NSUInteger; - (void)setArray:(id)array { // expected-note{{'array' declared here}} i.array = aray; // expected-error{{use of undeclared identifier 'aray'; did you mean 'array'}} } +- (void)setIvarArray { + [i setArrayValue:[i getArrayById:nameles]]; // expected-error{{use of undeclared identifier 'nameles'; did you mean 'nameless'}} +} @end |