diff options
author | rdivacky <rdivacky@FreeBSD.org> | 2009-10-14 18:03:49 +0000 |
---|---|---|
committer | rdivacky <rdivacky@FreeBSD.org> | 2009-10-14 18:03:49 +0000 |
commit | 9092c3e0fa01f3139b016d05d267a89e3b07747a (patch) | |
tree | 137ebebcae16fb0ce7ab4af456992bbd8d22fced /lib/Frontend/StmtXML.cpp | |
parent | 4981926bf654fe5a2c3893f24ca44106b217e71e (diff) | |
download | FreeBSD-src-9092c3e0fa01f3139b016d05d267a89e3b07747a.zip FreeBSD-src-9092c3e0fa01f3139b016d05d267a89e3b07747a.tar.gz |
Update clang to r84119.
Diffstat (limited to 'lib/Frontend/StmtXML.cpp')
-rw-r--r-- | lib/Frontend/StmtXML.cpp | 78 |
1 files changed, 29 insertions, 49 deletions
diff --git a/lib/Frontend/StmtXML.cpp b/lib/Frontend/StmtXML.cpp index 6ba0a28..4a3c0bf 100644 --- a/lib/Frontend/StmtXML.cpp +++ b/lib/Frontend/StmtXML.cpp @@ -32,25 +32,18 @@ namespace { //static const char *getOpcodeStr(BinaryOperator::Opcode Op); - void addSpecialAttribute(const char* pName, StringLiteral* Str) - { + void addSpecialAttribute(const char* pName, StringLiteral* Str) { Doc.addAttribute(pName, Doc.escapeString(Str->getStrData(), Str->getByteLength())); } - void addSpecialAttribute(const char* pName, SizeOfAlignOfExpr* S) - { + void addSpecialAttribute(const char* pName, SizeOfAlignOfExpr* S) { if (S->isArgumentType()) - { Doc.addAttribute(pName, S->getArgumentType()); - } } - void addSpecialAttribute(const char* pName, CXXTypeidExpr* S) - { + void addSpecialAttribute(const char* pName, CXXTypeidExpr* S) { if (S->isTypeOperand()) - { Doc.addAttribute(pName, S->getTypeOperand()); - } } @@ -58,29 +51,21 @@ namespace { StmtXML(DocumentXML& doc) : Doc(doc) { } - + void DumpSubTree(Stmt *S) { - if (S) - { + if (S) { Visit(S); - if (DeclStmt* DS = dyn_cast<DeclStmt>(S)) - { - for (DeclStmt::decl_iterator DI = DS->decl_begin(), DE = DS->decl_end(); - DI != DE; ++DI) - { + if (DeclStmt* DS = dyn_cast<DeclStmt>(S)) { + for (DeclStmt::decl_iterator DI = DS->decl_begin(), + DE = DS->decl_end(); DI != DE; ++DI) { Doc.PrintDecl(*DI); } - } - else - { + } else { if (CXXConditionDeclExpr* CCDE = dyn_cast<CXXConditionDeclExpr>(S)) - { Doc.PrintDecl(CCDE->getVarDecl()); - } - for (Stmt::child_iterator i = S->child_begin(), e = S->child_end(); i != e; ++i) - { + for (Stmt::child_iterator i = S->child_begin(), e = S->child_end(); + i != e; ++i) DumpSubTree(*i); - } } Doc.toParent(); } else { @@ -93,12 +78,12 @@ namespace { void Visit##CLASS(CLASS* S) \ { \ typedef CLASS tStmtType; \ - Doc.addSubNode(NAME); + Doc.addSubNode(NAME); -#define ATTRIBUTE_XML( FN, NAME ) Doc.addAttribute(NAME, S->FN); +#define ATTRIBUTE_XML( FN, NAME ) Doc.addAttribute(NAME, S->FN); #define TYPE_ATTRIBUTE_XML( FN ) ATTRIBUTE_XML(FN, "type") -#define ATTRIBUTE_OPT_XML( FN, NAME ) Doc.addAttributeOptional(NAME, S->FN); -#define ATTRIBUTE_SPECIAL_XML( FN, NAME ) addSpecialAttribute(NAME, S); +#define ATTRIBUTE_OPT_XML( FN, NAME ) Doc.addAttributeOptional(NAME, S->FN); +#define ATTRIBUTE_SPECIAL_XML( FN, NAME ) addSpecialAttribute(NAME, S); #define ATTRIBUTE_FILE_LOCATION_XML Doc.addLocationRange(S->getSourceRange()); @@ -107,14 +92,14 @@ namespace { const char* pAttributeName = NAME; \ const bool optional = false; \ switch (S->FN) { \ - default: assert(0 && "unknown enum value"); + default: assert(0 && "unknown enum value"); #define ATTRIBUTE_ENUM_OPT_XML( FN, NAME ) \ { \ const char* pAttributeName = NAME; \ const bool optional = true; \ switch (S->FN) { \ - default: assert(0 && "unknown enum value"); + default: assert(0 && "unknown enum value"); #define ENUM_XML( VALUE, NAME ) case VALUE: if ((!optional) || NAME[0]) Doc.addAttribute(pAttributeName, NAME); break; #define END_ENUM_XML } } @@ -133,7 +118,7 @@ namespace { void VisitDeclStmt(DeclStmt *Node); void VisitLabelStmt(LabelStmt *Node); void VisitGotoStmt(GotoStmt *Node); - + // Exprs void VisitExpr(Expr *Node); void VisitDeclRefExpr(DeclRefExpr *Node); @@ -156,14 +141,15 @@ namespace { void VisitCXXBoolLiteralExpr(CXXBoolLiteralExpr *Node); void VisitCXXThisExpr(CXXThisExpr *Node); void VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *Node); - + // ObjC void VisitObjCEncodeExpr(ObjCEncodeExpr *Node); void VisitObjCMessageExpr(ObjCMessageExpr* Node); void VisitObjCSelectorExpr(ObjCSelectorExpr *Node); void VisitObjCProtocolExpr(ObjCProtocolExpr *Node); void VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node); - void VisitObjCKVCRefExpr(ObjCKVCRefExpr *Node); + void VisitObjCImplicitSetterGetterRefExpr( + ObjCImplicitSetterGetterRefExpr *Node); void VisitObjCIvarRefExpr(ObjCIvarRefExpr *Node); void VisitObjCSuperExpr(ObjCSuperExpr *Node); #endif @@ -174,27 +160,22 @@ namespace { // Stmt printing methods. //===----------------------------------------------------------------------===// #if (0) -void StmtXML::VisitStmt(Stmt *Node) -{ +void StmtXML::VisitStmt(Stmt *Node) { // nothing special to do } -void StmtXML::VisitDeclStmt(DeclStmt *Node) -{ +void StmtXML::VisitDeclStmt(DeclStmt *Node) { for (DeclStmt::decl_iterator DI = Node->decl_begin(), DE = Node->decl_end(); - DI != DE; ++DI) - { + DI != DE; ++DI) { Doc.PrintDecl(*DI); } } -void StmtXML::VisitLabelStmt(LabelStmt *Node) -{ +void StmtXML::VisitLabelStmt(LabelStmt *Node) { Doc.addAttribute("name", Node->getName()); } -void StmtXML::VisitGotoStmt(GotoStmt *Node) -{ +void StmtXML::VisitGotoStmt(GotoStmt *Node) { Doc.addAttribute("name", Node->getLabel()->getName()); } @@ -335,9 +316,7 @@ void StmtXML::VisitSizeOfAlignOfExpr(SizeOfAlignOfExpr *Node) { Doc.addAttribute("is_sizeof", Node->isSizeOf() ? "sizeof" : "alignof"); Doc.addAttribute("is_type", Node->isArgumentType() ? "1" : "0"); if (Node->isArgumentType()) - { DumpTypeExpr(Node->getArgumentType()); - } } void StmtXML::VisitMemberExpr(MemberExpr *Node) { @@ -414,7 +393,7 @@ void StmtXML::VisitObjCMessageExpr(ObjCMessageExpr* Node) { DumpExpr(Node); Doc.addAttribute("selector", Node->getSelector().getAsString()); IdentifierInfo* clsName = Node->getClassName(); - if (clsName) + if (clsName) Doc.addAttribute("class", clsName->getName()); } @@ -438,7 +417,8 @@ void StmtXML::VisitObjCPropertyRefExpr(ObjCPropertyRefExpr *Node) { Doc.addAttribute("property", Node->getProperty()->getNameAsString()); } -void StmtXML::VisitObjCKVCRefExpr(ObjCKVCRefExpr *Node) { +void StmtXML::VisitObjCImplicitSetterGetterRefExpr( + ObjCImplicitSetterGetterRefExpr *Node) { DumpExpr(Node); ObjCMethodDecl *Getter = Node->getGetterMethod(); ObjCMethodDecl *Setter = Node->getSetterMethod(); |