@@ -1693,9 +1693,7 @@ class ObjCBridgedCastExpr final
16931693// / be used in the condition of an \c if, but it is also usable as top level
16941694// / expressions.
16951695// /
1696- class ObjCAvailabilityCheckExpr final
1697- : public Expr,
1698- private llvm::TrailingObjects<ObjCAvailabilityCheckExpr, char > {
1696+ class ObjCAvailabilityCheckExpr : public Expr {
16991697public:
17001698 struct VersionAsWritten {
17011699 // / Platform version canonicalized for use with availability checks.
@@ -1706,46 +1704,21 @@ class ObjCAvailabilityCheckExpr final
17061704
17071705private:
17081706 friend class ASTStmtReader ;
1709- friend llvm::TrailingObjects<ObjCAvailabilityCheckExpr, char >;
17101707
17111708 VersionAsWritten VersionToCheck;
17121709 SourceLocation AtLoc, RParen;
17131710
1714- void setHasDomainName (bool V) {
1715- ObjCAvailabilityCheckExprBits.HasDomainName = V;
1716- }
1717-
1718- ObjCAvailabilityCheckExpr (SourceLocation AtLoc, SourceLocation RParen,
1719- QualType Ty, StringRef DomainName)
1720- : Expr(ObjCAvailabilityCheckExprClass, Ty, VK_PRValue, OK_Ordinary),
1721- VersionToCheck (), AtLoc(AtLoc), RParen(RParen) {
1722- setDependence (ExprDependence::None);
1723- setHasDomainName (true );
1724- strcpy (getTrailingObjects<char >(), DomainName.data ());
1725- }
1726-
17271711public:
17281712 ObjCAvailabilityCheckExpr (VersionAsWritten VersionToCheck,
17291713 SourceLocation AtLoc,
17301714 SourceLocation RParen, QualType Ty)
17311715 : Expr(ObjCAvailabilityCheckExprClass, Ty, VK_PRValue, OK_Ordinary),
17321716 VersionToCheck (VersionToCheck), AtLoc(AtLoc), RParen(RParen) {
17331717 setDependence (ExprDependence::None);
1734- setHasDomainName (false );
17351718 }
17361719
1737- static ObjCAvailabilityCheckExpr *
1738- CreateAvailabilityFeatureCheck (SourceLocation AtLoc, SourceLocation RParen,
1739- QualType Ty, StringRef DomainName,
1740- const ASTContext &C);
1741-
17421720 explicit ObjCAvailabilityCheckExpr (EmptyShell Shell)
1743- : Expr(ObjCAvailabilityCheckExprClass, Shell) {
1744- setHasDomainName (false );
1745- }
1746-
1747- static ObjCAvailabilityCheckExpr *
1748- CreateEmpty (const ASTContext &C, Stmt::EmptyShell Empty, size_t FeaturesLen);
1721+ : Expr(ObjCAvailabilityCheckExprClass, Shell) {}
17491722
17501723 SourceLocation getBeginLoc () const { return AtLoc; }
17511724 SourceLocation getEndLoc () const { return RParen; }
@@ -1758,14 +1731,6 @@ class ObjCAvailabilityCheckExpr final
17581731 return VersionToCheck.SourceVersion ;
17591732 }
17601733
1761- bool hasDomainName () const {
1762- return ObjCAvailabilityCheckExprBits.HasDomainName ;
1763- }
1764- StringRef getDomainName () const {
1765- assert (hasDomainName ());
1766- return getTrailingObjects<char >();
1767- }
1768-
17691734 child_range children () {
17701735 return child_range (child_iterator (), child_iterator ());
17711736 }
0 commit comments