aboutsummaryrefslogtreecommitdiff
path: root/include/clang/Parse/Action.h
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-21 20:38:13 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-21 20:38:13 +0000
commit1569f95831a8c99e9f664137bf8f40e47ee3d90f (patch)
treea107f83099282227ab157ee9b055da87ca8319ab /include/clang/Parse/Action.h
parentb99c666a940e93bcfcaeddc01515c94472e28a20 (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/clang/Parse/Action.h')
-rw-r--r--include/clang/Parse/Action.h12
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'.
///