@@ -768,16 +768,34 @@ class Parser {
768
768
bool parseDeclAttributeList (DeclAttributes &Attributes,
769
769
bool &FoundCodeCompletionToken);
770
770
771
- // / Parse the optional modifiers before a declaration.
771
+ // / Parse the optional modifiers before a declaration.
772
772
bool parseDeclModifierList (DeclAttributes &Attributes, SourceLoc &StaticLoc,
773
773
StaticSpellingKind &StaticSpelling);
774
774
775
+ // / Parse an availability attribute of the form
776
+ // / @available(*, introduced: 1.0, deprecated: 3.1).
777
+ // / \return \p nullptr if the platform name is invalid
778
+ ParserResult<AvailableAttr>
779
+ parseExtendedAvailabilitySpecList (SourceLoc AtLoc, SourceLoc AttrLoc,
780
+ StringRef AttrName);
781
+
782
+ // / Parse the Objective-C selector inside @objc
783
+ void parseObjCSelector (SmallVector<Identifier, 4 > &Names,
784
+ SmallVector<SourceLoc, 4 > &NameLocs,
785
+ bool &IsNullarySelector);
786
+
775
787
// / Parse the @_specialize attribute.
776
788
// / \p closingBrace is the expected closing brace, which can be either ) or ]
777
789
// / \p Attr is where to store the parsed attribute
778
790
bool parseSpecializeAttribute (swift::tok ClosingBrace, SourceLoc AtLoc,
779
791
SourceLoc Loc, SpecializeAttr *&Attr);
780
792
793
+ // / Parse the arguments inside the @_specialize attribute
794
+ bool parseSpecializeAttributeArguments (
795
+ swift::tok ClosingBrace, bool &DiscardAttribute, Optional<bool > &Exported,
796
+ Optional<SpecializeAttr::SpecializationKind> &Kind,
797
+ TrailingWhereClause *&TrailingWhereClause);
798
+
781
799
// / Parse the @_implements attribute.
782
800
// / \p Attr is where to store the parsed attribute
783
801
ParserResult<ImplementsAttr> parseImplementsAttribute (SourceLoc AtLoc,
0 commit comments