diff --git a/AST/Expr.cpp b/AST/Expr.cpp
index d5fd241..535e1ef 100644
--- a/AST/Expr.cpp
+++ b/AST/Expr.cpp
@@ -231,7 +231,7 @@
   }
   case BinaryOperatorClass:
     return cast<BinaryOperator>(this)->isAssignmentOp();
-  case CompoundAssignOperator:
+  case CompoundAssignOperatorClass:
     return true;
 
   case MemberExprClass:
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");
diff --git a/AST/StmtPrinter.cpp b/AST/StmtPrinter.cpp
index ec37f9e..633278f 100644
--- a/AST/StmtPrinter.cpp
+++ b/AST/StmtPrinter.cpp
@@ -475,6 +475,11 @@
   OS << " " << BinaryOperator::getOpcodeStr(Node->getOpcode()) << " ";
   PrintExpr(Node->getRHS());
 }
+void StmtPrinter::VisitCompoundAssignOperator(CompoundAssignOperator *Node) {
+  PrintExpr(Node->getLHS());
+  OS << " " << BinaryOperator::getOpcodeStr(Node->getOpcode()) << " ";
+  PrintExpr(Node->getRHS());
+}
 void StmtPrinter::VisitConditionalOperator(ConditionalOperator *Node) {
   PrintExpr(Node->getCond());
   OS << " ? ";
