mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[Macros] Expand conformance macros as extension macros.
ConformanceMacro now refines ExtensionMacro, so these roles can share the same expansion request.
This commit is contained in:
@@ -8673,15 +8673,8 @@ getMacroExpansionBuffers(MacroDecl *macro, const CustomAttr *attr, Decl *decl) {
|
||||
allBufferIDs.append(bufferIDs.begin(), bufferIDs.end());
|
||||
}
|
||||
|
||||
if (roles.contains(MacroRole::Conformance)) {
|
||||
if (auto nominal = dyn_cast<NominalTypeDecl>(decl)) {
|
||||
auto bufferIDs = evaluateOrDefault(
|
||||
ctx.evaluator, ExpandConformanceMacros{nominal}, { });
|
||||
allBufferIDs.append(bufferIDs.begin(), bufferIDs.end());
|
||||
}
|
||||
}
|
||||
|
||||
if (roles.contains(MacroRole::Extension)) {
|
||||
if (roles.contains(MacroRole::Conformance) ||
|
||||
roles.contains(MacroRole::Extension)) {
|
||||
if (auto nominal = dyn_cast<NominalTypeDecl>(decl)) {
|
||||
auto bufferIDs = evaluateOrDefault(
|
||||
ctx.evaluator, ExpandExtensionMacros{nominal}, { });
|
||||
|
||||
Reference in New Issue
Block a user