Skip to content

Commit 2a1b985

Browse files
committed
AST: PrettyStackTraceConformance doesn't need to take the ASTContext
1 parent 4769f21 commit 2a1b985

File tree

8 files changed

+10
-16
lines changed

8 files changed

+10
-16
lines changed

include/swift/AST/PrettyStackTrace.h

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -167,13 +167,12 @@ class PrettyStackTraceTypeRepr : public llvm::PrettyStackTraceEntry {
167167
/// PrettyStackTraceConformance - Observe that we are processing a
168168
/// specific protocol conformance.
169169
class PrettyStackTraceConformance : public llvm::PrettyStackTraceEntry {
170-
const ASTContext &Context;
171170
const ProtocolConformance *Conformance;
172171
const char *Action;
173172
public:
174-
PrettyStackTraceConformance(const ASTContext &C, const char *action,
173+
PrettyStackTraceConformance(const char *action,
175174
const ProtocolConformance *conformance)
176-
: Context(C), Conformance(conformance), Action(action) {}
175+
: Conformance(conformance), Action(action) {}
177176
virtual void print(llvm::raw_ostream &OS) const override;
178177
};
179178

lib/AST/PrettyStackTrace.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -232,6 +232,7 @@ void PrettyStackTraceTypeRepr::print(llvm::raw_ostream &out) const {
232232

233233
void PrettyStackTraceConformance::print(llvm::raw_ostream &out) const {
234234
out << "While " << Action << ' ';
235+
auto &Context = Conformance->getDeclContext()->getASTContext();
235236
printConformanceDescription(out, Conformance, Context);
236237
}
237238

lib/ClangImporter/ImportDecl.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8539,8 +8539,7 @@ void ClangImporter::Implementation::finishNormalConformance(
85398539
(void)unused;
85408540

85418541
auto *proto = conformance->getProtocol();
8542-
PrettyStackTraceConformance trace(SwiftContext, "completing import of",
8543-
conformance);
8542+
PrettyStackTraceConformance trace("completing import of", conformance);
85448543

85458544
finishTypeWitnesses(conformance);
85468545
conformance->finishSignatureConformances();

lib/IRGen/GenProto.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2147,7 +2147,7 @@ void IRGenModule::emitSILWitnessTable(SILWitnessTable *wt) {
21472147
IRGen.ensureRelativeSymbolCollocation(*wt);
21482148

21492149
auto conf = wt->getConformance();
2150-
PrettyStackTraceConformance _st(Context, "emitting witness table for", conf);
2150+
PrettyStackTraceConformance _st("emitting witness table for", conf);
21512151

21522152
unsigned tableSize = 0;
21532153
llvm::GlobalVariable *global = nullptr;

lib/SILGen/SILGenType.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -498,8 +498,7 @@ class SILGenConformance : public SILGenWitnessTable<SILGenConformance> {
498498
if (!Conformance)
499499
return nullptr;
500500

501-
PrettyStackTraceConformance trace(SGM.getASTContext(),
502-
"generating SIL witness table",
501+
PrettyStackTraceConformance trace("generating SIL witness table",
503502
Conformance);
504503

505504
auto *proto = Conformance->getProtocol();
@@ -886,8 +885,7 @@ class SILGenSelfConformanceWitnessTable
886885
}
887886

888887
void emit() {
889-
PrettyStackTraceConformance trace(SGM.getASTContext(),
890-
"generating SIL witness table",
888+
PrettyStackTraceConformance trace("generating SIL witness table",
891889
conformance);
892890

893891
// Add entries for all the requirements.

lib/Sema/TypeCheckProtocol.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1813,8 +1813,7 @@ static void diagnoseConformanceImpliedByConditionalConformance(
18131813
ProtocolConformance *MultiConformanceChecker::
18141814
checkIndividualConformance(NormalProtocolConformance *conformance,
18151815
bool issueFixit) {
1816-
PrettyStackTraceConformance trace(getASTContext(), "type-checking",
1817-
conformance);
1816+
PrettyStackTraceConformance trace("type-checking", conformance);
18181817

18191818
std::vector<MissingWitness> revivedMissingWitnesses;
18201819
switch (conformance->getState()) {

lib/Serialization/Deserialization.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6209,8 +6209,7 @@ void ModuleFile::finishNormalConformance(NormalProtocolConformance *conformance,
62096209
using namespace decls_block;
62106210

62116211
PrettyStackTraceModuleFile traceModule("While reading from", *this);
6212-
PrettyStackTraceConformance trace(getAssociatedModule()->getASTContext(),
6213-
"finishing conformance for",
6212+
PrettyStackTraceConformance trace("finishing conformance for",
62146213
conformance);
62156214
++NumNormalProtocolConformancesCompleted;
62166215

lib/Serialization/DeserializeSIL.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3437,8 +3437,7 @@ llvm::Expected<SILWitnessTable *>
34373437
auto theConformance = cast<RootProtocolConformance>(
34383438
maybeConformance.get().getConcrete());
34393439

3440-
PrettyStackTraceConformance trace(SILMod.getASTContext(),
3441-
"deserializing SIL witness table for",
3440+
PrettyStackTraceConformance trace("deserializing SIL witness table for",
34423441
theConformance);
34433442

34443443
if (!existingWt)

0 commit comments

Comments
 (0)