Add CastExpr::getCastKindName and use it in the StmtDumper.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@80862 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/AST/StmtDumper.cpp b/lib/AST/StmtDumper.cpp
index 7d8d64c..5f32009 100644
--- a/lib/AST/StmtDumper.cpp
+++ b/lib/AST/StmtDumper.cpp
@@ -301,45 +301,7 @@
 
 void StmtDumper::VisitCastExpr(CastExpr *Node) {
   DumpExpr(Node);
-  fprintf(F, " ");
-  switch (Node->getCastKind()) {
-  case CastExpr::CK_Unknown:
-    fprintf(F, "<Unknown>");
-    break;
-  case CastExpr::CK_BitCast:
-    fprintf(F, "<BitCast>");
-    break;
-  case CastExpr::CK_NoOp:
-    fprintf(F, "<NoOp>");
-    break;
-  case CastExpr::CK_DerivedToBase:
-    fprintf(F, "<DerivedToBase>");
-    break;
-  case CastExpr::CK_Dynamic:
-    fprintf(F, "<Dynamic>");
-    break;
-  case CastExpr::CK_ToUnion:
-    fprintf(F, "<ToUnion>");
-    break;
-  case CastExpr::CK_ArrayToPointerDecay:
-    fprintf(F, "<ArrayToPointerDecay>");
-    break;
-  case CastExpr::CK_FunctionToPointerDecay:
-    fprintf(F, "<FunctionToPointerDecay>");
-    break;
-  case CastExpr::CK_NullToMemberPointer:
-    fprintf(F, "<NullToMemberPointer>");
-    break;
-  case CastExpr::CK_BaseToDerivedMemberPointer:
-    fprintf(F, "<BaseToDerivedMemberPointer>");
-    break;
-  case CastExpr::CK_UserDefinedConversion:
-    fprintf(F, "<UserDefinedConversion>");
-    break;
-  case CastExpr::CK_ConstructorConversion:
-    fprintf(F, "<ConstructorConversion>");
-    break;
-  }
+  fprintf(F, " <%s>", Node->getCastKindName());
 }
 
 void StmtDumper::VisitDeclRefExpr(DeclRefExpr *Node) {
@@ -480,8 +442,9 @@
 
 void StmtDumper::VisitCXXNamedCastExpr(CXXNamedCastExpr *Node) {
   DumpExpr(Node);
-  fprintf(F, " %s<%s>", Node->getCastName(),
-          Node->getTypeAsWritten().getAsString().c_str());
+  fprintf(F, " %s<%s> <%s>", Node->getCastName(),
+          Node->getTypeAsWritten().getAsString().c_str(),
+          Node->getCastKindName());
 }
 
 void StmtDumper::VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *Node) {