diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-04-21 20:38:13 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-04-21 20:38:13 +0000 |
commit | 1569f95831a8c99e9f664137bf8f40e47ee3d90f (patch) | |
tree | a107f83099282227ab157ee9b055da87ca8319ab /include | |
parent | b99c666a940e93bcfcaeddc01515c94472e28a20 (diff) |
Migrate the responsibility for turning the receiver name in an
Objective-C class message expression into a type from the parser
(which was doing so in two places) to Action::getObjCMessageKind()
which, in the case of Sema, reduces the number of name lookups we need
to perform.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@102026 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r-- | include/clang/Parse/Action.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/include/clang/Parse/Action.h b/include/clang/Parse/Action.h index 66ef8d0c67..c4ffa8be40 100644 --- a/include/clang/Parse/Action.h +++ b/include/clang/Parse/Action.h @@ -2373,9 +2373,7 @@ public: /// /// \param S The scope in which the message send occurs. /// - /// \param Name The identifier following the '['. This identifier - /// may be modified by the action, if, for example, typo-correction - /// finds a different class name. + /// \param Name The identifier following the '['. /// /// \param NameLoc The location of the identifier. /// @@ -2383,12 +2381,16 @@ public: /// /// \param HasTrailingDot Whether the name is followed by a period. /// + /// \param ReceiverType If this routine returns \c ObjCClassMessage, + /// this argument will be set to the receiver type. + /// /// \returns The kind of message send. virtual ObjCMessageKind getObjCMessageKind(Scope *S, - IdentifierInfo *&Name, + IdentifierInfo *Name, SourceLocation NameLoc, bool IsSuper, - bool HasTrailingDot); + bool HasTrailingDot, + TypeTy *&ReceiverType); /// \brief Parsed a message send to 'super'. /// |