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.
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
155 // an ambiguity if the first decl-specifier is
156 // simple-type-specifier/typename-specifier followed by a '(', which may
179 // Ok, we have a simple-type-specifier/typename-specifier followed by a '(',
201 /// (potentially) starting a decl-specifier.
229 // elaborated-type-specifier:
230 // class-key attribute-specifier-seq[opt]
231 // nested-name-specifier[opt] identifier
232 // class-key nested-name-specifier[opt] template[opt] simple-template-id
233 // enum nested-name-specifier[opt] identifier
269 /// decl-specifier-seq init-declarator-list[opt] ';'
274 /// attribute-specifier-seqopt type-specifier-seq declarator
495 // type-specifier-seq
504 // We either have a decl-specifier followed by '(' or an undeclared
514 // A second decl-specifier unambiguously indicatges an enum-base.
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 '('.
652 // type-specifier-seq
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.
803 // This is a lambda-introducer or attribute-specifier.
817 // Might still be an attribute-specifier or a message send.
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
1483 // decl-specifier:
1484 // storage-class-specifier
1485 // type-specifier
1486 // function-specifier
1495 // storage-class-specifier
1503 // function-specifier
1514 // type-specifier:
1515 // simple-type-specifier
1516 // class-specifier
1517 // enum-specifier
1518 // elaborated-type-specifier
1519 // typename-specifier
1522 // class-specifier
1523 // elaborated-type-specifier
1528 // enum-specifier
1738 // The ambiguity resides in a simple-type-specifier/typename-specifier
1751 // simple-type-specifier '(' expression-list[opt] ')'
1754 // simple-type-specifier:
1887 // typename-specifier
1897 // elaborated-type-specifier
1905 // simple-type-specifier
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.
2095 // decl-specifier-seq
2097 // decl-specifier-seq '{' is not a parameter in C++11.
2100 // A declaration-specifier (not followed by '(' or '{') means this can't be
2233 // attribute-specifier-seq
2324 // but one good distinguishing factor is that a "decl-specifier" not