Skip to content

Commit 9c35b08

Browse files
committed
Preprocessor metaprogramming for macro role deserialization
1 parent 35222e1 commit 9c35b08

File tree

1 file changed

+4
-13
lines changed

1 file changed

+4
-13
lines changed

lib/Serialization/Deserialization.cpp

Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2981,19 +2981,10 @@ getActualDifferentiabilityKind(uint8_t diffKind) {
29812981

29822982
static llvm::Optional<swift::MacroRole> getActualMacroRole(uint8_t context) {
29832983
switch (context) {
2984-
#define CASE(THE_DK) \
2985-
case (uint8_t)serialization::MacroRole::THE_DK: \
2986-
return swift::MacroRole::THE_DK;
2987-
CASE(Expression)
2988-
CASE(Declaration)
2989-
CASE(Accessor)
2990-
CASE(MemberAttribute)
2991-
CASE(Member)
2992-
CASE(Peer)
2993-
CASE(Conformance)
2994-
CASE(CodeItem)
2995-
CASE(Extension)
2996-
#undef CASE
2984+
#define MACRO_ROLE(Name, Description) \
2985+
case (uint8_t)serialization::MacroRole::Name: \
2986+
return swift::MacroRole::Name;
2987+
#include "swift/Basic/MacroRoles.def"
29972988
}
29982989
return llvm::None;
29992990
}

0 commit comments

Comments
 (0)