Lines Matching full:specifier
38 /// 'namespace' identifier = qualified-namespace-specifier ';'
41 /// 'using' typename[opt] '::'[opt] nested-name-specifier
46 /// 'using' 'namespace' '::'[opt] nested-name-specifier[opt]
69 // Parse the C++ scope specifier. in isCXXDeclarationStatement()
123 /// decl-specifier-seq init-declarator-list[opt] ';'
124 /// decl-specifier-seq ref-qualifier[opt] '[' identifier-list ']'
131 /// decl-specifier-seq declarator
132 /// decl-specifier-seq ref-qualifier[opt] '[' identifier-list ']'
134 /// In any of the above cases there can be a preceding attribute-specifier-seq,
154 // We don't have to parse all of the decl-specifier-seq part. There's only in isCXXSimpleDeclaration()
155 // an ambiguity if the first decl-specifier is in isCXXSimpleDeclaration()
156 // simple-type-specifier/typename-specifier followed by a '(', which may in isCXXSimpleDeclaration()
179 // Ok, we have a simple-type-specifier/typename-specifier followed by a '(', in isCXXSimpleDeclaration()
201 /// (potentially) starting a decl-specifier.
229 // elaborated-type-specifier: in TryConsumeDeclarationSpecifier()
230 // class-key attribute-specifier-seq[opt] in TryConsumeDeclarationSpecifier()
231 // nested-name-specifier[opt] identifier in TryConsumeDeclarationSpecifier()
232 // class-key nested-name-specifier[opt] template[opt] simple-template-id in TryConsumeDeclarationSpecifier()
233 // enum nested-name-specifier[opt] identifier in TryConsumeDeclarationSpecifier()
269 /// decl-specifier-seq init-declarator-list[opt] ';'
274 /// attribute-specifier-seqopt type-specifier-seq declarator
495 // type-specifier-seq in isEnumBase()
504 // We either have a decl-specifier followed by '(' or an undeclared in isEnumBase()
514 // A second decl-specifier unambiguously indicatges an enum-base. in isEnumBase()
528 /// type-specifier-seq declarator '=' assignment-expression
529 /// [C++11] type-specifier-seq declarator '=' initializer-clause
530 /// [C++11] type-specifier-seq declarator braced-init-list
531 /// [GNU] type-specifier-seq declarator simple-asm-expr[opt] attributes[opt]
534 /// decl-specifier-seq init-declarator-list[opt] ';'
625 /// type-specifier-seq abstract-declarator[opt]
646 // Ok, we have a simple-type-specifier/typename-specifier followed by a '('. in isCXXTypeId()
652 // type-specifier-seq in isCXXTypeId()
704 /// Returns true if this is a C++11 attribute-specifier. Per
710 /// an attribute-specifier, and return CAK_InvalidAttributeSpecifier if not.
718 /// attribute-specifier:
720 /// alignment-specifier
740 // alignas is an attribute specifier in C++ but not in C23. in isCXX11AttributeSpecifier()
803 // This is a lambda-introducer or attribute-specifier. in isCXX11AttributeSpecifier()
817 // Might still be an attribute-specifier or a message send. in isCXX11AttributeSpecifier()
949 /// type-specifier-seq conversion-declarator[opt]
1061 /// '::'[opt] nested-name-specifier '*' cv-qualifier-seq[opt]
1083 /// '~' decltype-specifier [TODO]
1221 /// specifier, TPResult::False if it is not, TPResult::Ambiguous if it could
1222 /// be either a decl-specifier or a function-style cast, and TPResult::Error
1237 /// decl-specifier:
1238 /// storage-class-specifier
1239 /// type-specifier
1240 /// function-specifier
1247 /// storage-class-specifier:
1257 /// function-specifier:
1265 /// type-specifier:
1266 /// simple-type-specifier
1267 /// class-specifier
1268 /// enum-specifier
1269 /// elaborated-type-specifier
1270 /// typename-specifier
1273 /// simple-type-specifier:
1274 /// '::'[opt] nested-name-specifier[opt] type-name
1275 /// '::'[opt] nested-name-specifier 'template'
1288 /// [GNU] typeof-specifier
1300 /// elaborated-type-specifier:
1301 /// class-key '::'[opt] nested-name-specifier[opt] identifier
1302 /// class-key '::'[opt] nested-name-specifier[opt] 'template'[opt]
1304 /// 'enum' '::'[opt] nested-name-specifier[opt] identifier
1309 /// enum-specifier:
1313 /// class-specifier:
1318 /// class-key nested-name-specifier identifier base-clause[opt]
1319 /// class-key nested-name-specifier[opt] simple-template-id
1431 // This might possibly be a type with a dependent scope specifier and in isCXXDeclarationSpecifier()
1483 // decl-specifier: in isCXXDeclarationSpecifier()
1484 // storage-class-specifier in isCXXDeclarationSpecifier()
1485 // type-specifier in isCXXDeclarationSpecifier()
1486 // function-specifier in isCXXDeclarationSpecifier()
1495 // storage-class-specifier in isCXXDeclarationSpecifier()
1503 // function-specifier in isCXXDeclarationSpecifier()
1514 // type-specifier: in isCXXDeclarationSpecifier()
1515 // simple-type-specifier in isCXXDeclarationSpecifier()
1516 // class-specifier in isCXXDeclarationSpecifier()
1517 // enum-specifier in isCXXDeclarationSpecifier()
1518 // elaborated-type-specifier in isCXXDeclarationSpecifier()
1519 // typename-specifier in isCXXDeclarationSpecifier()
1522 // class-specifier in isCXXDeclarationSpecifier()
1523 // elaborated-type-specifier in isCXXDeclarationSpecifier()
1528 // enum-specifier in isCXXDeclarationSpecifier()
1738 // The ambiguity resides in a simple-type-specifier/typename-specifier in isCXXDeclarationSpecifier()
1751 // simple-type-specifier '(' expression-list[opt] ')' in isCXXDeclarationSpecifier()
1754 // simple-type-specifier: in isCXXDeclarationSpecifier()
1887 // typename-specifier in isCXXDeclarationSpecifierAType()
1897 // elaborated-type-specifier in isCXXDeclarationSpecifierAType()
1905 // simple-type-specifier in isCXXDeclarationSpecifierAType()
1950 /// [GNU] typeof-specifier:
2055 /// attribute-specifier-seq[opt] decl-specifier-seq declarator attributes[opt]
2056 /// attribute-specifier-seq[opt] decl-specifier-seq declarator attributes[opt]
2058 /// attribute-specifier-seq[opt] decl-specifier-seq abstract-declarator[opt]
2060 /// attribute-specifier-seq[opt] decl-specifier-seq abstract-declarator[opt]
2087 // An attribute-specifier-seq here is a sign of a function declarator. in TryParseParameterDeclarationClause()
2095 // decl-specifier-seq in TryParseParameterDeclarationClause()
2097 // decl-specifier-seq '{' is not a parameter in C++11. in TryParseParameterDeclarationClause()
2100 // A declaration-specifier (not followed by '(' or '{') means this can't be in TryParseParameterDeclarationClause()
2233 // attribute-specifier-seq in TryParseFunctionDeclarator()
2324 // but one good distinguishing factor is that a "decl-specifier" not in isTemplateArgumentList()