[cfe-commits] r46365 - in /cfe/trunk: Parse/ParseObjc.cpp include/clang/Parse/Parser.h

Chris Lattner sabre at nondot.org
Fri Jan 25 11:25:01 PST 2008


Author: lattner
Date: Fri Jan 25 13:25:00 2008
New Revision: 46365

URL: http://llvm.org/viewvc/llvm-project?rev=46365&view=rev
Log:
Factor a complex predicate out to a helper method.

Modified:
    cfe/trunk/Parse/ParseObjc.cpp
    cfe/trunk/include/clang/Parse/Parser.h

Modified: cfe/trunk/Parse/ParseObjc.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Parse/ParseObjc.cpp?rev=46365&r1=46364&r2=46365&view=diff

==============================================================================
--- cfe/trunk/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/Parse/ParseObjc.cpp Fri Jan 25 13:25:00 2008
@@ -1267,9 +1267,7 @@
   SourceLocation LBracLoc = ConsumeBracket(); // consume '['
 
   // Parse receiver
-  if (Tok.is(tok::identifier) &&
-      (Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope)
-       || Tok.isNamedIdentifier("super"))) {
+  if (isTokObjCMessageIdentifierReceiver()) {
     IdentifierInfo *ReceiverName = Tok.getIdentifierInfo();
     ConsumeToken();
     return ParseObjCMessageExpressionBody(LBracLoc, ReceiverName, 0);

Modified: cfe/trunk/include/clang/Parse/Parser.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Parser.h?rev=46365&r1=46364&r2=46365&view=diff

==============================================================================
--- cfe/trunk/include/clang/Parse/Parser.h (original)
+++ cfe/trunk/include/clang/Parse/Parser.h Fri Jan 25 13:25:00 2008
@@ -362,6 +362,17 @@
   
   //===--------------------------------------------------------------------===//
   // Objective-C Expressions
+  
+  bool isTokObjCMessageIdentifierReceiver() const {
+    if (!Tok.is(tok::identifier))
+      return false;
+    
+    if (Actions.isTypeName(*Tok.getIdentifierInfo(), CurScope))
+      return true;
+    
+    return Tok.isNamedIdentifier("super");
+  }
+  
   ExprResult ParseObjCAtExpression(SourceLocation AtLocation);
   ExprResult ParseObjCStringLiteral(SourceLocation AtLoc);
   ExprResult ParseObjCEncodeExpression(SourceLocation AtLoc);





More information about the cfe-commits mailing list