26
26
#include " swift/AST/GenericEnvironment.h"
27
27
#include " swift/AST/GenericSignature.h"
28
28
#include " swift/AST/Initializer.h"
29
+ #include " swift/AST/MacroDiscriminatorContext.h"
29
30
#include " swift/AST/Module.h"
30
31
#include " swift/AST/ParameterList.h"
31
32
#include " swift/AST/Pattern.h"
@@ -233,7 +234,8 @@ class Verifier : public ASTWalker {
233
234
ClosureDiscriminators;
234
235
DeclContext *CanonicalTopLevelSubcontext = nullptr ;
235
236
236
- typedef std::pair<DeclContext *, Identifier> MacroExpansionDiscriminatorKey;
237
+ typedef std::pair</* MacroDiscriminatorContext*/ const void *, Identifier>
238
+ MacroExpansionDiscriminatorKey;
237
239
llvm::DenseMap<MacroExpansionDiscriminatorKey, SmallBitVector>
238
240
MacroExpansionDiscriminators;
239
241
@@ -2410,9 +2412,8 @@ class Verifier : public ASTWalker {
2410
2412
}
2411
2413
2412
2414
void verifyChecked (MacroExpansionExpr *expansion) {
2413
- auto dc = getCanonicalDeclContext (expansion->getDeclContext ());
2414
2415
MacroExpansionDiscriminatorKey key{
2415
- dc ,
2416
+ MacroDiscriminatorContext::getParentOf (expansion). getOpaqueValue () ,
2416
2417
expansion->getMacroName ().getBaseName ().getIdentifier ()
2417
2418
};
2418
2419
auto &discriminatorSet = MacroExpansionDiscriminators[key];
@@ -2433,9 +2434,8 @@ class Verifier : public ASTWalker {
2433
2434
}
2434
2435
2435
2436
void verifyChecked (MacroExpansionDecl *expansion) {
2436
- auto dc = getCanonicalDeclContext (expansion->getDeclContext ());
2437
2437
MacroExpansionDiscriminatorKey key{
2438
- dc ,
2438
+ MacroDiscriminatorContext::getParentOf (expansion). getOpaqueValue () ,
2439
2439
expansion->getMacroName ().getBaseName ().getIdentifier ()
2440
2440
};
2441
2441
auto &discriminatorSet = MacroExpansionDiscriminators[key];
0 commit comments