[cfe-commits] r43039 - in /cfe/trunk: AST/StmtDumper.cpp AST/StmtPrinter.cpp Parse/ParseObjc.cpp

Fariborz Jahanian fjahanian at apple.com
Tue Oct 16 13:52:13 PDT 2007


Author: fjahanian
Date: Tue Oct 16 15:52:13 2007
New Revision: 43039

URL: http://llvm.org/viewvc/llvm-project?rev=43039&view=rev
Log:
Fix problem dumping/printing method names with null selector.

Modified:
    cfe/trunk/AST/StmtDumper.cpp
    cfe/trunk/AST/StmtPrinter.cpp
    cfe/trunk/Parse/ParseObjc.cpp

Modified: cfe/trunk/AST/StmtDumper.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/AST/StmtDumper.cpp?rev=43039&r1=43038&r2=43039&view=diff

==============================================================================
--- cfe/trunk/AST/StmtDumper.cpp (original)
+++ cfe/trunk/AST/StmtDumper.cpp Tue Oct 16 15:52:13 2007
@@ -416,7 +416,10 @@
     fprintf(F, "%s", selector.getIdentifierInfoForSlot(0)->getName());
   else {
     for (unsigned i = 0, e = Node->getNumArgs(); i != e; ++i)
-      fprintf(F, "%s:", selector.getIdentifierInfoForSlot(i)->getName());
+      if (selector.getIdentifierInfoForSlot(i))
+        fprintf(F, "%s:", selector.getIdentifierInfoForSlot(i)->getName());
+      else
+        fprintf(F, ":");
   }
 }
 

Modified: cfe/trunk/AST/StmtPrinter.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/AST/StmtPrinter.cpp?rev=43039&r1=43038&r2=43039&view=diff

==============================================================================
--- cfe/trunk/AST/StmtPrinter.cpp (original)
+++ cfe/trunk/AST/StmtPrinter.cpp Tue Oct 16 15:52:13 2007
@@ -627,7 +627,10 @@
     OS << " " << selector.getIdentifierInfoForSlot(0)->getName();
   else {
     for (unsigned i = 0, e = Node->getNumArgs(); i != e; ++i)
-      OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      if (selector.getIdentifierInfoForSlot(i))
+        OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      else
+        OS <<  ":";
   }
   OS << ")";
 }
@@ -642,7 +645,10 @@
     OS << " " << selector.getIdentifierInfoForSlot(0)->getName();
   } else {
     for (unsigned i = 0, e = Mess->getNumArgs(); i != e; ++i) {
-      OS << " " << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      if (selector.getIdentifierInfoForSlot(i))
+        OS << selector.getIdentifierInfoForSlot(i)->getName() << ":";
+      else
+         OS << ":";
       PrintExpr(Mess->getArg(i));
     }
   }

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

==============================================================================
--- cfe/trunk/Parse/ParseObjc.cpp (original)
+++ cfe/trunk/Parse/ParseObjc.cpp Tue Oct 16 15:52:13 2007
@@ -1327,8 +1327,6 @@
     Diag(Tok, diag::err_expected_ident); // missing selector name.
     return 0;
   }
-  if (!SelIdent)
-    SelIdent = &PP.getIdentifierTable().get("");
   KeyIdents.push_back(SelIdent);
   if (Tok.isNot(tok::r_paren))
     while (1) {
@@ -1342,8 +1340,6 @@
       // Check for another keyword selector.
       SourceLocation Loc;
       SelIdent = ParseObjCSelector(Loc);
-      if (!SelIdent)
-        SelIdent = &PP.getIdentifierTable().get("");
       KeyIdents.push_back(SelIdent);
       if (!SelIdent && Tok.isNot(tok::colon))
         break;





More information about the cfe-commits mailing list