SimpleInit = Init;
if (SimpleInit)
- SimpleInit->printPretty(Out, nullptr, Policy, Indentation);
+ SimpleInit->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
else {
for (unsigned I = 0; I != NumArgs; ++I) {
assert(Args[I] != nullptr && "Expected non-null Expr");
if (I)
Out << ", ";
- Args[I]->printPretty(Out, nullptr, Policy, Indentation);
+ Args[I]->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
}
}
}
}
static void printExplicitSpecifier(ExplicitSpecifier ES, llvm::raw_ostream &Out,
- PrintingPolicy &Policy,
- unsigned Indentation) {
+ PrintingPolicy &Policy, unsigned Indentation,
+ const ASTContext &Context) {
std::string Proto = "explicit";
llvm::raw_string_ostream EOut(Proto);
if (ES.getExpr()) {
EOut << "(";
- ES.getExpr()->printPretty(EOut, nullptr, Policy, Indentation);
+ ES.getExpr()->printPretty(EOut, nullptr, Policy, Indentation, "\n",
+ &Context);
EOut << ")";
}
EOut << " ";
if (D->isConsteval()) Out << "consteval ";
ExplicitSpecifier ExplicitSpec = ExplicitSpecifier::getFromDecl(D);
if (ExplicitSpec.isSpecified())
- printExplicitSpecifier(ExplicitSpec, Out, Policy, Indentation);
+ printExplicitSpecifier(ExplicitSpec, Out, Policy, Indentation, Context);
}
PrintingPolicy SubPolicy(Policy);
Proto += "(";
llvm::raw_string_ostream EOut(Proto);
FT->getNoexceptExpr()->printPretty(EOut, nullptr, SubPolicy,
- Indentation);
+ Indentation, "\n", &Context);
EOut.flush();
Proto += EOut.str();
Proto += ")";
if (Expr *TrailingRequiresClause = D->getTrailingRequiresClause()) {
Out << " requires ";
- TrailingRequiresClause->printPretty(Out, nullptr, SubPolicy, Indentation);
+ TrailingRequiresClause->printPretty(Out, nullptr, SubPolicy, Indentation,
+ "\n", &Context);
}
} else {
Ty.print(Out, Policy, Proto);
Out << ' ';
if (D->getBody())
- D->getBody()->printPretty(Out, nullptr, SubPolicy, Indentation);
+ D->getBody()->printPretty(Out, nullptr, SubPolicy, Indentation, "\n",
+ &Context);
} else {
if (!Policy.TerseOutput && isa<CXXConstructorDecl>(*D))
Out << " {}";
if (D->isBitField()) {
Out << " : ";
- D->getBitWidth()->printPretty(Out, nullptr, Policy, Indentation);
+ D->getBitWidth()->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
}
Expr *Init = D->getInClassInitializer();
Out << " ";
else
Out << " = ";
- Init->printPretty(Out, nullptr, Policy, Indentation);
+ Init->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context);
}
prettyPrintAttributes(D);
}
PrintingPolicy SubPolicy(Policy);
SubPolicy.SuppressSpecifiers = false;
SubPolicy.IncludeTagDefinition = false;
- Init->printPretty(Out, nullptr, SubPolicy, Indentation);
+ Init->printPretty(Out, nullptr, SubPolicy, Indentation, "\n", &Context);
if ((D->getInitStyle() == VarDecl::CallInit) && !isa<ParenListExpr>(Init))
Out << ")";
}
void DeclPrinter::VisitFileScopeAsmDecl(FileScopeAsmDecl *D) {
Out << "__asm (";
- D->getAsmString()->printPretty(Out, nullptr, Policy, Indentation);
+ D->getAsmString()->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
Out << ")";
}
void DeclPrinter::VisitStaticAssertDecl(StaticAssertDecl *D) {
Out << "static_assert(";
- D->getAssertExpr()->printPretty(Out, nullptr, Policy, Indentation);
+ D->getAssertExpr()->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
if (StringLiteral *SL = D->getMessage()) {
Out << ", ";
- SL->printPretty(Out, nullptr, Policy, Indentation);
+ SL->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context);
}
Out << ")";
}
Visit(TD);
else if (const auto *Concept = dyn_cast<ConceptDecl>(D)) {
Out << "concept " << Concept->getName() << " = " ;
- Concept->getConstraintExpr()->printPretty(Out, nullptr, Policy,
- Indentation);
+ Concept->getConstraintExpr()->printPretty(Out, nullptr, Policy, Indentation,
+ "\n", &Context);
Out << ";";
}
}
if (OMD->getBody() && !Policy.TerseOutput) {
Out << ' ';
- OMD->getBody()->printPretty(Out, nullptr, Policy);
+ OMD->getBody()->printPretty(Out, nullptr, Policy, Indentation, "\n",
+ &Context);
}
else if (Policy.PolishForDeclaration)
Out << ';';
Out << " : ";
D->getType().print(Out, Policy);
Out << " : ";
- D->getCombiner()->printPretty(Out, nullptr, Policy, 0);
+ D->getCombiner()->printPretty(Out, nullptr, Policy, 0, "\n", &Context);
Out << ")";
if (auto *Init = D->getInitializer()) {
Out << " initializer(";
case OMPDeclareReductionDecl::CallInit:
break;
}
- Init->printPretty(Out, nullptr, Policy, 0);
+ Init->printPretty(Out, nullptr, Policy, 0, "\n", &Context);
if (D->getInitializerKind() == OMPDeclareReductionDecl::DirectInit)
Out << ")";
Out << ")";
}
void DeclPrinter::VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D) {
- D->getInit()->printPretty(Out, nullptr, Policy, Indentation);
+ D->getInit()->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context);
}
void DeclPrinter::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *TTP) {
if (NTTP->hasDefaultArgument()) {
Out << " = ";
- NTTP->getDefaultArgument()->printPretty(Out, nullptr, Policy, Indentation);
+ NTTP->getDefaultArgument()->printPretty(Out, nullptr, Policy, Indentation,
+ "\n", &Context);
}
}