mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
[AST] Simplify construction of EnumElementPattern
Add `EnumElementPattern::create` and `EnumElementPattern::createImplicit`, and replace existing constructions with them.
This commit is contained in:
@@ -214,12 +214,9 @@ deriveBodyCodingKey_enum_stringValue(AbstractFunctionDecl *strValDecl, void *) {
|
||||
} else {
|
||||
SmallVector<ASTNode, 4> cases;
|
||||
for (auto *elt : elements) {
|
||||
auto *baseTE = TypeExpr::createImplicit(enumType, C);
|
||||
auto *pat = new (C) EnumElementPattern(baseTE, SourceLoc(), DeclNameLoc(),
|
||||
DeclNameRef(), elt, nullptr,
|
||||
/*DC*/ strValDecl);
|
||||
pat->setImplicit();
|
||||
|
||||
auto *pat = EnumElementPattern::createImplicit(enumType, elt,
|
||||
/*subPattern*/ nullptr,
|
||||
/*DC*/ strValDecl);
|
||||
auto labelItem = CaseLabelItem(pat);
|
||||
|
||||
auto *caseValue = new (C) StringLiteralExpr(elt->getNameStr(),
|
||||
|
||||
Reference in New Issue
Block a user