2626#include " swift/AST/GenericEnvironment.h"
2727#include " swift/AST/GenericSignature.h"
2828#include " swift/AST/Initializer.h"
29+ #include " swift/AST/MacroDiscriminatorContext.h"
2930#include " swift/AST/Module.h"
3031#include " swift/AST/ParameterList.h"
3132#include " swift/AST/Pattern.h"
@@ -233,7 +234,8 @@ class Verifier : public ASTWalker {
233234 ClosureDiscriminators;
234235 DeclContext *CanonicalTopLevelSubcontext = nullptr ;
235236
236- typedef std::pair<DeclContext *, Identifier> MacroExpansionDiscriminatorKey;
237+ typedef std::pair</* MacroDiscriminatorContext*/ const void *, Identifier>
238+ MacroExpansionDiscriminatorKey;
237239 llvm::DenseMap<MacroExpansionDiscriminatorKey, SmallBitVector>
238240 MacroExpansionDiscriminators;
239241
@@ -2410,9 +2412,8 @@ class Verifier : public ASTWalker {
24102412 }
24112413
24122414 void verifyChecked (MacroExpansionExpr *expansion) {
2413- auto dc = getCanonicalDeclContext (expansion->getDeclContext ());
24142415 MacroExpansionDiscriminatorKey key{
2415- dc ,
2416+ MacroDiscriminatorContext::getParentOf (expansion). getOpaqueValue () ,
24162417 expansion->getMacroName ().getBaseName ().getIdentifier ()
24172418 };
24182419 auto &discriminatorSet = MacroExpansionDiscriminators[key];
@@ -2433,9 +2434,8 @@ class Verifier : public ASTWalker {
24332434 }
24342435
24352436 void verifyChecked (MacroExpansionDecl *expansion) {
2436- auto dc = getCanonicalDeclContext (expansion->getDeclContext ());
24372437 MacroExpansionDiscriminatorKey key{
2438- dc ,
2438+ MacroDiscriminatorContext::getParentOf (expansion). getOpaqueValue () ,
24392439 expansion->getMacroName ().getBaseName ().getIdentifier ()
24402440 };
24412441 auto &discriminatorSet = MacroExpansionDiscriminators[key];
0 commit comments