Skip to content

Commit 4e6352d

Browse files
committed
Sema: Handle bogus DeclNameRefs in translateExprToDeclRefTypeRepr()
1 parent a3444a0 commit 4e6352d

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

lib/Sema/TypeCheckPattern.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -221,6 +221,11 @@ static DeclRefTypeRepr *translateExprToDeclRefTypeRepr(Expr *E, ASTContext &C) {
221221
}
222222

223223
DeclRefTypeRepr *visitUnresolvedDeclRefExpr(UnresolvedDeclRefExpr *udre) {
224+
if (!udre->getName().isSimpleName() ||
225+
udre->getName().isOperator() ||
226+
udre->getName().isSpecial())
227+
return nullptr;
228+
224229
return UnqualifiedIdentTypeRepr::create(C, udre->getNameLoc(),
225230
udre->getName());
226231
}
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
// {"signature":"swift::DeclRefTypeRepr::overwriteNameRef(swift::DeclNameRef)"}
2-
// RUN: not --crash %target-swift-frontend -typecheck %s
2+
// RUN: not %target-swift-frontend -typecheck %s
33
switch { case init(

0 commit comments

Comments
 (0)