Skip to content

Commit 87c7387

Browse files
committed
Swift: add explanation to getExtensionIndex
1 parent 826d7c7 commit 87c7387

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

swift/extractor/mangler/SwiftMangler.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,10 @@ SwiftMangledName SwiftMangler::visitExtensionDecl(const swift::ExtensionDecl* de
103103

104104
unsigned SwiftMangler::getExtensionIndex(const swift::ExtensionDecl* decl,
105105
const swift::Decl* parent) {
106+
// to avoid iterating multiple times on the parent of multiple extensions, we preload extension
107+
// indexes once for each encountered parent into the `preloadedExtensionIndexes` mapping.
108+
// Because we mangle declarations only once in a given trap/dispatcher context, we can safely
109+
// discard preloaded indexes on use
106110
if (auto found = preloadedExtensionIndexes.extract(decl)) {
107111
return found.mapped();
108112
}

0 commit comments

Comments
 (0)