[cfe-commits] r169866 - /cfe/trunk/lib/AST/StmtDumper.cpp
Alexander Kornienko
alexfh at google.com
Tue Dec 11 07:28:09 PST 2012
Author: alexfh
Date: Tue Dec 11 09:28:09 2012
New Revision: 169866
URL: http://llvm.org/viewvc/llvm-project?rev=169866&view=rev
Log:
StmtDumper coding style changes
Summary:
A few small coding style changes for StmtDumper, including:
- rename Dump* methods to dump*
- uninline some methods
- comment fixes
- whitespace fixes
Please review and commit if okay.
Reviewers: alexfh
Reviewed By: alexfh
CC: cfe-commits, alexfh, klimek
Differential Revision: http://llvm-reviews.chandlerc.com/D190
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=169866&r1=169865&r2=169866&view=diff
==============================================================================
--- cfe/trunk/lib/AST/StmtDumper.cpp (original)
+++ cfe/trunk/lib/AST/StmtDumper.cpp Tue Dec 11 09:28:09 2012
@@ -32,8 +32,8 @@
unsigned IndentLevel;
bool IsFirstLine;
- /// LastLocFilename/LastLocLine - Keep track of the last location we print
- /// out so that we can print out deltas from then on out.
+ /// Keep track of the last location we print out so that we can
+ /// print out deltas from then on out.
const char *LastLocFilename;
unsigned LastLocLine;
@@ -60,51 +60,13 @@
void dumpDecl(Decl *D);
void dumpStmt(Stmt *S);
- void indent() {
- if (IsFirstLine)
- IsFirstLine = false;
- else
- OS << "\n";
- OS.indent(IndentLevel * 2);
- OS << "(";
- IndentLevel++;
- }
-
- void unindent() {
- OS << ")";
- IndentLevel--;
- }
-
- void DumpType(QualType T) {
- SplitQualType T_split = T.split();
- OS << "'" << QualType::getAsString(T_split) << "'";
-
- if (!T.isNull()) {
- // If the type is sugared, also dump a (shallow) desugared type.
- SplitQualType D_split = T.getSplitDesugaredType();
- if (T_split != D_split)
- OS << ":'" << QualType::getAsString(D_split) << "'";
- }
- }
- void DumpDeclRef(Decl *node);
- void DumpValueKind(ExprValueKind K) {
- switch (K) {
- case VK_RValue: break;
- case VK_LValue: OS << " lvalue"; break;
- case VK_XValue: OS << " xvalue"; break;
- }
- }
- void DumpObjectKind(ExprObjectKind K) {
- switch (K) {
- case OK_Ordinary: break;
- case OK_BitField: OS << " bitfield"; break;
- case OK_ObjCProperty: OS << " objcproperty"; break;
- case OK_ObjCSubscript: OS << " objcsubscript"; break;
- case OK_VectorComponent: OS << " vectorcomponent"; break;
- }
- }
- void DumpSourceRange(const Stmt *Node);
- void DumpLocation(SourceLocation Loc);
+ // Utilities
+ void indent();
+ void unindent();
+ void dumpSourceRange(const Stmt *Node);
+ void dumpLocation(SourceLocation Loc);
+ void dumpType(QualType T);
+ void dumpDeclRef(Decl *node);
// Stmts.
void VisitStmt(Stmt *Node);
@@ -140,13 +102,13 @@
void VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *Node);
void VisitExprWithCleanups(ExprWithCleanups *Node);
void VisitUnresolvedLookupExpr(UnresolvedLookupExpr *Node);
- void DumpCXXTemporary(CXXTemporary *Temporary);
+ void dumpCXXTemporary(CXXTemporary *Temporary);
// ObjC
void VisitObjCAtCatchStmt(ObjCAtCatchStmt *Node);
void VisitObjCEncodeExpr(ObjCEncodeExpr *Node);
- void VisitObjCMessageExpr(ObjCMessageExpr* Node);
- void VisitObjCBoxedExpr(ObjCBoxedExpr* Node);
+ void VisitObjCMessageExpr(ObjCMessageExpr *Node);
+ void VisitObjCBoxedExpr(ObjCBoxedExpr *Node);
void VisitObjCSelectorExpr(ObjCSelectorExpr *Node);
void VisitObjCProtocolExpr(ObjCProtocolExpr *Node);
void VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node);
@@ -160,7 +122,22 @@
// Utilities
//===----------------------------------------------------------------------===//
-void StmtDumper::DumpLocation(SourceLocation Loc) {
+void StmtDumper::indent() {
+ if (IsFirstLine)
+ IsFirstLine = false;
+ else
+ OS << "\n";
+ OS.indent(IndentLevel * 2);
+ OS << "(";
+ IndentLevel++;
+}
+
+void StmtDumper::unindent() {
+ OS << ")";
+ IndentLevel--;
+}
+
+void StmtDumper::dumpLocation(SourceLocation Loc) {
SourceLocation SpellingLoc = SM->getSpellingLoc(Loc);
// The general format we print out is filename:line:col, but we drop pieces
@@ -186,19 +163,20 @@
}
}
-void StmtDumper::DumpSourceRange(const Stmt *Node) {
+void StmtDumper::dumpSourceRange(const Stmt *Node) {
// Can't translate locations if a SourceManager isn't available.
- if (SM == 0) return;
+ if (!SM)
+ return;
// TODO: If the parent expression is available, we can print a delta vs its
// location.
SourceRange R = Node->getSourceRange();
OS << " <";
- DumpLocation(R.getBegin());
+ dumpLocation(R.getBegin());
if (R.getBegin() != R.getEnd()) {
OS << ", ";
- DumpLocation(R.getEnd());
+ dumpLocation(R.getEnd());
}
OS << ">";
@@ -206,8 +184,35 @@
}
+void StmtDumper::dumpType(QualType T) {
+ SplitQualType T_split = T.split();
+ OS << "'" << QualType::getAsString(T_split) << "'";
+
+ if (!T.isNull()) {
+ // If the type is sugared, also dump a (shallow) desugared type.
+ SplitQualType D_split = T.getSplitDesugaredType();
+ if (T_split != D_split)
+ OS << ":'" << QualType::getAsString(D_split) << "'";
+ }
+}
+
+void StmtDumper::dumpDeclRef(Decl *D) {
+ OS << D->getDeclKindName() << ' ' << (void*) D;
+
+ if (NamedDecl *ND = dyn_cast<NamedDecl>(D)) {
+ OS << " '";
+ ND->getDeclName().printName(OS);
+ OS << "'";
+ }
+
+ if (ValueDecl *VD = dyn_cast<ValueDecl>(D)) {
+ OS << ' ';
+ dumpType(VD->getType());
+ }
+}
+
//===----------------------------------------------------------------------===//
-// Decl printing methods.
+// Decl dumping methods.
//===----------------------------------------------------------------------===//
void StmtDumper::dumpDecl(Decl *D) {
@@ -279,7 +284,7 @@
}
//===----------------------------------------------------------------------===//
-// Stmt printing methods.
+// Stmt dumping methods.
//===----------------------------------------------------------------------===//
void StmtDumper::dumpStmt(Stmt *S) {
@@ -302,7 +307,7 @@
void StmtDumper::VisitStmt(Stmt *Node) {
OS << Node->getStmtClassName() << " " << (const void *)Node;
- DumpSourceRange(Node);
+ dumpSourceRange(Node);
}
void StmtDumper::VisitDeclStmt(DeclStmt *Node) {
@@ -310,7 +315,7 @@
for (DeclStmt::decl_iterator DI = Node->decl_begin(), DE = Node->decl_end();
DI != DE; ++DI) {
IndentScope Indent(*this);
- Decl* D = *DI;
+ Decl *D = *DI;
OS << (void*) D << " ";
dumpDecl(D);
}
@@ -328,18 +333,44 @@
}
//===----------------------------------------------------------------------===//
-// Expr printing methods.
+// Expr dumping methods.
//===----------------------------------------------------------------------===//
void StmtDumper::VisitExpr(Expr *Node) {
VisitStmt(Node);
OS << ' ';
- DumpType(Node->getType());
- DumpValueKind(Node->getValueKind());
- DumpObjectKind(Node->getObjectKind());
+ dumpType(Node->getType());
+
+ switch (Node->getValueKind()) {
+ case VK_RValue:
+ break;
+ case VK_LValue:
+ OS << " lvalue";
+ break;
+ case VK_XValue:
+ OS << " xvalue";
+ break;
+ }
+
+ switch (Node->getObjectKind()) {
+ case OK_Ordinary:
+ break;
+ case OK_BitField:
+ OS << " bitfield";
+ break;
+ case OK_ObjCProperty:
+ OS << " objcproperty";
+ break;
+ case OK_ObjCSubscript:
+ OS << " objcsubscript";
+ break;
+ case OK_VectorComponent:
+ OS << " vectorcomponent";
+ break;
+ }
}
-static void DumpBasePath(raw_ostream &OS, CastExpr *Node) {
+static void dumpBasePath(raw_ostream &OS, CastExpr *Node) {
if (Node->path_empty())
return;
@@ -350,23 +381,23 @@
const CXXBaseSpecifier *Base = *I;
if (!First)
OS << " -> ";
-
+
const CXXRecordDecl *RD =
cast<CXXRecordDecl>(Base->getType()->getAs<RecordType>()->getDecl());
-
+
if (Base->isVirtual())
OS << "virtual ";
OS << RD->getName();
First = false;
}
-
+
OS << ')';
}
void StmtDumper::VisitCastExpr(CastExpr *Node) {
VisitExpr(Node);
OS << " <" << Node->getCastKindName();
- DumpBasePath(OS, Node);
+ dumpBasePath(OS, Node);
OS << ">";
}
@@ -374,37 +405,25 @@
VisitExpr(Node);
OS << " ";
- DumpDeclRef(Node->getDecl());
+ dumpDeclRef(Node->getDecl());
if (Node->getDecl() != Node->getFoundDecl()) {
OS << " (";
- DumpDeclRef(Node->getFoundDecl());
+ dumpDeclRef(Node->getFoundDecl());
OS << ")";
}
}
-void StmtDumper::DumpDeclRef(Decl *d) {
- OS << d->getDeclKindName() << ' ' << (void*) d;
-
- if (NamedDecl *nd = dyn_cast<NamedDecl>(d)) {
- OS << " '";
- nd->getDeclName().printName(OS);
- OS << "'";
- }
-
- if (ValueDecl *vd = dyn_cast<ValueDecl>(d)) {
- OS << ' '; DumpType(vd->getType());
- }
-}
-
void StmtDumper::VisitUnresolvedLookupExpr(UnresolvedLookupExpr *Node) {
VisitExpr(Node);
OS << " (";
- if (!Node->requiresADL()) OS << "no ";
+ if (!Node->requiresADL())
+ OS << "no ";
OS << "ADL) = '" << Node->getName() << '\'';
UnresolvedLookupExpr::decls_iterator
I = Node->decls_begin(), E = Node->decls_end();
- if (I == E) OS << " empty";
+ if (I == E)
+ OS << " empty";
for (; I != E; ++I)
OS << " " << (void*) *I;
}
@@ -425,7 +444,7 @@
default: llvm_unreachable("unknown case");
case PredefinedExpr::Func: OS << " __func__"; break;
case PredefinedExpr::Function: OS << " __FUNCTION__"; break;
- case PredefinedExpr::LFunction: OS << " L__FUNCTION__"; break;
+ case PredefinedExpr::LFunction: OS << " L__FUNCTION__"; break;
case PredefinedExpr::PrettyFunction: OS << " __PRETTY_FUNCTION__";break;
}
}
@@ -441,6 +460,7 @@
bool isSigned = Node->getType()->isSignedIntegerType();
OS << " " << Node->getValue().toString(10, isSigned);
}
+
void StmtDumper::VisitFloatingLiteral(FloatingLiteral *Node) {
VisitExpr(Node);
OS << " " << Node->getValueAsApproximateDouble();
@@ -457,6 +477,7 @@
OS << " " << (Node->isPostfix() ? "postfix" : "prefix")
<< " '" << UnaryOperator::getOpcodeStr(Node->getOpcode()) << "'";
}
+
void StmtDumper::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *Node) {
VisitExpr(Node);
switch(Node->getKind()) {
@@ -471,7 +492,7 @@
break;
}
if (Node->isArgumentType())
- DumpType(Node->getArgumentType());
+ dumpType(Node->getArgumentType());
}
void StmtDumper::VisitMemberExpr(MemberExpr *Node) {
@@ -480,21 +501,24 @@
<< *Node->getMemberDecl() << ' '
<< (void*)Node->getMemberDecl();
}
+
void StmtDumper::VisitExtVectorElementExpr(ExtVectorElementExpr *Node) {
VisitExpr(Node);
OS << " " << Node->getAccessor().getNameStart();
}
+
void StmtDumper::VisitBinaryOperator(BinaryOperator *Node) {
VisitExpr(Node);
OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode()) << "'";
}
+
void StmtDumper::VisitCompoundAssignOperator(CompoundAssignOperator *Node) {
VisitExpr(Node);
OS << " '" << BinaryOperator::getOpcodeStr(Node->getOpcode())
<< "' ComputeLHSTy=";
- DumpType(Node->getComputationLHSType());
+ dumpType(Node->getComputationLHSType());
OS << " ComputeResultTy=";
- DumpType(Node->getComputationResultType());
+ dumpType(Node->getComputationResultType());
}
void StmtDumper::VisitBlockExpr(BlockExpr *Node) {
@@ -511,10 +535,12 @@
i = block->capture_begin(), e = block->capture_end(); i != e; ++i) {
IndentScope Indent(*this);
OS << "capture ";
- if (i->isByRef()) OS << "byref ";
- if (i->isNested()) OS << "nested ";
+ if (i->isByRef())
+ OS << "byref ";
+ if (i->isNested())
+ OS << "nested ";
if (i->getVariable())
- DumpDeclRef(i->getVariable());
+ dumpDeclRef(i->getVariable());
if (i->hasCopyExpr())
dumpStmt(i->getCopyExpr());
}
@@ -543,10 +569,10 @@
void StmtDumper::VisitCXXNamedCastExpr(CXXNamedCastExpr *Node) {
VisitExpr(Node);
- OS << " " << Node->getCastName()
+ OS << " " << Node->getCastName()
<< "<" << Node->getTypeAsWritten().getAsString() << ">"
<< " <" << Node->getCastKindName();
- DumpBasePath(OS, Node);
+ dumpBasePath(OS, Node);
OS << ">";
}
@@ -569,7 +595,7 @@
void StmtDumper::VisitCXXConstructExpr(CXXConstructExpr *Node) {
VisitExpr(Node);
CXXConstructorDecl *Ctor = Node->getConstructor();
- DumpType(Ctor->getType());
+ dumpType(Ctor->getType());
if (Node->isElidable())
OS << " elidable";
if (Node->requiresZeroInitialization())
@@ -579,7 +605,7 @@
void StmtDumper::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *Node) {
VisitExpr(Node);
OS << " ";
- DumpCXXTemporary(Node->getTemporary());
+ dumpCXXTemporary(Node->getTemporary());
}
void StmtDumper::VisitExprWithCleanups(ExprWithCleanups *Node) {
@@ -587,11 +613,11 @@
for (unsigned i = 0, e = Node->getNumObjects(); i != e; ++i) {
IndentScope Indent(*this);
OS << "cleanup ";
- DumpDeclRef(Node->getObject(i));
+ dumpDeclRef(Node->getObject(i));
}
}
-void StmtDumper::DumpCXXTemporary(CXXTemporary *Temporary) {
+void StmtDumper::dumpCXXTemporary(CXXTemporary *Temporary) {
OS << "(CXXTemporary " << (void *)Temporary << ")";
}
@@ -599,7 +625,7 @@
// Obj-C Expressions
//===----------------------------------------------------------------------===//
-void StmtDumper::VisitObjCMessageExpr(ObjCMessageExpr* Node) {
+void StmtDumper::VisitObjCMessageExpr(ObjCMessageExpr *Node) {
VisitExpr(Node);
OS << " selector=" << Node->getSelector().getAsString();
switch (Node->getReceiverKind()) {
@@ -608,7 +634,7 @@
case ObjCMessageExpr::Class:
OS << " class=";
- DumpType(Node->getClassReceiver());
+ dumpType(Node->getClassReceiver());
break;
case ObjCMessageExpr::SuperInstance:
@@ -621,7 +647,7 @@
}
}
-void StmtDumper::VisitObjCBoxedExpr(ObjCBoxedExpr* Node) {
+void StmtDumper::VisitObjCBoxedExpr(ObjCBoxedExpr *Node) {
VisitExpr(Node);
OS << " selector=" << Node->getBoxingMethod()->getSelector().getAsString();
}
@@ -639,7 +665,7 @@
void StmtDumper::VisitObjCEncodeExpr(ObjCEncodeExpr *Node) {
VisitExpr(Node);
OS << " ";
- DumpType(Node->getEncodedType());
+ dumpType(Node->getEncodedType());
}
void StmtDumper::VisitObjCSelectorExpr(ObjCSelectorExpr *Node) {
@@ -651,7 +677,7 @@
void StmtDumper::VisitObjCProtocolExpr(ObjCProtocolExpr *Node) {
VisitExpr(Node);
- OS << ' ' <<* Node->getProtocol();
+ OS << ' ' << *Node->getProtocol();
}
void StmtDumper::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) {
@@ -695,7 +721,7 @@
OS << Node->getAtIndexMethodDecl()->getSelector().getAsString();
else
OS << "(null)";
-
+
if (Node->isArraySubscriptRefExpr())
OS << "\" SetterForArray=\"";
else
More information about the cfe-commits
mailing list