diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-01-03 18:01:57 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-01-03 18:01:57 +0000 |
commit | f06cdae9c68dfc4191fbf6b9e5ea0fd748488d88 (patch) | |
tree | 2354bfa622035a1dd2cf4d18161aee9acd92e1f0 /lib/Sema/SemaExprObjC.cpp | |
parent | 368a55d3ce5d66c6d0502c6f8bf061c06961042c (diff) |
Implement typo correction for a variety of Objective-C-specific
constructs:
- Instance variable lookup ("foo->ivar" and, in instance methods, "ivar")
- Property name lookup ("foo.prop")
- Superclasses
- Various places where a class name is required
- Protocol names (e.g., id<proto>)
This seems to cover many of the common places where typos could occur.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92449 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaExprObjC.cpp')
-rw-r--r-- | lib/Sema/SemaExprObjC.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Sema/SemaExprObjC.cpp b/lib/Sema/SemaExprObjC.cpp index 2e31e47645..85889fa5d6 100644 --- a/lib/Sema/SemaExprObjC.cpp +++ b/lib/Sema/SemaExprObjC.cpp @@ -287,7 +287,8 @@ Action::OwningExprResult Sema::ActOnClassPropertyRefExpr( SourceLocation &receiverNameLoc, SourceLocation &propertyNameLoc) { - ObjCInterfaceDecl *IFace = getObjCInterfaceDecl(&receiverName); + IdentifierInfo *receiverNamePtr = &receiverName; + ObjCInterfaceDecl *IFace = getObjCInterfaceDecl(receiverNamePtr); // Search for a declared property first. @@ -400,7 +401,7 @@ Sema::ExprResult Sema::ActOnClassMessage( return Diag(receiverLoc, diag::err_undeclared_var_use) << receiverName; } } else - ClassDecl = getObjCInterfaceDecl(receiverName); + ClassDecl = getObjCInterfaceDecl(receiverName, receiverLoc); // The following code allows for the following GCC-ism: // |