summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorFangrui Song <maskray@google.com>2018-09-26 06:28:14 +0000
committerFangrui Song <maskray@google.com>2018-09-26 06:28:14 +0000
commit721671a64123df96e44a1cdef45f82525f888de0 (patch)
tree1853c21dd4bb04acafeda3cf7e96adbde99bc694 /lib
parent471124bcd92370793440cd7290e3adb1f8006227 (diff)
downloadclang-721671a64123df96e44a1cdef45f82525f888de0.tar.gz
[Frontend] Tidy up -print-decl-contexts conditions
The existing conditions are not consistent. Some have braces and define a temporary Decl while others simply call `<< *cast<XXXDecl>(I)` (mostly the NamedDecl overload of operator<<). Just use the latter for consistency and brevity. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@343072 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r--lib/Frontend/ASTConsumers.cpp105
1 files changed, 41 insertions, 64 deletions
diff --git a/lib/Frontend/ASTConsumers.cpp b/lib/Frontend/ASTConsumers.cpp
index 2a8bfef68e..6e2c87db29 100644
--- a/lib/Frontend/ASTConsumers.cpp
+++ b/lib/Frontend/ASTConsumers.cpp
@@ -442,75 +442,53 @@ void DeclContextPrinter::PrintDeclContext(const DeclContext* DC,
PrintDeclContext(DC, Indentation+2);
break;
}
- case Decl::IndirectField: {
- IndirectFieldDecl* IFD = cast<IndirectFieldDecl>(I);
- Out << "<IndirectField> " << *IFD << '\n';
+ case Decl::IndirectField:
+ Out << "<IndirectField> " << *cast<IndirectFieldDecl>(I) << '\n';
break;
- }
- case Decl::Label: {
- LabelDecl *LD = cast<LabelDecl>(I);
- Out << "<Label> " << *LD << '\n';
+ case Decl::Label:
+ Out << "<Label> " << *cast<LabelDecl>(I) << '\n';
break;
- }
- case Decl::Field: {
- FieldDecl *FD = cast<FieldDecl>(I);
- Out << "<field> " << *FD << '\n';
+ case Decl::Field:
+ Out << "<field> " << *cast<FieldDecl>(I) << '\n';
break;
- }
case Decl::Typedef:
- case Decl::TypeAlias: {
- TypedefNameDecl* TD = cast<TypedefNameDecl>(I);
- Out << "<typedef> " << *TD << '\n';
+ case Decl::TypeAlias:
+ Out << "<typedef> " << *cast<TypedefNameDecl>(I) << '\n';
break;
- }
- case Decl::EnumConstant: {
- EnumConstantDecl* ECD = cast<EnumConstantDecl>(I);
- Out << "<enum constant> " << *ECD << '\n';
+ case Decl::EnumConstant:
+ Out << "<enum constant> " << *cast<EnumConstantDecl>(I) << '\n';
break;
- }
- case Decl::Var: {
- VarDecl* VD = cast<VarDecl>(I);
- Out << "<var> " << *VD << '\n';
+ case Decl::Var:
+ Out << "<var> " << *cast<VarDecl>(I) << '\n';
break;
- }
- case Decl::ImplicitParam: {
- ImplicitParamDecl* IPD = cast<ImplicitParamDecl>(I);
- Out << "<implicit parameter> " << *IPD << '\n';
+ case Decl::ImplicitParam:
+ Out << "<implicit parameter> " << *cast<ImplicitParamDecl>(I) << '\n';
break;
- }
- case Decl::ParmVar: {
- ParmVarDecl* PVD = cast<ParmVarDecl>(I);
- Out << "<parameter> " << *PVD << '\n';
+ case Decl::ParmVar:
+ Out << "<parameter> " << *cast<ParmVarDecl>(I) << '\n';
break;
- }
- case Decl::ObjCProperty: {
- ObjCPropertyDecl* OPD = cast<ObjCPropertyDecl>(I);
- Out << "<objc property> " << *OPD << '\n';
+ case Decl::ObjCProperty:
+ Out << "<objc property> " << *cast<ObjCPropertyDecl>(I) << '\n';
break;
- }
- case Decl::FunctionTemplate: {
- FunctionTemplateDecl* FTD = cast<FunctionTemplateDecl>(I);
- Out << "<function template> " << *FTD << '\n';
+ case Decl::FunctionTemplate:
+ Out << "<function template> " << *cast<FunctionTemplateDecl>(I) << '\n';
break;
- }
- case Decl::FileScopeAsm: {
+ case Decl::TypeAliasTemplate:
+ Out << "<type alias template> " << *cast<TypeAliasTemplateDecl>(I)
+ << '\n';
+ break;
+ case Decl::FileScopeAsm:
Out << "<file-scope asm>\n";
break;
- }
- case Decl::UsingDirective: {
+ case Decl::UsingDirective:
Out << "<using directive>\n";
break;
- }
- case Decl::NamespaceAlias: {
- NamespaceAliasDecl* NAD = cast<NamespaceAliasDecl>(I);
- Out << "<namespace alias> " << *NAD << '\n';
+ case Decl::NamespaceAlias:
+ Out << "<namespace alias> " << *cast<NamespaceAliasDecl>(I) << '\n';
break;
- }
- case Decl::ClassTemplate: {
- ClassTemplateDecl *CTD = cast<ClassTemplateDecl>(I);
- Out << "<class template> " << *CTD << '\n';
+ case Decl::ClassTemplate:
+ Out << "<class template> " << *cast<ClassTemplateDecl>(I) << '\n';
break;
- }
case Decl::OMPThreadPrivate: {
Out << "<omp threadprivate> " << '"' << I << "\"\n";
break;
@@ -522,30 +500,29 @@ void DeclContextPrinter::PrintDeclContext(const DeclContext* DC,
Out << "\n";
break;
}
- case Decl::Using: {
+ case Decl::Using:
Out << "<using> " << *cast<UsingDecl>(I) << "\n";
break;
- }
- case Decl::UsingShadow: {
+ case Decl::UsingShadow:
Out << "<using shadow> " << *cast<UsingShadowDecl>(I) << "\n";
break;
- }
- case Decl::Empty: {
+ case Decl::UnresolvedUsingValue:
+ Out << "<unresolved using value> " << *cast<UnresolvedUsingValueDecl>(I)
+ << "\n";
+ break;
+ case Decl::Empty:
Out << "<empty>\n";
break;
- }
- case Decl::AccessSpec: {
+ case Decl::AccessSpec:
Out << "<access specifier>\n";
break;
- }
- case Decl::VarTemplate: {
+ case Decl::VarTemplate:
Out << "<var template> " << *cast<VarTemplateDecl>(I) << "\n";
break;
- }
- case Decl::StaticAssert: {
+ case Decl::StaticAssert:
Out << "<static assert>\n";
break;
- }
+
default:
Out << "DeclKind: " << DK << '"' << I << "\"\n";
llvm_unreachable("decl unhandled");