Split the ASTNode out for compound assignments out from binary operators.  Now
they show up in dumps etc.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41393 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/AST/StmtDumper.cpp b/AST/StmtDumper.cpp
index 25caaef..0a46cbc 100644
--- a/AST/StmtDumper.cpp
+++ b/AST/StmtDumper.cpp
@@ -425,11 +425,17 @@
 }
 void StmtDumper::VisitBinaryOperator(BinaryOperator *Node) {
   DumpExpr(Node);
-  fprintf(F, " '%s'", BinaryOperator::getOpcodeStr(Node->getOpcode()));
-  if (CompoundAssignOperator *CAO = dyn_cast<CompoundAssignOperator>(Node)) {
-    fprintf(F, " ComputeTy=");
-    DumpType(CAO->getComputationType());
-  }
+  fprintf(F, " '%s'\n", BinaryOperator::getOpcodeStr(Node->getOpcode()));
+  DumpSubTree(Node->getLHS());
+  fprintf(F, "\n");
+  DumpSubTree(Node->getRHS());
+  fprintf(F, ")");
+}
+void StmtDumper::VisitCompoundAssignOperator(CompoundAssignOperator *Node) {
+  DumpExpr(Node);
+  fprintf(F, " '%s' ComputeTy=",
+          BinaryOperator::getOpcodeStr(Node->getOpcode()));
+  DumpType(Node->getComputationType());
   fprintf(F, "\n");
   DumpSubTree(Node->getLHS());
   fprintf(F, "\n");