Progress on message expressions...
- Add ObjcMessageExpr AST node and associated constructors.
- Add SourceLocation's to ActOnKeywordMessage/ActOnUnaryMessage API.
- Instantiate message expressions...
- Replace alloca usage with SmallString.
Next step, installing a correct type, among other tweaks...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42116 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Sema/Sema.h b/Sema/Sema.h
index 79fc111..29a03d1 100644
--- a/Sema/Sema.h
+++ b/Sema/Sema.h
@@ -384,17 +384,22 @@
tok::ObjCKeywordKind MethodImplKind);
// This actions handles keyword message to classes.
- virtual ExprResult ActOnKeywordMessage(IdentifierInfo *receivingClassName,
- ObjcKeywordMessage *Keywords, unsigned NumKeywords);
+ virtual ExprResult ActOnKeywordMessage(
+ IdentifierInfo *receivingClassName,
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords,
+ SourceLocation lbrac, SourceLocation rbrac);
// 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);
+ ObjcKeywordMessage *Keywords, unsigned NumKeywords,
+ SourceLocation lbrac, SourceLocation rbrac);
+ // This actions handles unary message to classes.
+ virtual ExprResult ActOnUnaryMessage(
+ IdentifierInfo *receivingClassName, IdentifierInfo *selName,
+ SourceLocation lbrac, SourceLocation rbrac);
+ // This action handles unary messages to instances.
+ virtual ExprResult ActOnUnaryMessage(
+ ExprTy *receiver, IdentifierInfo *sName,
+ SourceLocation lbrac, SourceLocation rbrac);
private:
// UsualUnaryConversions - promotes integers (C99 6.3.1.1p2) and converts
// functions and arrays to their respective pointers (C99 6.3.2.1).