@@ -246,14 +246,6 @@ class alignas(8) Expr {
246246 enum { NumOverloadSetRefExprBits = NumExprBits };
247247 static_assert (NumOverloadSetRefExprBits <= 32 , " fits in an unsigned" );
248248
249- class OverloadedMemberRefExprBitfields {
250- friend class OverloadedMemberRefExpr ;
251- unsigned : NumOverloadSetRefExprBits;
252- unsigned Semantics : 2 ; // an AccessSemantics
253- };
254- enum { NumOverloadedMemberRefExprBits = NumOverloadSetRefExprBits + 2 };
255- static_assert (NumOverloadedMemberRefExprBits <= 32 , " fits in an unsigned" );
256-
257249 class BooleanLiteralExprBitfields {
258250 friend class BooleanLiteralExpr ;
259251 unsigned : NumLiteralExprBits;
@@ -412,7 +404,6 @@ class alignas(8) Expr {
412404 DynamicSubscriptExprBitfields DynamicSubscriptExprBits;
413405 UnresolvedMemberExprBitfields UnresolvedMemberExprBits;
414406 OverloadSetRefExprBitfields OverloadSetRefExprBits;
415- OverloadedMemberRefExprBitfields OverloadedMemberRefExprBits;
416407 BooleanLiteralExprBitfields BooleanLiteralExprBits;
417408 MagicIdentifierLiteralExprBitfields MagicIdentifierLiteralExprBits;
418409 ObjectLiteralExprBitfields ObjectLiteralExprBits;
@@ -1422,45 +1413,6 @@ class OverloadedDeclRefExpr : public OverloadSetRefExpr {
14221413 }
14231414};
14241415
1425- // / OverloadedMemberRefExpr - A reference to an overloaded name that is a
1426- // / member, relative to some base expression, that will eventually be
1427- // / resolved to some kind of member-reference expression.
1428- class OverloadedMemberRefExpr : public OverloadSetRefExpr {
1429- Expr *SubExpr;
1430- SourceLoc DotLoc;
1431- DeclNameLoc MemberLoc;
1432-
1433- public:
1434- OverloadedMemberRefExpr (Expr *SubExpr, SourceLoc DotLoc,
1435- ArrayRef<ValueDecl *> Decls, DeclNameLoc MemberLoc,
1436- bool Implicit, Type Ty = Type(),
1437- AccessSemantics semantics = AccessSemantics::Ordinary)
1438- : OverloadSetRefExpr(ExprKind::OverloadedMemberRef, Decls, Implicit, Ty),
1439- SubExpr (SubExpr), DotLoc(DotLoc), MemberLoc(MemberLoc) {
1440- OverloadedMemberRefExprBits.Semantics = unsigned (semantics);
1441- }
1442-
1443- SourceLoc getDotLoc () const { return DotLoc; }
1444- DeclNameLoc getMemberLoc () const { return MemberLoc; }
1445- Expr *getBase () const { return SubExpr; }
1446- void setBase (Expr *E) { SubExpr = E; }
1447-
1448- SourceLoc getLoc () const { return MemberLoc.getBaseNameLoc (); }
1449- SourceLoc getStartLoc () const {
1450- return DotLoc.isValid ()? SubExpr->getStartLoc ()
1451- : MemberLoc.getBaseNameLoc ();
1452- }
1453- SourceLoc getEndLoc () const { return MemberLoc.getSourceRange ().End ; }
1454-
1455- AccessSemantics getAccessSemantics () const {
1456- return AccessSemantics (OverloadedMemberRefExprBits.Semantics );
1457- }
1458-
1459- static bool classof (const Expr *E) {
1460- return E->getKind () == ExprKind::OverloadedMemberRef;
1461- }
1462- };
1463-
14641416// / UnresolvedDeclRefExpr - This represents use of an undeclared identifier,
14651417// / which may ultimately be a use of something that hasn't been defined yet, it
14661418// / may be a use of something that got imported (which will be resolved during
0 commit comments