Lines Matching full:specifier

110 /// Parse global scope or nested-name-specifier if present.
112 /// Parses a C++ global scope specifier ('::') or nested-name-specifier (which
116 /// '::'[opt] nested-name-specifier
119 /// nested-name-specifier:
122 /// nested-name-specifier identifier '::'
123 /// nested-name-specifier 'template'[opt] simple-template-id '::'
126 /// \param SS the scope specifier that will be set to the parsed
127 /// nested-name-specifier (or empty)
129 /// \param ObjectType if this nested-name-specifier is being parsed following
138 /// the nested-name-specifier after parsing it.
141 /// indicates whether this nested-name-specifier may be part of a
145 /// the last component of the nested-name-specifier is not parsed as
146 /// part of the scope specifier.
148 /// \param IsTypename If \c true, this nested-name-specifier is known to be
153 /// nested-name-specifier, if any.
158 /// \returns true if there was an error parsing a scope specifier
226 // nested-name-specifier. in ParseOptionalCXXScopeSpecifier()
273 // Code completion for a nested-name-specifier, where the code in ParseOptionalCXXScopeSpecifier()
295 // seen a leading '::' or part of a nested-name-specifier. in ParseOptionalCXXScopeSpecifier()
299 // nested-name-specifier: in ParseOptionalCXXScopeSpecifier()
300 // nested-name-specifier 'template'[opt] simple-template-id '::' in ParseOptionalCXXScopeSpecifier()
305 // If we don't have a scope specifier or an object type, this isn't a in ParseOptionalCXXScopeSpecifier()
306 // nested-name-specifier, since they aren't allowed to start with in ParseOptionalCXXScopeSpecifier()
371 // convert it into a type within the nested-name-specifier. in ParseOptionalCXXScopeSpecifier()
426 // The rest of the nested-name-specifier possibilities start with in ParseOptionalCXXScopeSpecifier()
433 // nested-name-specifier: in ParseOptionalCXXScopeSpecifier()
436 // nested-name-specifier identifier '::' in ParseOptionalCXXScopeSpecifier()
493 // as the name in a nested-name-specifier. in ParseOptionalCXXScopeSpecifier()
523 // nested-name-specifier: in ParseOptionalCXXScopeSpecifier()
592 // nested-name-specifier, so we're done. in ParseOptionalCXXScopeSpecifier()
596 // Even if we didn't see any pieces of a nested-name-specifier, we in ParseOptionalCXXScopeSpecifier()
704 /// '::'[opt] nested-name-specifier 'template'[opt] unqualified-id
728 /// '::'[opt] nested-name-specifier 'template'[opt] unqualified-id
741 // '::'[opt] nested-name-specifier 'template'[opt] unqualified-id in ParseCXXIdExpression()
805 /// decl-specifier-seq[opt] noexcept-specifier[opt]
806 /// attribute-specifier-seq[opt] trailing-return-type[opt]
1333 // The lambda-specifier-seq shall not contain both mutable and static. in DiagnoseStaticSpecifierRestrictions()
1334 // If the lambda-specifier-seq contains static, there shall be no in DiagnoseStaticSpecifierRestrictions()
1496 // attribute specifier, the result type, or the requires clause. Deal with in ParseLambdaExpressionAfterIntroducer()
1503 // GNU-style attributes must be parsed before the mutable specifier to in ParseLambdaExpressionAfterIntroducer()
1505 // the mutable specifier to be compatible with MSVC. in ParseLambdaExpressionAfterIntroducer()
1544 // Parse attribute-specifier[opt]. in ParseLambdaExpressionAfterIntroducer()
1825 /// . or -> operator, and nested-name-specifier have already been
1837 /// nested-name-specifier template[opt] unqualified-id
1839 /// nested-name-specifier:
1841 /// decltype-specifier :: FIXME: not implemented, but probably only
1843 /// nested-name-specifier identifier ::
1844 /// nested-name-specifier template[opt] simple-template-id ::
1849 /// ~ decltype-specifier
1852 /// ... where the all but the last component of the nested-name-specifier
1860 // If the last component of the (optional) nested-name-specifier is in ParseCXXPseudoDestructor()
1879 assert(SS.isEmpty() && "missing last component of nested name specifier"); in ParseCXXPseudoDestructor()
1901 // pack-index-specifier in ParseCXXPseudoDestructor()
2006 /// simple-type-specifier '(' expression-list[opt] ')'
2007 /// [C++0x] simple-type-specifier braced-init-list
2008 /// typename-specifier '(' expression-list[opt] ')'
2009 /// [C++0x] typename-specifier braced-init-list
2011 /// In C++1z onwards, the type specifier can also be a template-name.
2101 /// type-specifier-seq declarator '=' assignment-expression
2102 /// [C++11] type-specifier-seq declarator '=' initializer-clause
2103 /// [C++11] type-specifier-seq declarator braced-init-list
2104 /// [Clang] type-specifier-seq ref-qualifier[opt] '[' identifier-list ']'
2106 /// [GNU] type-specifier-seq declarator simple-asm-expr[opt] attributes[opt]
2243 // type-specifier-seq in ParseCXXCondition()
2310 /// simple-type-specifier.
2312 /// simple-type-specifier:
2313 /// '::'[opt] nested-name-specifier[opt] type-name
2314 /// '::'[opt] nested-name-specifier 'template' simple-template-id [TODO]
2326 /// [GNU] typeof-specifier
2347 llvm_unreachable("Not a simple-type-specifier token!"); in ParseCXXSimpleTypeSpecifier()
2480 /// ParseCXXTypeSpecifierSeq - Parse a C++ type-specifier-seq (C++
2483 /// by parsing the type-specifier-seq, because these sequences are
2485 /// emits diagnostics if this is not a type-specifier-seq, false
2488 /// type-specifier-seq: [C++ 8.1]
2489 /// type-specifier type-specifier-seq[opt]
2507 /// \param SS the nested-name-specifier that precedes this template-id, if
2523 /// nested-name-specifier.
2547 // this template-id is used to form a nested-name-specifier or not. in ParseUnqualifiedIdTemplateId()
2710 /// type-specifier-seq conversion-declarator[opt]
2716 /// \param SS The nested-name-specifier that preceded this unqualified-id. If
2720 /// nested-name-specifier.
2902 // type-specifier-seq conversion-declarator[opt] in ParseUnqualifiedIdOperator()
2907 // Parse the type-specifier-seq. in ParseUnqualifiedIdOperator()
2944 /// \param SS The nested-name-specifier that preceded this unqualified-id. If
2955 /// nested-name-specifier.
3271 /// type-specifier-seq new-declarator[opt]
3272 /// [GNU] attributes type-specifier-seq new-declarator[opt]