Skip to content

Commit a15dbce

Browse files
authored
Merge pull request swiftlang#31491 from AnthonyLatsis/debug-gen-sigs
Sema: Make -debug-generic-signatures output legible
2 parents 2788747 + 532b632 commit a15dbce

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

lib/Sema/TypeCheckDeclPrimary.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2056,6 +2056,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
20562056
GenericSignature::get({PD->getProtocolSelfType()},
20572057
PD->getRequirementSignature());
20582058

2059+
llvm::errs() << "\n";
20592060
llvm::errs() << "Protocol requirement signature:\n";
20602061
PD->dumpRef(llvm::errs());
20612062
llvm::errs() << "\n";

lib/Sema/TypeCheckGeneric.cpp

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -467,12 +467,13 @@ GenericSignature TypeChecker::checkGenericSignature(
467467
// Debugging of the generic signature builder and generic signature
468468
// generation.
469469
if (dc->getASTContext().TypeCheckerOpts.DebugGenericSignatures) {
470+
llvm::errs() << "\n";
470471
if (auto *VD = dyn_cast_or_null<ValueDecl>(dc->getAsDecl())) {
471472
VD->dumpRef(llvm::errs());
473+
llvm::errs() << "\n";
472474
} else {
473475
dc->printContext(llvm::errs());
474476
}
475-
llvm::errs() << "\n";
476477
llvm::errs() << "Generic signature: ";
477478
sig->print(llvm::errs());
478479
llvm::errs() << "\n";
@@ -589,8 +590,8 @@ GenericSignatureRequest::evaluate(Evaluator &evaluator,
589590
// Debugging of the generic signature builder and generic signature
590591
// generation.
591592
if (GC->getASTContext().TypeCheckerOpts.DebugGenericSignatures) {
592-
PD->printContext(llvm::errs());
593593
llvm::errs() << "\n";
594+
PD->printContext(llvm::errs());
594595
llvm::errs() << "Generic signature: ";
595596
sig->print(llvm::errs());
596597
llvm::errs() << "\n";

lib/Sema/TypeCheckProtocol.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5087,12 +5087,15 @@ void TypeChecker::checkConformancesInContext(DeclContext *dc,
50875087
// Check all conformances.
50885088
groupChecker.checkAllConformances();
50895089

5090-
if (Context.TypeCheckerOpts.DebugGenericSignatures) {
5090+
if (Context.TypeCheckerOpts.DebugGenericSignatures &&
5091+
!conformances.empty()) {
50915092
// Now that they're filled out, print out information about the conformances
50925093
// here, when requested.
5094+
llvm::errs() << "\n";
5095+
dc->printContext(llvm::errs());
50935096
for (auto conformance : conformances) {
5094-
dc->printContext(llvm::errs());
50955097
conformance->dump(llvm::errs());
5098+
llvm::errs() << "\n";
50965099
}
50975100
}
50985101

0 commit comments

Comments
 (0)