Please use GitHub pull requests for new patches. Avoid migrating existing patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/AST/DeclPrinter.cpp
Show First 20 Lines • Show All 991 Lines • ▼ Show 20 Lines | void DeclPrinter::VisitCXXRecordDecl(CXXRecordDecl *D) { | ||||
// FIXME: add printing of pragma attributes if required. | // FIXME: add printing of pragma attributes if required. | ||||
if (!Policy.SuppressSpecifiers && D->isModulePrivate()) | if (!Policy.SuppressSpecifiers && D->isModulePrivate()) | ||||
Out << "__module_private__ "; | Out << "__module_private__ "; | ||||
Out << D->getKindName(); | Out << D->getKindName(); | ||||
prettyPrintAttributes(D); | prettyPrintAttributes(D); | ||||
if (D->getIdentifier()) { | if (D->getIdentifier()) { | ||||
Out << ' ' << *D; | Out << ' '; | ||||
if (auto *NNS = D->getQualifier()) | |||||
NNS->print(Out, Policy); | |||||
Out << *D; | |||||
if (auto S = dyn_cast<ClassTemplateSpecializationDecl>(D)) { | if (auto S = dyn_cast<ClassTemplateSpecializationDecl>(D)) { | ||||
ArrayRef<TemplateArgument> Args = S->getTemplateArgs().asArray(); | ArrayRef<TemplateArgument> Args = S->getTemplateArgs().asArray(); | ||||
if (!Policy.PrintCanonicalTypes) | if (!Policy.PrintCanonicalTypes) | ||||
if (const auto* TSI = S->getTypeAsWritten()) | if (const auto* TSI = S->getTypeAsWritten()) | ||||
if (const auto *TST = | if (const auto *TST = | ||||
dyn_cast<TemplateSpecializationType>(TSI->getType())) | dyn_cast<TemplateSpecializationType>(TSI->getType())) | ||||
Args = TST->template_arguments(); | Args = TST->template_arguments(); | ||||
▲ Show 20 Lines • Show All 801 Lines • Show Last 20 Lines |