Skip to content

Commit 6c99bda

Browse files
committed
[NFC] Extract helper for making magic identifier strings
1 parent 171e12f commit 6c99bda

File tree

3 files changed

+17
-22
lines changed

3 files changed

+17
-22
lines changed

include/swift/AST/Expr.h

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1049,6 +1049,20 @@ class MagicIdentifierLiteralExpr : public LiteralExpr {
10491049
enum Kind : unsigned {
10501050
File, FilePath, Line, Column, Function, DSOHandle
10511051
};
1052+
1053+
static StringRef getKindString(MagicIdentifierLiteralExpr::Kind value) {
1054+
switch (value) {
1055+
case File: return "#file";
1056+
case FilePath: return "#filePath";
1057+
case Function: return "#function";
1058+
case Line: return "#line";
1059+
case Column: return "#column";
1060+
case DSOHandle: return "#dsohandle";
1061+
}
1062+
1063+
llvm_unreachable("Unhandled MagicIdentifierLiteralExpr in getKindString.");
1064+
}
1065+
10521066
private:
10531067
SourceLoc Loc;
10541068
ConcreteDeclRef BuiltinInitializer;

lib/AST/ASTDumper.cpp

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -314,19 +314,6 @@ static StringRef getDefaultArgumentKindString(DefaultArgumentKind value) {
314314
llvm_unreachable("Unhandled DefaultArgumentKind in switch.");
315315
}
316316
static StringRef
317-
getMagicIdentifierLiteralExprKindString(MagicIdentifierLiteralExpr::Kind value) {
318-
switch (value) {
319-
case MagicIdentifierLiteralExpr::File: return "#file";
320-
case MagicIdentifierLiteralExpr::FilePath: return "#filePath";
321-
case MagicIdentifierLiteralExpr::Function: return "#function";
322-
case MagicIdentifierLiteralExpr::Line: return "#line";
323-
case MagicIdentifierLiteralExpr::Column: return "#column";
324-
case MagicIdentifierLiteralExpr::DSOHandle: return "#dsohandle";
325-
}
326-
327-
llvm_unreachable("Unhandled MagicIdentifierLiteralExpr in switch.");
328-
}
329-
static StringRef
330317
getObjCSelectorExprKindString(ObjCSelectorExpr::ObjCSelectorKind value) {
331318
switch (value) {
332319
case ObjCSelectorExpr::Method: return "method";
@@ -1957,7 +1944,7 @@ class PrintExpr : public ExprVisitor<PrintExpr> {
19571944
}
19581945
void visitMagicIdentifierLiteralExpr(MagicIdentifierLiteralExpr *E) {
19591946
printCommon(E, "magic_identifier_literal_expr")
1960-
<< " kind=" << getMagicIdentifierLiteralExprKindString(E->getKind());
1947+
<< " kind=" << MagicIdentifierLiteralExpr::getKindString(E->getKind());
19611948

19621949
if (E->isString()) {
19631950
OS << " encoding="

lib/Sema/TypeCheckStmt.cpp

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1390,14 +1390,8 @@ static void diagnoseIgnoredLiteral(ASTContext &Ctx, LiteralExpr *LE) {
13901390
case ExprKind::StringLiteral: return "string";
13911391
case ExprKind::InterpolatedStringLiteral: return "string";
13921392
case ExprKind::MagicIdentifierLiteral:
1393-
switch (cast<MagicIdentifierLiteralExpr>(LE)->getKind()) {
1394-
case MagicIdentifierLiteralExpr::Kind::File: return "#file";
1395-
case MagicIdentifierLiteralExpr::Kind::FilePath: return "#filePath";
1396-
case MagicIdentifierLiteralExpr::Kind::Line: return "#line";
1397-
case MagicIdentifierLiteralExpr::Kind::Column: return "#column";
1398-
case MagicIdentifierLiteralExpr::Kind::Function: return "#function";
1399-
case MagicIdentifierLiteralExpr::Kind::DSOHandle: return "#dsohandle";
1400-
}
1393+
return MagicIdentifierLiteralExpr::getKindString(
1394+
cast<MagicIdentifierLiteralExpr>(LE)->getKind());
14011395
case ExprKind::NilLiteral: return "nil";
14021396
case ExprKind::ObjectLiteral: return "object";
14031397

0 commit comments

Comments
 (0)