16
16
17
17
#include " swift/AST/ExistentialLayout.h"
18
18
#include " swift/AST/Module.h"
19
+ #include " swift/AST/PrettyStackTrace.h"
19
20
#include " swift/AST/ProtocolConformance.h"
20
21
#include " swift/AST/SwiftNameTranslation.h"
21
22
#include " swift/AST/TypeDeclFinder.h"
@@ -235,6 +236,8 @@ class ModuleWriter {
235
236
}
236
237
237
238
bool forwardDeclareMemberTypes (DeclRange members, const Decl *container) {
239
+ PrettyStackTraceDecl
240
+ entry (" printing forward declarations needed by members of" , container);
238
241
switch (container->getKind ()) {
239
242
case DeclKind::Class:
240
243
case DeclKind::Protocol:
@@ -247,6 +250,7 @@ class ModuleWriter {
247
250
bool hadAnyDelayedMembers = false ;
248
251
SmallVector<ValueDecl *, 4 > nestedTypes;
249
252
for (auto member : members) {
253
+ PrettyStackTraceDecl loopEntry (" printing for member" , member);
250
254
auto VD = dyn_cast<ValueDecl>(member);
251
255
if (!VD || !printer.shouldInclude (VD))
252
256
continue ;
@@ -269,6 +273,8 @@ class ModuleWriter {
269
273
ReferencedTypeFinder::walk (VD->getInterfaceType (),
270
274
[&](ReferencedTypeFinder &finder,
271
275
const TypeDecl *TD) {
276
+ PrettyStackTraceDecl
277
+ entry (" walking its interface type, currently at" , TD);
272
278
if (TD == container)
273
279
return ;
274
280
0 commit comments