[cfe-commits] r78754 - /cfe/trunk/lib/AST/StmtDumper.cpp

Anders Carlsson andersca at mac.com
Tue Aug 11 17:21:53 PDT 2009


Author: andersca
Date: Tue Aug 11 19:21:52 2009
New Revision: 78754

URL: http://llvm.org/viewvc/llvm-project?rev=78754&view=rev
Log:
Add some information about temporaries to the statement dumper.

Modified:
    cfe/trunk/lib/AST/StmtDumper.cpp

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

==============================================================================
--- cfe/trunk/lib/AST/StmtDumper.cpp (original)
+++ cfe/trunk/lib/AST/StmtDumper.cpp Tue Aug 11 19:21:52 2009
@@ -137,6 +137,10 @@
     void VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *Node);
     void VisitCXXThisExpr(CXXThisExpr *Node);
     void VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *Node);
+    void VisitCXXConstructExpr(CXXConstructExpr *Node);
+    void VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *Node);
+    void VisitCXXExprWithTemporaries(CXXExprWithTemporaries *Node);
+    void DumpCXXTemporary(CXXTemporary *Temporary);
     
     // ObjC
     void VisitObjCEncodeExpr(ObjCEncodeExpr *Node);
@@ -451,6 +455,33 @@
           Node->getTypeAsWritten().getAsString().c_str());
 }
 
+void StmtDumper::VisitCXXConstructExpr(CXXConstructExpr *Node) {
+  DumpExpr(Node);
+  if (Node->isElidable())
+    fprintf(F, "elidable");
+}
+
+void StmtDumper::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *Node) {
+  DumpExpr(Node);
+  fprintf(F, " ");
+  DumpCXXTemporary(Node->getTemporary());
+}
+
+void StmtDumper::VisitCXXExprWithTemporaries(CXXExprWithTemporaries *Node) {
+  DumpExpr(Node);
+  ++IndentLevel;
+  for (unsigned i = 0, e = Node->getNumTemporaries(); i != e; ++i) {
+    fprintf(F, "\n");
+    Indent();
+    DumpCXXTemporary(Node->getTemporary(i));
+  }
+  --IndentLevel;
+}
+
+void StmtDumper::DumpCXXTemporary(CXXTemporary *Temporary) {
+  fprintf(F, "(CXXTemporary %p)", (void *)Temporary);
+}
+
 //===----------------------------------------------------------------------===//
 // Obj-C Expressions
 //===----------------------------------------------------------------------===//





More information about the cfe-commits mailing list