1616
1717#include " swift/AST/ExistentialLayout.h"
1818#include " swift/AST/Module.h"
19+ #include " swift/AST/PrettyStackTrace.h"
1920#include " swift/AST/ProtocolConformance.h"
2021#include " swift/AST/SwiftNameTranslation.h"
2122#include " swift/AST/TypeDeclFinder.h"
@@ -235,6 +236,8 @@ class ModuleWriter {
235236 }
236237
237238 bool forwardDeclareMemberTypes (DeclRange members, const Decl *container) {
239+ PrettyStackTraceDecl
240+ entry (" printing forward declarations needed by members of" , container);
238241 switch (container->getKind ()) {
239242 case DeclKind::Class:
240243 case DeclKind::Protocol:
@@ -247,6 +250,7 @@ class ModuleWriter {
247250 bool hadAnyDelayedMembers = false ;
248251 SmallVector<ValueDecl *, 4 > nestedTypes;
249252 for (auto member : members) {
253+ PrettyStackTraceDecl loopEntry (" printing for member" , member);
250254 auto VD = dyn_cast<ValueDecl>(member);
251255 if (!VD || !printer.shouldInclude (VD))
252256 continue ;
@@ -269,6 +273,8 @@ class ModuleWriter {
269273 ReferencedTypeFinder::walk (VD->getInterfaceType (),
270274 [&](ReferencedTypeFinder &finder,
271275 const TypeDecl *TD) {
276+ PrettyStackTraceDecl
277+ entry (" walking its interface type, currently at" , TD);
272278 if (TD == container)
273279 return ;
274280
0 commit comments