Home | History | Annotate | Download | only in Parse

Lines Matching defs:Specifier

49 ///         'namespace' identifier '=' qualified-namespace-specifier ';'
237 // Parse (optional) nested-name-specifier.
368 /// 'using' 'namespace' ::[opt] nested-name-specifier[opt]
371 /// 'using' 'namespace' ::[opt] nested-name-specifier[opt]
390 // Parse (optional) nested-name-specifier.
431 /// 'using' 'typename'[opt] ::[opt] nested-name-specifier
449 // FIXME: This is wrong; we should parse this as a typename-specifier.
458 // Parse nested-name-specifier.
461 // Check nested-name specifier.
556 // ignoring the parameters, just in case the nested name specifier
641 /// ParseDecltypeSpecifier - Parse a C++0x decltype specifier.
647 && "Not a decltype specifier");
679 // The operand of the decltype specifier is an unevaluated operand.
737 "Not an underlying type specifier");
764 /// ParseBaseTypeSpecifier - Parse a C++ base-type-specifier which is either a
765 /// class name or decltype-specifier. Note that we only check that the result
770 /// base-type-specifier: [C++ 10.1]
773 /// nested-name-specifier[opt] class-name
774 /// decltype-specifier
788 // Parse optional nested-name-specifier
794 // Parse decltype-specifier
903 /// ParseClassSpecifier - Parse a C++ class-specifier [C++ class] or
904 /// elaborated-type-specifier [C++ dcl.type.elab]; we can't tell which
908 /// class-specifier: [C++ class]
913 /// class-key nested-name-specifier identifier base-clause[opt]
914 /// class-key nested-name-specifier[opt] simple-template-id
917 /// [GNU] class-key attributes[opt] nested-name-specifier
919 /// [GNU] class-key attributes[opt] nested-name-specifier[opt]
926 /// elaborated-type-specifier: [C++ dcl.type.elab]
927 /// class-key ::[opt] nested-name-specifier[opt] identifier
928 /// class-key ::[opt] nested-name-specifier[opt] 'template'[opt]
931 /// Note that the C++ class-specifier and elaborated-type-specifier,
932 /// together, subsume the C99 struct-or-union-specifier:
934 /// struct-or-union-specifier: [C99 6.7.2.1]
954 assert(TagTokKind == tok::kw_union && "Not a class specifier");
1017 // Parse the (optional) nested-name-specifier.
1120 // However, in type-specifier-seq's, things look like declarations but are
1341 // At this point, we've successfully parsed a class-specifier in 'definition'
1381 // type/storage class specifier we're seeing is part of the *next*
1390 // token to see if it's a type specifier. If so, we know the code is
1424 /// ':' base-specifier-list
1425 /// base-specifier-list:
1426 /// base-specifier '...'[opt]
1427 /// base-specifier-list ',' base-specifier '...'[opt]
1436 // Parse a base-specifier.
1439 // Skip the rest of this base specifier, up until the comma or
1459 /// ParseBaseSpecifier - Parse a C++ base-specifier. A base-specifier is
1460 /// one entry in the base class list of a class specifier, for example:
1464 /// base-specifier: [C++ class.derived]
1465 /// ::[opt] nested-name-specifier[opt] class-name
1466 /// 'virtual' access-specifier[opt] ::[opt] nested-name-specifier[opt]
1467 /// base-type-specifier
1468 /// access-specifier 'virtual'[opt] ::[opt] nested-name-specifier[opt]
1469 /// base-type-specifier
1480 // Parse an (optional) access specifier.
1486 // access specifier.
1506 // actually part of the base-specifier-list grammar productions, but we
1512 // Find the complete source range for the base-specifier.
1516 // base-specifier.
1522 /// a C++ access-specifier.
1524 /// access-specifier: [C++ class.derived]
1593 /// virt-specifier.
1595 /// virt-specifier:
1598 VirtSpecifiers::Specifier Parser::isCXX0XVirtSpecifier(const Token &Tok) const {
1621 /// ParseOptionalCXX0XVirtSpecifierSeq - Parse a virt-specifier-seq.
1623 /// virt-specifier-seq:
1624 /// virt-specifier
1625 /// virt-specifier-seq virt-specifier
1628 VirtSpecifiers::Specifier Specifier = isCXX0XVirtSpecifier();
1629 if (Specifier == VirtSpecifiers::VS_None)
1633 // A virt-specifier-seq shall contain at most one of each virt-specifier.
1635 if (VS.SetSpecifier(Specifier, Tok.getLocation(), PrevSpec))
1643 << VirtSpecifiers::getSpecifierName(Specifier);
1669 /// decl-specifier-seq[opt] member-declarator-list[opt] ';'
1671 /// ::[opt] nested-name-specifier template[opt] unqualified-id ';'[TODO]
1682 /// declarator virt-specifier-seq[opt] pure-specifier[opt]
1687 /// virt-specifier-seq:
1688 /// virt-specifier
1689 /// virt-specifier-seq virt-specifier
1691 /// virt-specifier:
1695 /// pure-specifier:
1728 // Collect the scope specifier token we annotated earlier.
1790 // Optional C++0x attribute-specifier
1815 // decl-specifier-seq:
1863 // MSVC permits pure specifier on inline functions declared at class scope.
1954 // declarator pure-specifier[opt]
2124 /// pure-specifier. Also detect and reject any attempted defaulted/deleted
2128 /// pure-specifier:
2188 /// access-specifier ':' member-specification[opt]
2306 // Current token is a C++ access specifier.
2464 /// '::'[opt] nested-name-specifier[opt] class-name
2467 // parse '::'[opt] nested-name-specifier[opt]
2852 /// ParseCXX11AttributeSpecifier - Parse a C++11 attribute-specifier. Currently
2855 /// [C++11] attribute-specifier:
2857 /// alignment-specifier
2984 /// ParseCXX11Attributes - Parse a C++0x attribute-specifier-seq.
2986 /// attribute-specifier-seq:
2987 /// attribute-specifier-seq[opt] attribute-specifier
3067 // Current token is a C++ access specifier.