Skip to content

Commit 112a8d0

Browse files
committed
AST: simple_display() for AccessorKind
1 parent 9f319e5 commit 112a8d0

File tree

3 files changed

+20
-13
lines changed

3 files changed

+20
-13
lines changed

include/swift/AST/StorageImpl.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,9 @@ class StorageImplInfo {
383383
}
384384
};
385385

386+
StringRef getAccessorLabel(AccessorKind kind);
387+
void simple_display(llvm::raw_ostream &out, AccessorKind kind);
388+
386389
} // end namespace swift
387390

388391
#endif

lib/AST/ASTPrinter.cpp

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1704,16 +1704,6 @@ void PrintAST::printBodyIfNecessary(const AbstractFunctionDecl *decl) {
17041704
printBraceStmt(decl->getBody(), /*newlineIfEmpty*/!isa<AccessorDecl>(decl));
17051705
}
17061706

1707-
static StringRef getAccessorLabel(AccessorDecl *accessor) {
1708-
switch (accessor->getAccessorKind()) {
1709-
#define SINGLETON_ACCESSOR(ID, KEYWORD) \
1710-
case AccessorKind::ID: return #KEYWORD;
1711-
#define ACCESSOR(ID)
1712-
#include "swift/AST/AccessorKinds.def"
1713-
}
1714-
llvm_unreachable("bad accessor kind");
1715-
}
1716-
17171707
void PrintAST::printMutatingModifiersIfNeeded(const AccessorDecl *accessor) {
17181708
if (accessor->isAssumedNonMutating() && accessor->isMutating()) {
17191709
Printer.printKeyword("mutating", Options, " ");
@@ -1830,7 +1820,7 @@ void PrintAST::printAccessors(const AbstractStorageDecl *ASD) {
18301820
if (!PrintAccessorBody) {
18311821
Printer << " ";
18321822
printMutatingModifiersIfNeeded(Accessor);
1833-
Printer.printKeyword(getAccessorLabel(Accessor), Options);
1823+
Printer.printKeyword(getAccessorLabel(Accessor->getAccessorKind()), Options);
18341824
} else {
18351825
{
18361826
IndentRAII IndentMore(*this);
@@ -2719,14 +2709,14 @@ void PrintAST::visitAccessorDecl(AccessorDecl *decl) {
27192709
case AccessorKind::MutableAddress:
27202710
recordDeclLoc(decl,
27212711
[&]{
2722-
Printer << getAccessorLabel(decl);
2712+
Printer << getAccessorLabel(decl->getAccessorKind());
27232713
});
27242714
break;
27252715
case AccessorKind::Set:
27262716
case AccessorKind::WillSet:
27272717
recordDeclLoc(decl,
27282718
[&]{
2729-
Printer << getAccessorLabel(decl);
2719+
Printer << getAccessorLabel(decl->getAccessorKind());
27302720

27312721
auto params = decl->getParameters();
27322722
if (params->size() != 0 && !params->get(0)->isImplicit()) {

lib/AST/Decl.cpp

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7519,6 +7519,20 @@ void swift::simple_display(llvm::raw_ostream &out, const ValueDecl *decl) {
75197519
else out << "(null)";
75207520
}
75217521

7522+
StringRef swift::getAccessorLabel(AccessorKind kind) {
7523+
switch (kind) {
7524+
#define SINGLETON_ACCESSOR(ID, KEYWORD) \
7525+
case AccessorKind::ID: return #KEYWORD;
7526+
#define ACCESSOR(ID)
7527+
#include "swift/AST/AccessorKinds.def"
7528+
}
7529+
llvm_unreachable("bad accessor kind");
7530+
}
7531+
7532+
void swift::simple_display(llvm::raw_ostream &out, AccessorKind kind) {
7533+
out << getAccessorLabel(kind);
7534+
}
7535+
75227536
SourceLoc swift::extractNearestSourceLoc(const Decl *decl) {
75237537
auto loc = decl->getLoc();
75247538
if (loc.isValid())

0 commit comments

Comments
 (0)