Finish defining Action API for message expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42059 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index c1d3a3a..5272444 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -371,6 +371,19 @@
virtual DeclTy *ObjcBuildMethodDeclaration(SourceLocation MethodLoc,
tok::TokenKind MethodType, TypeTy *ReturnType,
IdentifierInfo *SelectorName, AttributeList *AttrList);
+
+ // This actions handles keyword message to classes.
+ virtual ExprResult ActOnKeywordMessage(IdentifierInfo *receivingClassName,
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords);
+ // This action handles keyword messages to instances.
+ virtual ExprResult ActOnKeywordMessage(ExprTy *receiver,
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords);
+
+ // This actions handles keyword message to classes.
+ virtual ExprResult ActOnUnaryMessage(IdentifierInfo *receivingClassName,
+ IdentifierInfo *selName);
+ // This action handles keyword messages to instances.
+ virtual ExprResult ActOnUnaryMessage(ExprTy *receiver, IdentifierInfo *sName);
private:
// UsualUnaryConversions - promotes integers (C99 6.3.1.1p2) and converts
// functions and arrays to their respective pointers (C99 6.3.2.1).
diff --git a/Sema/SemaExpr.cpp b/Sema/SemaExpr.cpp
index da1981f..d7136a3 100644
--- a/Sema/SemaExpr.cpp
+++ b/Sema/SemaExpr.cpp
@@ -1855,3 +1855,29 @@
QualType t = Context.getPointerType(Context.CharTy);
return new ObjCEncodeExpr(t, EncodedType, AtLoc, RParenLoc);
}
+
+// This actions handles keyword message to classes.
+Sema::ExprResult Sema::ActOnKeywordMessage(IdentifierInfo *receivingClassName,
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords)
+{
+ return 0;
+}
+
+// This action handles keyword messages to instances.
+Sema::ExprResult Sema::ActOnKeywordMessage(ExprTy *receiver,
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords) {
+ return 0;
+}
+
+// This actions handles keyword message to classes.
+Sema::ExprResult Sema::ActOnUnaryMessage(IdentifierInfo *receivingClassName,
+ IdentifierInfo *selName) {
+ return 0;
+}
+
+// This action handles keyword messages to instances.
+Sema::ExprResult Sema::ActOnUnaryMessage(ExprTy *receiver,
+ IdentifierInfo *selName) {
+ return 0;
+}
+