Switch 'super' from being a weird cast thing to being a predefined expr node.
Patch by David Chisnall with objc rewriter and stmtdumper updates from me.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@52580 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/StmtDumper.cpp b/lib/AST/StmtDumper.cpp
index 6a65fbb..c8f7260 100644
--- a/lib/AST/StmtDumper.cpp
+++ b/lib/AST/StmtDumper.cpp
@@ -311,17 +311,13 @@
void StmtDumper::VisitPreDefinedExpr(PreDefinedExpr *Node) {
DumpExpr(Node);
switch (Node->getIdentType()) {
- default:
- assert(0 && "unknown case");
- case PreDefinedExpr::Func:
- fprintf(F, " __func__");
- break;
- case PreDefinedExpr::Function:
- fprintf(F, " __FUNCTION__");
- break;
- case PreDefinedExpr::PrettyFunction:
- fprintf(F, " __PRETTY_FUNCTION__");
- break;
+ default: assert(0 && "unknown case");
+ case PreDefinedExpr::Func: fprintf(F, " __func__"); break;
+ case PreDefinedExpr::Function: fprintf(F, " __FUNCTION__"); break;
+ case PreDefinedExpr::PrettyFunction: fprintf(F, " __PRETTY_FUNCTION__");break;
+ case PreDefinedExpr::ObjCSelf: fprintf(F, "self"); break;
+ case PreDefinedExpr::ObjCCmd: fprintf(F, "_cmd"); break;
+ case PreDefinedExpr::ObjCSuper: fprintf(F, "super"); break;
}
}