Lines Matching defs:Attrs
53 ParsedAttributes *Attrs) {
60 if (Attrs)
61 DS.addAttributes(*Attrs);
67 if (Attrs) {
75 Attrs->takeOneFrom(DS.getAttributes(), AL);
134 void Parser::ParseAttributes(unsigned WhichAttrKinds, ParsedAttributes &Attrs,
142 MoreToParse |= MaybeParseCXX11Attributes(Attrs);
144 MoreToParse |= MaybeParseGNUAttributes(Attrs, LateAttrs);
146 MoreToParse |= MaybeParseMicrosoftDeclSpecs(Attrs);
164 bool Parser::ParseSingleGNUAttribute(ParsedAttributes &Attrs,
175 Attrs.addNew(AttrName, AttrNameLoc, nullptr, AttrNameLoc, nullptr, 0,
200 ParseGNUAttributeArgs(AttrName, AttrNameLoc, Attrs, &EndLoc, nullptr,
271 void Parser::ParseGNUAttributes(ParsedAttributes &Attrs,
280 unsigned OldNumAttrs = Attrs.size();
308 if (ParseSingleGNUAttribute(Attrs, EndLoc, LateAttrs, D))
329 for (unsigned i = OldNumAttrs; i < Attrs.size(); ++i)
330 Attrs[i].setMacroIdentifier(MacroII, ExpansionRange.getBegin());
339 Attrs.Range = SourceRange(StartLoc, EndLoc);
444 ParsedAttributes &Attrs,
462 Attrs.addNewTypeAttr(&AttrName,
466 Attrs.addNew(&AttrName, SourceRange(AttrNameLoc, Parens.getCloseLocation()),
552 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
686 Attrs.addNewTypeAttr(AttrName, SourceRange(AttrNameLoc, RParen),
689 Attrs.addNew(AttrName, SourceRange(AttrLoc, RParen), ScopeName, ScopeLoc,
704 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
713 ParseAvailabilityAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc, ScopeName,
717 ParseExternalSourceSymbolAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
721 ParseObjCBridgeRelatedAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
725 ParseSwiftNewTypeAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc, ScopeName,
729 ParseTypeTagForDatatypeAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
733 ParseAttributeWithTypeArg(*AttrName, AttrNameLoc, Attrs, ScopeName,
740 ParseBoundsAttribute(*AttrName, AttrNameLoc, Attrs, ScopeName, ScopeLoc,
744 ParseCXXAssumeAttributeArg(Attrs, AttrName, AttrNameLoc, EndLoc, Form);
763 ParseAttributeArgsCommon(AttrName, AttrNameLoc, Attrs, EndLoc, ScopeName,
769 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
778 return ParseAttributeArgsCommon(AttrName, AttrNameLoc, Attrs, EndLoc,
781 ParseExternalSourceSymbolAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
785 ParseAvailabilityAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc, ScopeName,
789 ParseObjCBridgeRelatedAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
793 ParseSwiftNewTypeAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc, ScopeName,
797 ParseTypeTagForDatatypeAttribute(*AttrName, AttrNameLoc, Attrs, EndLoc,
802 ParseCXXAssumeAttributeArg(Attrs, AttrName, AttrNameLoc, EndLoc, Form);
805 return !Attrs.empty() ? Attrs.begin()->getNumArgs() : 0;
810 ParsedAttributes &Attrs) {
811 unsigned ExistingAttrs = Attrs.size();
932 Attrs.addNewPropertyAttr(AttrName, AttrNameLoc, nullptr, SourceLocation(),
940 ParseAttributeArgsCommon(AttrName, AttrNameLoc, Attrs, nullptr, nullptr,
945 if (ExistingAttrs < Attrs.size() && Attrs.back().getMaxArgs() && !NumArgs) {
958 void Parser::ParseMicrosoftDeclSpecs(ParsedAttributes &Attrs) {
1017 AttrHandled = ParseMicrosoftDeclSpecArgs(AttrName, AttrNameLoc, Attrs);
1024 Attrs.addNew(AttrName, AttrNameLoc, nullptr, AttrNameLoc, nullptr, 0,
1031 Attrs.Range = SourceRange(StartLoc, EndLoc);
1143 void Parser::ParseOpenCLQualifiers(ParsedAttributes &Attrs) {
1146 Attrs.addNew(AttrName, AttrNameLoc, nullptr, AttrNameLoc, nullptr, 0,
1154 void Parser::ParseHLSLQualifiers(ParsedAttributes &Attrs) {
1158 Attrs.addNew(AttrName, AttrNameLoc, nullptr, AttrNameLoc, nullptr, 0, Kind);
1573 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
1685 Attrs.addNew(&ExternalSourceSymbol, SourceRange(Loc, T.getCloseLocation()),
1702 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
1763 Attrs.addNew(&ObjCBridgeRelated,
1771 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
1806 Attrs.addNew(&AttrName, SourceRange(AttrNameLoc, T.getCloseLocation()),
1812 ParsedAttributes &Attrs, SourceLocation *EndLoc, IdentifierInfo *ScopeName,
1860 Attrs.addNewTypeTagForDatatype(&AttrName, AttrNameLoc, ScopeName, ScopeLoc,
1907 void Parser::DiagnoseMisplacedCXX11Attribute(ParsedAttributes &Attrs,
1916 ParseCXX11Attributes(Attrs);
1917 CharSourceRange AttrRange(SourceRange(Loc, Attrs.Range.getEnd()), true);
1926 const ParsedAttributesView &Attrs, const SourceLocation CorrectLocation) {
1927 auto *FirstAttr = Attrs.empty() ? nullptr : &Attrs.front();
1929 CharSourceRange AttrRange(Attrs.Range, true);
1936 const SourceRange &Range = Attrs.Range;
1944 void Parser::ProhibitCXX11Attributes(ParsedAttributes &Attrs,
1950 if (DiagnoseEmptyAttrs && Attrs.empty() && Attrs.Range.isValid()) {
1956 Lexer::getRawToken(Attrs.Range.getBegin(), FirstLSquare, SM, LangOpts);
1966 Diag(Attrs.Range.getBegin(), AttrDiagID) << Attrs.Range;
1972 for (const ParsedAttr &AL : Attrs) {
1991 void Parser::DiagnoseCXX11AttributeExtension(ParsedAttributes &Attrs) {
1992 for (const ParsedAttr &PA : Attrs) {
2005 // This function moves attributes that should apply to the type off DS to Attrs.
2006 void Parser::stripTypeAttributesOffDeclSpec(ParsedAttributes &Attrs,
2022 Attrs.addAtEnd(AL);
2079 ParsedAttributes Attrs(AttrFactory);
2080 takeAndConcatenateAttrs(DeclAttrs, DeclSpecAttrs, Attrs);
2082 DeclEnd, Attrs);
2324 ParsedAttributes &Attrs,
2329 // Consume all of the attributes from `Attrs` by moving them to our own local
2333 LocalAttrs.takeAllFrom(Attrs);
3038 ParsedAttributes &Attrs) {
3149 DeclSpecContext::DSC_normal, Attrs);
3345 /// attribute to Attrs.
3352 void Parser::ParseAlignmentSpecifier(ParsedAttributes &Attrs,
3381 Attrs.addNewTypeAttr(KWName, KWLoc, nullptr, KWLoc, TypeResult, Kind,
3386 Attrs.addNew(KWName, KWLoc, nullptr, KWLoc, ArgExprs.data(), 1, Kind,
3408 ParsedAttributes &Attrs,
3448 Attrs.addNew(&AttrName, SourceRange(AttrNameLoc, Parens.getCloseLocation()),
3944 ParsedAttributes Attrs(AttrFactory);
3945 if (ParseImplicitInt(DS, &SS, TemplateInfo, AS, DSContext, Attrs)) {
3946 if (!Attrs.empty()) {
3948 attrs.takeAllFrom(Attrs);
4108 ParsedAttributes Attrs(AttrFactory);
4109 if (ParseImplicitInt(DS, nullptr, TemplateInfo, AS, DSContext, Attrs)) {
4110 if (!Attrs.empty()) {
4112 attrs.takeAllFrom(Attrs);
4964 ParsedAttributes Attrs(AttrFactory);
4965 MaybeParseCXX11Attributes(Attrs);
4977 ProhibitAttributes(Attrs);
4990 ParsingFieldDeclarator DeclaratorInfo(*this, DS, Attrs);
5082 ParsedAttributes Attrs(AttrFactory);
5088 ParseGNUAttributeArgs(&LA.AttrName, LA.AttrNameLoc, Attrs, nullptr, nullptr,
5092 Actions.ActOnFinishDelayedAttribute(getCurScope(), D, Attrs);
5104 OutAttrs->takeAllFrom(Attrs);
5167 ParsedAttributes Attrs(AttrFactory);
5168 (void)ParseOpenMPDeclarativeDirectiveWithExtDecl(AS, Attrs);
6357 ParsedAttributes Attrs(AttrFactory);
6358 MaybeParseMicrosoftAttributes(Attrs);
6468 ParsedAttributes Attrs(AttrFactory);
6469 ParseCXX11Attributes(Attrs);
6470 DS.takeAttributesFrom(Attrs);
7385 ParsedAttributes Attrs(AttrFactory);
7390 MaybeParseCXX11Attributes(Attrs);
7393 Bindings.push_back({II, Loc, std::move(Attrs), EllipsisLoc});