class Parser

Declaration

class Parser : public CodeCompletionHandler { /* full declaration omitted */ };

Description

Parser - This implements a parser for the C family of languages. After parsing units of the grammar, productions are invoked to handle whatever has been read.

Declared at: clang/include/clang/Parse/Parser.h:60

Inherits from: CodeCompletionHandler

Member Variables

private clang::Preprocessor& PP
private clang::Token Tok
Tok - The current token we are peeking ahead. All parsing methods assume that this is valid.
private clang::SourceLocation PrevTokLocation
private clang::PreferredTypeBuilder PreferredType
Tracks an expected type for the current token when parsing an expression. Used by code completion for ranking.
private unsigned short ParenCount = 0
private unsigned short BracketCount = 0
private unsigned short BraceCount = 0
private unsigned short MisplacedModuleBeginCount = 0
private clang::Sema& Actions
Actions - These are the callbacks we invoke as we parse various constructs in the file.
private clang::DiagnosticsEngine& Diags
private unsigned int NumCachedScopes
private clang::Scope* [16] ScopeCache
private clang::IdentifierInfo* Ident__exception_code
Identifiers used for SEH handling in Borland. These are only allowed in particular circumstances
private clang::IdentifierInfo* Ident___exception_code
Identifiers used for SEH handling in Borland. These are only allowed in particular circumstances
private clang::IdentifierInfo* Ident_GetExceptionCode
Identifiers used for SEH handling in Borland. These are only allowed in particular circumstances
private clang::IdentifierInfo* Ident__exception_info
private clang::IdentifierInfo* Ident___exception_info
private clang::IdentifierInfo* Ident_GetExceptionInfo
private clang::IdentifierInfo* Ident__abnormal_termination
private clang::IdentifierInfo* Ident___abnormal_termination
private clang::IdentifierInfo* Ident_AbnormalTermination
private clang::IdentifierInfo* Ident__except
Contextual keywords for Microsoft extensions.
private clang::IdentifierInfo* Ident_sealed
private clang::IdentifierInfo* Ident_abstract
private clang::IdentifierInfo* Ident_super
Ident_super - IdentifierInfo for "super", to support fast comparison.
private clang::IdentifierInfo* Ident_vector
Ident_vector, Ident_bool, Ident_Bool - cached IdentifierInfos for "vector" and "bool" fast comparison. Only present if AltiVec or ZVector are enabled.
private clang::IdentifierInfo* Ident_bool
private clang::IdentifierInfo* Ident_Bool
private clang::IdentifierInfo* Ident_pixel
Ident_pixel - cached IdentifierInfos for "pixel" fast comparison. Only present if AltiVec enabled.
private clang::IdentifierInfo* Ident_instancetype
Objective-C contextual keywords.
private clang::IdentifierInfo* Ident_introduced
Identifier for "introduced".
private clang::IdentifierInfo* Ident_deprecated
Identifier for "deprecated".
private clang::IdentifierInfo* Ident_obsoleted
Identifier for "obsoleted".
private clang::IdentifierInfo* Ident_unavailable
Identifier for "unavailable".
private clang::IdentifierInfo* Ident_message
Identifier for "message".
private clang::IdentifierInfo* Ident_strict
Identifier for "strict".
private clang::IdentifierInfo* Ident_replacement
Identifier for "replacement".
private clang::IdentifierInfo* Ident_language
Identifiers used by the 'external_source_symbol' attribute.
private clang::IdentifierInfo* Ident_defined_in
Identifiers used by the 'external_source_symbol' attribute.
private clang::IdentifierInfo* Ident_generated_declaration
Identifiers used by the 'external_source_symbol' attribute.
private clang::IdentifierInfo* Ident_final
C++11 contextual keywords.
private clang::IdentifierInfo* Ident_GNU_final
private clang::IdentifierInfo* Ident_override
private clang::IdentifierInfo* Ident_import
private clang::IdentifierInfo* Ident_module
private llvm::SmallDenseMap<IdentifierInfo*, tok::TokenKind> RevertibleTypeTraits
private std::unique_ptr<PragmaHandler> AlignHandler
private std::unique_ptr<PragmaHandler> GCCVisibilityHandler
private std::unique_ptr<PragmaHandler> OptionsHandler
private std::unique_ptr<PragmaHandler> PackHandler
private std::unique_ptr<PragmaHandler> MSStructHandler
private std::unique_ptr<PragmaHandler> UnusedHandler
private std::unique_ptr<PragmaHandler> WeakHandler
private std::unique_ptr<PragmaHandler> RedefineExtnameHandler
private std::unique_ptr<PragmaHandler> FPContractHandler
private std::unique_ptr<PragmaHandler> OpenCLExtensionHandler
private std::unique_ptr<PragmaHandler> OpenMPHandler
private std::unique_ptr<PragmaHandler> PCSectionHandler
private std::unique_ptr<PragmaHandler> MSCommentHandler
private std::unique_ptr<PragmaHandler> MSDetectMismatchHandler
private std::unique_ptr<PragmaHandler> FPEvalMethodHandler
private std::unique_ptr<PragmaHandler> FloatControlHandler
private std::unique_ptr<PragmaHandler> MSPointersToMembers
private std::unique_ptr<PragmaHandler> MSVtorDisp
private std::unique_ptr<PragmaHandler> MSInitSeg
private std::unique_ptr<PragmaHandler> MSDataSeg
private std::unique_ptr<PragmaHandler> MSBSSSeg
private std::unique_ptr<PragmaHandler> MSConstSeg
private std::unique_ptr<PragmaHandler> MSCodeSeg
private std::unique_ptr<PragmaHandler> MSSection
private std::unique_ptr<PragmaHandler> MSRuntimeChecks
private std::unique_ptr<PragmaHandler> MSIntrinsic
private std::unique_ptr<PragmaHandler> MSFunction
private std::unique_ptr<PragmaHandler> MSOptimize
private std::unique_ptr<PragmaHandler> MSFenvAccess
private std::unique_ptr<PragmaHandler> MSAllocText
private std::unique_ptr<PragmaHandler> CUDAForceHostDeviceHandler
private std::unique_ptr<PragmaHandler> OptimizeHandler
private std::unique_ptr<PragmaHandler> LoopHintHandler
private std::unique_ptr<PragmaHandler> UnrollHintHandler
private std::unique_ptr<PragmaHandler> NoUnrollHintHandler
private std::unique_ptr<PragmaHandler> UnrollAndJamHintHandler
private std::unique_ptr<PragmaHandler> NoUnrollAndJamHintHandler
private std::unique_ptr<PragmaHandler> FPHandler
private std::unique_ptr<PragmaHandler> STDCFenvAccessHandler
private std::unique_ptr<PragmaHandler> STDCFenvRoundHandler
private std::unique_ptr<PragmaHandler> STDCCXLIMITHandler
private std::unique_ptr<PragmaHandler> STDCUnknownHandler
private std::unique_ptr<PragmaHandler> AttributePragmaHandler
private std::unique_ptr<PragmaHandler> MaxTokensHerePragmaHandler
private std::unique_ptr<PragmaHandler> MaxTokensTotalPragmaHandler
private std::unique_ptr<PragmaHandler> RISCVPragmaHandler
private std::unique_ptr<CommentHandler> CommentSemaHandler
private bool GreaterThanIsOperator
Whether the '>' token acts as an operator or not. This will be true except when we are parsing an expression within a C++ template argument list, where the '>' closes the template argument list.
private bool ColonIsSacred
ColonIsSacred - When this is false, we aggressively try to recover from code like "foo : bar" as if it were a typo for "foo :: bar". This is not safe in case statements and a few other things. This is managed by the ColonProtectionRAIIObject RAII object.
private bool OpenMPDirectiveParsing = false
Parsing OpenMP directive mode.
private bool InMessageExpression
This is managed by the \c InMessageExpressionRAIIObject class, and should not be set directly.
private bool CalledSignatureHelp = false
Gets set to true after calling ProduceSignatureHelp, it is for a workaround to make sure ProduceSignatureHelp is only called at the deepest function call.
private unsigned int TemplateParameterDepth
The "depth" of the template parameters currently being parsed.
private clang::OpenMPClauseKind OMPClauseKind = llvm::omp::OMPC_unknown
Current kind of OpenMP clause
private clang::AttributeFactory AttrFactory
Factory object for creating ParsedAttr objects.
private SmallVector<clang::TemplateIdAnnotation*, 16> TemplateIds
Gathers and cleans up TemplateIdAnnotations when parsing of a top-level declaration is finished.
private SmallVector<clang::IdentifierInfo*, 8> TentativelyDeclaredIdentifiers
Identifiers which have been declared within a tentative parse.
private clang::Parser::AngleBracketTracker AngleBrackets
private bool ParsingInObjCContainer
This is necessary because Sema thinks we have left the container to parse the C-like decls, meaning Actions.getObjCDeclContext() will be NULL.
private bool SkipFunctionBodies
This option can be used, for example, to speed up searches for declarations/definitions when indexing.
private clang::SourceLocation ExprStatementTokLoc
The location of the expression statement that is being parsed right now. Used to determine if an expression that is being parsed is a statement or just a regular sub-expression.
public clang::SourceLocation MisleadingIndentationElseLoc
The location of the first statement inside an else that might have a missleading indentation. If there is no MisleadingIndentationChecker on an else active, this location is invalid.
private std::stack<ParsingClass*> ClassStack
The stack of classes that is currently being parsed. Nested and local classes will be pushed onto this stack when they are parsed, and removed afterward.
private clang::Parser::ObjCImplParsingDataRAII* CurParsedObjCImpl
private clang::IdentifierInfo* [9] ObjCTypeQuals

Method Overview

Inherited from CodeCompletionHandler:

Methods

void AnnotateExistingDecltypeSpecifier(
    const clang::DeclSpec& DS,
    clang::SourceLocation StartLoc,
    clang::SourceLocation EndLoc)

Declared at: clang/include/clang/Parse/Parser.h:2906

Parameters

const clang::DeclSpec& DS
clang::SourceLocation StartLoc
clang::SourceLocation EndLoc

void AnnotateScopeToken(clang::CXXScopeSpec& SS,
                        bool IsNewAnnotation)

Description

Push a tok::annot_cxxscope token onto the token stream.

Declared at: clang/include/clang/Parse/Parser.h:888

Parameters

clang::CXXScopeSpec& SS
bool IsNewAnnotation

bool AnnotateTemplateIdToken(
    clang::Parser::TemplateTy Template,
    clang::TemplateNameKind TNK,
    clang::CXXScopeSpec& SS,
    clang::SourceLocation TemplateKWLoc,
    clang::UnqualifiedId& TemplateName,
    bool AllowTypeAnnotation = true,
    bool TypeConstraint = false)

Declared at: clang/include/clang/Parse/Parser.h:3420

Parameters

clang::Parser::TemplateTy Template
clang::TemplateNameKind TNK
clang::CXXScopeSpec& SS
clang::SourceLocation TemplateKWLoc
clang::UnqualifiedId& TemplateName
bool AllowTypeAnnotation = true
bool TypeConstraint = false

void AnnotateTemplateIdTokenAsType(
    clang::CXXScopeSpec& SS,
    bool IsClassName = false)

Declared at: clang/include/clang/Parse/Parser.h:3426

Parameters

clang::CXXScopeSpec& SS
bool IsClassName = false

void CheckForTemplateAndDigraph(
    clang::Token& Next,
    clang::ParsedType ObjectTypePtr,
    bool EnteringContext,
    clang::IdentifierInfo& II,
    clang::CXXScopeSpec& SS)

Declared at: clang/include/clang/Parse/Parser.h:1878

Parameters

clang::Token& Next
clang::ParsedType ObjectTypePtr
bool EnteringContext
clang::IdentifierInfo& II
clang::CXXScopeSpec& SS

void CheckMisplacedCXX11Attribute(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation CorrectLocation)

Declared at: clang/include/clang/Parse/Parser.h:2623

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation CorrectLocation

void CheckNestedObjCContexts(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:1193

Parameters

clang::SourceLocation AtLoc

bool CheckProhibitedCXX11Attribute()

Declared at: clang/include/clang/Parse/Parser.h:2615

void CodeCompleteDirective(bool InConditional)

Description

Callback invoked when performing code completion for a preprocessor directive. This callback will be invoked when the preprocessor processes a '#' at the start of a line, followed by the code-completion token.

Declared at: clang/include/clang/Parse/Parser.h:3473

Parameters

bool InConditional
Whether we're inside a preprocessor conditional already.

void CodeCompleteInConditionalExclusion()

Description

Callback invoked when performing code completion within a block of code that was excluded due to preprocessor conditionals.

Declared at: clang/include/clang/Parse/Parser.h:3474

void CodeCompleteIncludedFile(llvm::StringRef Dir,
                              bool IsAngled)

Description

Callback invoked when performing code completion inside the filename part of an #include directive. (Also #import, #include_next, etc).\p Dir is the directory relative to the include path.

Declared at: clang/include/clang/Parse/Parser.h:3479

Parameters

llvm::StringRef Dir
bool IsAngled

void CodeCompleteMacroArgument(
    clang::IdentifierInfo* Macro,
    clang::MacroInfo* MacroInfo,
    unsigned int ArgumentIndex)

Description

Callback invoked when performing code completion inside a function-like macro argument. There will be another callback invocation after the macro arguments are parsed, so this callback should generally be used to note that the next callback is invoked inside a macro argument.

Declared at: clang/include/clang/Parse/Parser.h:3477

Parameters

clang::IdentifierInfo* Macro
clang::MacroInfo* MacroInfo
unsigned int ArgumentIndex

void CodeCompleteMacroName(bool IsDefinition)

Description

Callback invoked when performing code completion in a context where the name of a macro is expected.

Declared at: clang/include/clang/Parse/Parser.h:3475

Parameters

bool IsDefinition
Whether this is the definition of a macro, e.g., in a # define.

void CodeCompleteNaturalLanguage()

Description

Callback invoked when performing code completion in a part of the file where we expect natural language, e.g., a comment, string, or # error directive.

Declared at: clang/include/clang/Parse/Parser.h:3480

void CodeCompletePreprocessorExpression()

Description

Callback invoked when performing code completion in a preprocessor expression, such as the condition of an # if or # elif directive.

Declared at: clang/include/clang/Parse/Parser.h:3476

bool ConsumeAndStoreConditional(
    clang::CachedTokens& Toks)

Declared at: clang/include/clang/Parse/Parser.h:1580

Parameters

clang::CachedTokens& Toks

bool ConsumeAndStoreFunctionPrologue(
    clang::CachedTokens& Toks)

Declared at: clang/include/clang/Parse/Parser.h:1578

Parameters

clang::CachedTokens& Toks

bool ConsumeAndStoreInitializer(
    clang::CachedTokens& Toks,
    clang::Parser::CachedInitKind CIK)

Declared at: clang/include/clang/Parse/Parser.h:1579

Parameters

clang::CachedTokens& Toks
clang::Parser::CachedInitKind CIK

bool ConsumeAndStoreUntil(
    tok::TokenKind T1,
    tok::TokenKind T2,
    clang::CachedTokens& Toks,
    bool StopAtSemi = true,
    bool ConsumeFinalToken = true)

Declared at: clang/include/clang/Parse/Parser.h:1587

Parameters

tok::TokenKind T1
tok::TokenKind T2
clang::CachedTokens& Toks
bool StopAtSemi = true
bool ConsumeFinalToken = true

bool ConsumeAndStoreUntil(
    tok::TokenKind T1,
    clang::CachedTokens& Toks,
    bool StopAtSemi = true,
    bool ConsumeFinalToken = true)

Declared at: clang/include/clang/Parse/Parser.h:1581

Parameters

tok::TokenKind T1
clang::CachedTokens& Toks
bool StopAtSemi = true
bool ConsumeFinalToken = true

clang::SourceLocation ConsumeAnnotationToken()

Declared at: clang/include/clang/Parse/Parser.h:587

clang::SourceLocation ConsumeAnyToken(
    bool ConsumeCodeCompletionTok = false)

Description

ConsumeAnyToken - Dispatch to the right Consume* method based on the current token type. This should only be used in cases where the type of the token really isn't known, e.g. in error recovery.

Declared at: clang/include/clang/Parse/Parser.h:519

Parameters

bool ConsumeCodeCompletionTok = false

clang::SourceLocation ConsumeBrace()

Description

ConsumeBrace - This consume method keeps the brace count up-to-date.

Declared at: clang/include/clang/Parse/Parser.h:628

clang::SourceLocation ConsumeBracket()

Description

ConsumeBracket - This consume method keeps the bracket count up-to-date.

Declared at: clang/include/clang/Parse/Parser.h:612

clang::SourceLocation ConsumeCodeCompletionToken()

Description

Consume the current code-completion token. This routine can be called to consume the code-completion token and continue processing in special cases where \c cutOffParsing() isn't desired, such as token caching or completion with lookahead.

Declared at: clang/include/clang/Parse/Parser.h:659

void ConsumeExtraSemi(
    clang::Parser::ExtraSemiKind Kind,
    DeclSpec::TST T = TST_unspecified)

Description

Consume any extra semi-colons until the end of the line.

Declared at: clang/include/clang/Parse/Parser.h:1058

Parameters

clang::Parser::ExtraSemiKind Kind
DeclSpec::TST T = TST_unspecified

bool ConsumeNullStmt(
    clang::Parser::StmtVector& Stmts)

Declared at: clang/include/clang/Parse/Parser.h:2094

Parameters

clang::Parser::StmtVector& Stmts

clang::SourceLocation ConsumeParen()

Description

ConsumeParen - This consume method keeps the paren count up-to-date.

Declared at: clang/include/clang/Parse/Parser.h:597

clang::SourceLocation ConsumeStringToken()

Description

ConsumeStringToken - Consume the current 'peek token', lexing a new one and returning the token kind. This method is specific to strings, as it handles string literal concatenation, as per C99 5.1.1.2, translation phase #6.

Declared at: clang/include/clang/Parse/Parser.h:646

clang::SourceLocation ConsumeToken()

Description

ConsumeToken - Consume the current 'peek token' and lex the next one. This does not work with special tokens: string literals, code completion, annotation tokens and balanced tokens must be handled using the specific consume methods. Returns the location of the consumed token.

Declared at: clang/include/clang/Parse/Parser.h:491

void DeallocateParsedClasses(
    clang::Parser::ParsingClass* Class)

Declared at: clang/include/clang/Parse/Parser.h:1549

Parameters

clang::Parser::ParsingClass* Class

void DestroyTemplateIds()

Declared at: clang/include/clang/Parse/Parser.h:296

clang::DiagnosticBuilder Diag(
    clang::SourceLocation Loc,
    unsigned int DiagID)

Declared at: clang/include/clang/Parse/Parser.h:1184

Parameters

clang::SourceLocation Loc
unsigned int DiagID

clang::DiagnosticBuilder Diag(
    const clang::Token& Tok,
    unsigned int DiagID)

Declared at: clang/include/clang/Parse/Parser.h:1185

Parameters

const clang::Token& Tok
unsigned int DiagID

clang::DiagnosticBuilder Diag(unsigned int DiagID)

Declared at: clang/include/clang/Parse/Parser.h:1186

Parameters

unsigned int DiagID

void DiagnoseAndSkipCXX11Attributes()

Description

Diagnose and skip C++11 and C2x attributes that appear in syntactic locations where attributes are not allowed.

Declared at: clang/include/clang/Parse/Parser.h:2674

void DiagnoseAndSkipExtendedMicrosoftTypeAttributes()

Declared at: clang/include/clang/Parse/Parser.h:2844

void DiagnoseBitIntUse(const clang::Token& Tok)

Description

Diagnoses use of _ExtInt as being deprecated, and diagnoses use of _BitInt as an extension when appropriate.

Declared at: clang/include/clang/Parse/Parser.h:2595

Parameters

const clang::Token& Tok

void DiagnoseCXX11AttributeExtension(
    clang::ParsedAttributes& Attrs)

Description

Emit warnings for C++11 and C2x attributes that are in a position that clang accepts as an extension.

Declared at: clang/include/clang/Parse/Parser.h:2678

Parameters

clang::ParsedAttributes& Attrs

void DiagnoseMisplacedCXX11Attribute(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation CorrectLocation)

Declared at: clang/include/clang/Parse/Parser.h:2632

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation CorrectLocation

void DiagnoseMisplacedEllipsis(
    clang::SourceLocation EllipsisLoc,
    clang::SourceLocation CorrectLoc,
    bool AlreadyHasEllipsis,
    bool IdentifierHasName)

Declared at: clang/include/clang/Parse/Parser.h:3401

Parameters

clang::SourceLocation EllipsisLoc
clang::SourceLocation CorrectLoc
bool AlreadyHasEllipsis
bool IdentifierHasName

void DiagnoseMisplacedEllipsisInDeclarator(
    clang::SourceLocation EllipsisLoc,
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:3405

Parameters

clang::SourceLocation EllipsisLoc
clang::Declarator& D

bool DiagnoseMissingSemiAfterTagDefinition(
    clang::DeclSpec& DS,
    clang::AccessSpecifier AS,
    clang::Parser::DeclSpecContext DSContext,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2373

Parameters

clang::DeclSpec& DS
clang::AccessSpecifier AS
clang::Parser::DeclSpecContext DSContext
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

void DiagnoseProhibitedAttributes(
    const clang::SourceRange& Range,
    clang::SourceLocation FixItLoc)

Declared at: clang/include/clang/Parse/Parser.h:2654

Parameters

const clang::SourceRange& Range
clang::SourceLocation FixItLoc

bool DiagnoseProhibitedCXX11Attribute()

Declared at: clang/include/clang/Parse/Parser.h:2622

void DiagnoseUnexpectedNamespace(
    clang::NamedDecl* Context)

Declared at: clang/include/clang/Parse/Parser.h:3025

Parameters

clang::NamedDecl* Context

void EnterScope(unsigned int ScopeFlags)

Description

EnterScope - Start a new scope.

Declared at: clang/include/clang/Parse/Parser.h:1159

Parameters

unsigned int ScopeFlags

void ExitScope()

Description

ExitScope - Pop a scope off the scope stack.

Declared at: clang/include/clang/Parse/Parser.h:1162

bool ExpectAndConsume(
    tok::TokenKind ExpectedTok,
    unsigned int Diag = diag::err_expected,
    llvm::StringRef DiagMsg = "")

Description

ExpectAndConsume - The parser expects that 'ExpectedTok' is next in the input. If so, it is consumed and false is returned. If a trivial punctuator misspelling is encountered, a FixIt error diagnostic is issued and false is returned after recovery. If the input is malformed, this emits the specified diagnostic and true is returned.

Declared at: clang/include/clang/Parse/Parser.h:1038

Parameters

tok::TokenKind ExpectedTok
unsigned int Diag = diag::err_expected
llvm::StringRef DiagMsg = ""

bool ExpectAndConsumeSemi(
    unsigned int DiagID,
    llvm::StringRef TokenUsed = "")

Description

The parser expects a semicolon and, if present, will consume it. If the next token is not a semicolon, this emits the specified diagnostic, or, if there's just some closing-delimiter noise (e.g., ')' or ']') prior to the semicolon, consumes that extra token.

Declared at: clang/include/clang/Parse/Parser.h:1047

Parameters

unsigned int DiagID
llvm::StringRef TokenUsed = ""

const clang::Token& GetLookAheadToken(
    unsigned int N)

Description

GetLookAheadToken - This peeks ahead N tokens and returns that token without consuming any tokens. LookAhead(0) returns 'Tok', LookAhead(1) returns the token after Tok, etc. Note that this differs from the Preprocessor's LookAhead method, because the Parser always has one token lexed that the preprocessor doesn't.

Declared at: clang/include/clang/Parse/Parser.h:800

Parameters

unsigned int N

void HandleMemberFunctionDeclDelays(
    clang::Declarator& DeclaratorInfo,
    clang::Decl* ThisDecl)

Declared at: clang/include/clang/Parse/Parser.h:3117

Parameters

clang::Declarator& DeclaratorInfo
clang::Decl* ThisDecl

void HandlePragmaAlign()

Description

Handle the annotation token produced for #pragma align...

Declared at: clang/include/clang/Parse/Parser.h:737

void HandlePragmaAttribute()

Declared at: clang/include/clang/Parse/Parser.h:791

clang::StmtResult HandlePragmaCaptured()

Description

Handle the annotation token produced for #pragma clang __debug captured

Declared at: clang/include/clang/Parse/Parser.h:781

void HandlePragmaDump()

Description

Handle the annotation token produced for #pragma clang __debug dump...

Declared at: clang/include/clang/Parse/Parser.h:741

void HandlePragmaFEnvAccess()

Description

Handle the annotation token produced for #pragma STDC FENV_ACCESS...

Declared at: clang/include/clang/Parse/Parser.h:761

void HandlePragmaFEnvRound()

Description

Handle the annotation token produced for #pragma STDC FENV_ROUND...

Declared at: clang/include/clang/Parse/Parser.h:765

void HandlePragmaFP()

Description

Handle the annotation token produced for #pragma clang fp ...

Declared at: clang/include/clang/Parse/Parser.h:773

void HandlePragmaFPContract()

Description

Handle the annotation token produced for #pragma STDC FP_CONTRACT...

Declared at: clang/include/clang/Parse/Parser.h:757

void HandlePragmaFloatControl()

Description

Handle the annotation token produced for #pragma float_control

Declared at: clang/include/clang/Parse/Parser.h:769

bool HandlePragmaLoopHint(clang::LoopHint& Hint)

Description

Handle the annotation token produced for #pragma clang loop and #pragma unroll.

Declared at: clang/include/clang/Parse/Parser.h:785

Parameters

clang::LoopHint& Hint

bool HandlePragmaMSAllocText(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:730

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

bool HandlePragmaMSFunction(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:728

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

bool HandlePragmaMSInitSeg(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:726

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

bool HandlePragmaMSOptimize(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:732

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

void HandlePragmaMSPointersToMembers()

Declared at: clang/include/clang/Parse/Parser.h:717

void HandlePragmaMSPragma()

Declared at: clang/include/clang/Parse/Parser.h:721

bool HandlePragmaMSSection(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:722

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

bool HandlePragmaMSSegment(
    llvm::StringRef PragmaName,
    clang::SourceLocation PragmaLocation)

Declared at: clang/include/clang/Parse/Parser.h:724

Parameters

llvm::StringRef PragmaName
clang::SourceLocation PragmaLocation

void HandlePragmaMSStruct()

Description

Handle the annotation token produced for #pragma ms_struct...

Declared at: clang/include/clang/Parse/Parser.h:715

void HandlePragmaMSVtorDisp()

Declared at: clang/include/clang/Parse/Parser.h:719

void HandlePragmaOpenCLExtension()

Description

Handle the annotation token produced for #pragma OPENCL EXTENSION...

Declared at: clang/include/clang/Parse/Parser.h:777

void HandlePragmaPack()

Description

Handle the annotation token produced for #pragma pack...

Declared at: clang/include/clang/Parse/Parser.h:711

void HandlePragmaRedefineExtname()

Description

Handle the annotation token produced for #pragma redefine_extname...

Declared at: clang/include/clang/Parse/Parser.h:753

void HandlePragmaUnused()

Description

Handle the annotation token produced for #pragma unused(...)

Declared at: clang/include/clang/Parse/Parser.h:703

void HandlePragmaVisibility()

Description

Handle the annotation token produced for #pragma GCC visibility...

Declared at: clang/include/clang/Parse/Parser.h:707

void HandlePragmaWeak()

Description

Handle the annotation token produced for #pragma weak id...

Declared at: clang/include/clang/Parse/Parser.h:745

void HandlePragmaWeakAlias()

Description

Handle the annotation token produced for #pragma weak id = id...

Declared at: clang/include/clang/Parse/Parser.h:749

void HelperActionsForIvarDeclarations(
    clang::ObjCContainerDecl* interfaceDecl,
    clang::SourceLocation atLoc,
    clang::BalancedDelimiterTracker& T,
    SmallVectorImpl<clang::Decl*>& AllIvarDecls,
    bool RBraceMissing)

Declared at: clang/include/clang/Parse/Parser.h:1628

Parameters

clang::ObjCContainerDecl* interfaceDecl
clang::SourceLocation atLoc
clang::BalancedDelimiterTracker& T
SmallVectorImpl<clang::Decl*>& AllIvarDecls
bool RBraceMissing

void InitCXXThisScopeForDeclaratorIfRelevant(
    const clang::Declarator& D,
    const clang::DeclSpec& DS,
    llvm::Optional<Sema::CXXThisScopeRAII>&
        ThisScope)

Declared at: clang/include/clang/Parse/Parser.h:2991

Parameters

const clang::Declarator& D
const clang::DeclSpec& DS
llvm::Optional<Sema::CXXThisScopeRAII>& ThisScope

void Initialize()

Description

Initialize - Warm up the parser.

Declared at: clang/include/clang/Parse/Parser.h:470

static void LateTemplateParserCallback(
    void* P,
    clang::LateParsedTemplate& LPT)

Declared at: clang/include/clang/Parse/Parser.h:1545

Parameters

void* P
clang::LateParsedTemplate& LPT

void LexTemplateFunctionForLateParsing(
    clang::CachedTokens& Toks)

Declared at: clang/include/clang/Parse/Parser.h:1542

Parameters

clang::CachedTokens& Toks

bool MayBeDesignationStart()

Declared at: clang/include/clang/Parse/Parser.h:2025

void MaybeDestroyTemplateIds()

Declared at: clang/include/clang/Parse/Parser.h:291

void MaybeParseAndDiagnoseDeclSpecAfterCXX11VirtSpecifierSeq(
    clang::Declarator& D,
    clang::VirtSpecifiers& VS)

Declared at: clang/include/clang/Parse/Parser.h:3105

Parameters

clang::Declarator& D
clang::VirtSpecifiers& VS

bool MaybeParseAttributes(
    unsigned int WhichAttrKinds,
    clang::ParsedAttributes& Attrs,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Description

Possibly parse attributes based on what syntaxes are desired, allowing for the order to vary.

Declared at: clang/include/clang/Parse/Parser.h:2714

Parameters

unsigned int WhichAttrKinds
clang::ParsedAttributes& Attrs
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

void MaybeParseCXX11Attributes(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2768

Parameters

clang::Declarator& D

bool MaybeParseCXX11Attributes(
    clang::ParsedAttributes& Attrs,
    bool OuterMightBeMessageSend = false)

Declared at: clang/include/clang/Parse/Parser.h:2776

Parameters

clang::ParsedAttributes& Attrs
bool OuterMightBeMessageSend = false

bool MaybeParseGNUAttributes(
    clang::ParsedAttributes& Attrs,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2733

Parameters

clang::ParsedAttributes& Attrs
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

void MaybeParseGNUAttributes(
    clang::Declarator& D,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2724

Parameters

clang::Declarator& D
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

void MaybeParseHLSLSemantics(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2813

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc = nullptr

void MaybeParseMicrosoftAttributes(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2822

Parameters

clang::ParsedAttributes& Attrs

bool MaybeParseMicrosoftDeclSpecs(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2832

Parameters

clang::ParsedAttributes& Attrs

void MaybeSkipAttributes(
    tok::ObjCKeywordKind Kind)

Declared at: clang/include/clang/Parse/Parser.h:1616

Parameters

tok::ObjCKeywordKind Kind

bool MightBeCXXScopeToken()

Declared at: clang/include/clang/Parse/Parser.h:862

bool MightBeDeclarator(
    clang::DeclaratorContext Context)

Declared at: clang/include/clang/Parse/Parser.h:2340

Parameters

clang::DeclaratorContext Context

const clang::Token& NextToken()

Description

NextToken - This peeks ahead one token and returns it without consuming it.

Declared at: clang/include/clang/Parse/Parser.h:808

clang::Decl* ParseAliasDeclarationAfterDeclarator(
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::SourceLocation UsingLoc,
    clang::Parser::UsingDeclarator& D,
    clang::SourceLocation& DeclEnd,
    clang::AccessSpecifier AS,
    clang::ParsedAttributes& Attrs,
    clang::Decl** OwnedType = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:3073

Parameters

const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::SourceLocation UsingLoc
clang::Parser::UsingDeclarator& D
clang::SourceLocation& DeclEnd
clang::AccessSpecifier AS
clang::ParsedAttributes& Attrs
clang::Decl** OwnedType = nullptr

clang::Parser::DeclGroupPtrTy
ParseAliasDeclarationInInitStatement(
    clang::DeclaratorContext Context,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:1999

Parameters

clang::DeclaratorContext Context
clang::ParsedAttributes& Attrs

clang::ExprResult ParseAlignArgument(
    clang::SourceLocation Start,
    clang::SourceLocation& EllipsisLoc)

Declared at: clang/include/clang/Parse/Parser.h:2912

Parameters

clang::SourceLocation Start
clang::SourceLocation& EllipsisLoc

void ParseAlignmentSpecifier(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* endLoc = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2914

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation* endLoc = nullptr

clang::ExprResult ParseArrayTypeTrait()

Declared at: clang/include/clang/Parse/Parser.h:3468

bool ParseAsmAttributesAfterDeclarator(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2347

Parameters

clang::Declarator& D

bool ParseAsmOperandsOpt(
    SmallVectorImpl<clang::IdentifierInfo*>&
        Names,
    SmallVectorImpl<clang::Expr*>& Constraints,
    SmallVectorImpl<clang::Expr*>& Exprs)

Declared at: clang/include/clang/Parse/Parser.h:2156

Parameters

SmallVectorImpl<clang::IdentifierInfo*>& Names
SmallVectorImpl<clang::Expr*>& Constraints
SmallVectorImpl<clang::Expr*>& Exprs

clang::StmtResult ParseAsmStatement(bool& msAsm)

Declared at: clang/include/clang/Parse/Parser.h:2110

Parameters

bool& msAsm

clang::ExprResult ParseAsmStringLiteral(
    bool ForAsmLabel)

Declared at: clang/include/clang/Parse/Parser.h:1613

Parameters

bool ForAsmLabel

clang::ExprResult
ParseAssignmentExprWithObjCMessageExprStart(
    clang::SourceLocation LBracloc,
    clang::SourceLocation SuperLoc,
    clang::ParsedType ReceiverType,
    clang::Expr* ReceiverExpr)

Declared at: clang/include/clang/Parse/Parser.h:2057

Parameters

clang::SourceLocation LBracloc
clang::SourceLocation SuperLoc
clang::ParsedType ReceiverType
clang::Expr* ReceiverExpr

clang::ExprResult ParseAssignmentExpression(
    clang::Parser::TypeCastState isTypeCast =
        NotTypeCast)

Declared at: clang/include/clang/Parse/Parser.h:1762

Parameters

clang::Parser::TypeCastState isTypeCast = NotTypeCast

void ParseAtomicSpecifier(clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:2910

Parameters

clang::DeclSpec& DS

unsigned int ParseAttributeArgsCommon(
    clang::IdentifierInfo* AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Description

Parses syntax-generic attribute arguments for attributes which are known to the implementation, and adds them to the given ParsedAttributes list with the given attribute syntax. Returns the number of arguments parsed for the attribute.

Declared at: clang/include/clang/Parse/Parser.h:2685

Parameters

clang::IdentifierInfo* AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

void ParseAttributeWithTypeArg(
    clang::IdentifierInfo& AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2897

Parameters

clang::IdentifierInfo& AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

void ParseAttributes(
    unsigned int WhichAttrKinds,
    clang::ParsedAttributes& Attrs,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Description

Parse attributes based on what syntaxes are desired, allowing for the order to vary. e.g. with PAKM_GNU | PAKM_Declspec: __attribute__((...)) __declspec(...) __attribute__((...))) Note that Microsoft attributes (spelled with single square brackets) are not supported by this because of parsing ambiguities with other constructs.

There are some attribute parse orderings that should not be allowed in arbitrary order. e.g., [[]] __attribute__(()) int i; // OK __attribute__(()) [[]] int i; // Not OK Such situations should use the specific attribute parsing functionality.

Declared at: clang/include/clang/Parse/Parser.h:2710

Parameters

unsigned int WhichAttrKinds
clang::ParsedAttributes& Attrs
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

void ParseAvailabilityAttribute(
    clang::IdentifierInfo& Availability,
    clang::SourceLocation AvailabilityLoc,
    clang::ParsedAttributes& attrs,
    clang::SourceLocation* endLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2854

Parameters

clang::IdentifierInfo& Availability
clang::SourceLocation AvailabilityLoc
clang::ParsedAttributes& attrs
clang::SourceLocation* endLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

clang::ExprResult ParseAvailabilityCheckExpr(
    clang::SourceLocation StartLoc)

Declared at: clang/include/clang/Parse/Parser.h:2863

Parameters

clang::SourceLocation StartLoc

Optional<clang::AvailabilitySpec>
ParseAvailabilitySpec()

Declared at: clang/include/clang/Parse/Parser.h:2862

void ParseBaseClause(clang::Decl* ClassDecl)

Declared at: clang/include/clang/Parse/Parser.h:3124

Parameters

clang::Decl* ClassDecl

clang::BaseResult ParseBaseSpecifier(
    clang::Decl* ClassDecl)

Declared at: clang/include/clang/Parse/Parser.h:3125

Parameters

clang::Decl* ClassDecl

clang::TypeResult ParseBaseTypeSpecifier(
    clang::SourceLocation& BaseLoc,
    clang::SourceLocation& EndLocation)

Declared at: clang/include/clang/Parse/Parser.h:3122

Parameters

clang::SourceLocation& BaseLoc
clang::SourceLocation& EndLocation

void ParseBlockId(clang::SourceLocation CaretLoc)

Declared at: clang/include/clang/Parse/Parser.h:2605

Parameters

clang::SourceLocation CaretLoc

clang::ExprResult ParseBlockLiteralExpression()

Declared at: clang/include/clang/Parse/Parser.h:2036

void ParseBorlandTypeAttributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2847

Parameters

clang::ParsedAttributes& attrs

clang::ExprResult ParseBraceInitializer()

Declared at: clang/include/clang/Parse/Parser.h:2026

void ParseBracketDeclarator(clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:3005

Parameters

clang::Declarator& D

clang::StmtResult ParseBreakStatement()

Declared at: clang/include/clang/Parse/Parser.h:2108

clang::ExprResult ParseBuiltinBitCast()

Description

Parse a __builtin_bit_cast(T, E), used to implement C++2a std::bit_cast.

Declared at: clang/include/clang/Parse/Parser.h:1922

clang::ExprResult ParseBuiltinPrimaryExpression()

Declared at: clang/include/clang/Parse/Parser.h:1819

void ParseCUDAFunctionAttributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2851

Parameters

clang::ParsedAttributes& attrs

bool ParseCXX11AttributeArgs(
    clang::IdentifierInfo* AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    clang::CachedTokens& OpenMPTokens)

Description

Parses a C++11 (or C2x)-style attribute argument list. Returns true if this results in adding an attribute to the ParsedAttributes list.

Declared at: clang/include/clang/Parse/Parser.h:2801

Parameters

clang::IdentifierInfo* AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
clang::CachedTokens& OpenMPTokens

void ParseCXX11AttributeSpecifier(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2792

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc = nullptr

void ParseCXX11AttributeSpecifierInternal(
    clang::ParsedAttributes& Attrs,
    clang::CachedTokens& OpenMPTokens,
    clang::SourceLocation* EndLoc = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2789

Parameters

clang::ParsedAttributes& Attrs
clang::CachedTokens& OpenMPTokens
clang::SourceLocation* EndLoc = nullptr

void ParseCXX11Attributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2798

Parameters

clang::ParsedAttributes& attrs

clang::ExprResult
ParseCXXAmbiguousParenExpression(
    clang::Parser::ParenParseOption& ExprType,
    clang::ParsedType& CastTy,
    clang::BalancedDelimiterTracker& Tracker,
    clang::ColonProtectionRAIIObject& ColonProt)

Declared at: clang/include/clang/Parse/Parser.h:1857

Parameters

clang::Parser::ParenParseOption& ExprType
clang::ParsedType& CastTy
clang::BalancedDelimiterTracker& Tracker
clang::ColonProtectionRAIIObject& ColonProt

clang::ExprResult ParseCXXBoolLiteral()

Declared at: clang/include/clang/Parse/Parser.h:1968

clang::ExprResult ParseCXXCasts()

Declared at: clang/include/clang/Parse/Parser.h:1919

clang::StmtResult ParseCXXCatchBlock(
    bool FnCatch = false)

Declared at: clang/include/clang/Parse/Parser.h:2165

Parameters

bool FnCatch = false

clang::Parser::DeclGroupPtrTy
ParseCXXClassMemberDeclaration(
    clang::AccessSpecifier AS,
    clang::ParsedAttributes& Attr,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo =
            clang::Parser::ParsedTemplateInfo(),
    clang::ParsingDeclRAIIObject*
        DiagsFromTParams = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:3107

Parameters

clang::AccessSpecifier AS
clang::ParsedAttributes& Attr
const clang::Parser::ParsedTemplateInfo& TemplateInfo = clang::Parser::ParsedTemplateInfo()
clang::ParsingDeclRAIIObject* DiagsFromTParams = nullptr

clang::Parser::DeclGroupPtrTy
ParseCXXClassMemberDeclarationWithPragmas(
    clang::AccessSpecifier& AS,
    clang::ParsedAttributes& AccessAttrs,
    DeclSpec::TST TagType,
    clang::Decl* Tag)

Declared at: clang/include/clang/Parse/Parser.h:3112

Parameters

clang::AccessSpecifier& AS
clang::ParsedAttributes& AccessAttrs
DeclSpec::TST TagType
clang::Decl* Tag

Sema::ConditionResult ParseCXXCondition(
    clang::StmtResult* InitStmt,
    clang::SourceLocation Loc,
    Sema::ConditionKind CK,
    bool MissingOK,
    clang::Parser::ForRangeInfo* FRI = nullptr,
    bool EnterForConditionScope = false)

Declared at: clang/include/clang/Parse/Parser.h:1993

Parameters

clang::StmtResult* InitStmt
clang::SourceLocation Loc
Sema::ConditionKind CK
bool MissingOK
clang::Parser::ForRangeInfo* FRI = nullptr
bool EnterForConditionScope = false

clang::ExprResult ParseCXXDeleteExpression(
    bool UseGlobal,
    clang::SourceLocation Start)

Declared at: clang/include/clang/Parse/Parser.h:1987

Parameters

bool UseGlobal
clang::SourceLocation Start

clang::ExprResult ParseCXXIdExpression(
    bool isAddressOfOperand = false)

Declared at: clang/include/clang/Parse/Parser.h:1874

Parameters

bool isAddressOfOperand = false

clang::NamedDecl* ParseCXXInlineMethodDef(
    clang::AccessSpecifier AS,
    const clang::ParsedAttributesView&
        AccessAttrs,
    clang::ParsingDeclarator& D,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    const clang::VirtSpecifiers& VS,
    clang::SourceLocation PureSpecLoc)

Declared at: clang/include/clang/Parse/Parser.h:1557

Parameters

clang::AccessSpecifier AS
const clang::ParsedAttributesView& AccessAttrs
clang::ParsingDeclarator& D
const clang::Parser::ParsedTemplateInfo& TemplateInfo
const clang::VirtSpecifiers& VS
clang::SourceLocation PureSpecLoc

bool ParseCXXMemberDeclaratorBeforeInitializer(
    clang::Declarator& DeclaratorInfo,
    clang::VirtSpecifiers& VS,
    clang::ExprResult& BitfieldSize,
    clang::Parser::LateParsedAttrList& LateAttrs)

Declared at: clang/include/clang/Parse/Parser.h:3101

Parameters

clang::Declarator& DeclaratorInfo
clang::VirtSpecifiers& VS
clang::ExprResult& BitfieldSize
clang::Parser::LateParsedAttrList& LateAttrs

clang::ExprResult ParseCXXMemberInitializer(
    clang::Decl* D,
    bool IsFunction,
    clang::SourceLocation& EqualLoc)

Declared at: clang/include/clang/Parse/Parser.h:3098

Parameters

clang::Decl* D
bool IsFunction
clang::SourceLocation& EqualLoc

void ParseCXXMemberSpecification(
    clang::SourceLocation StartLoc,
    clang::SourceLocation AttrFixitLoc,
    clang::ParsedAttributes& Attrs,
    unsigned int TagType,
    clang::Decl* TagDecl)

Declared at: clang/include/clang/Parse/Parser.h:3094

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation AttrFixitLoc
clang::ParsedAttributes& Attrs
unsigned int TagType
clang::Decl* TagDecl

clang::ExprResult ParseCXXNewExpression(
    bool UseGlobal,
    clang::SourceLocation Start)

Declared at: clang/include/clang/Parse/Parser.h:1986

Parameters

bool UseGlobal
clang::SourceLocation Start

void ParseCXXNonStaticMemberInitializer(
    clang::Decl* VarD)

Declared at: clang/include/clang/Parse/Parser.h:1563

Parameters

clang::Decl* VarD

clang::ExprResult ParseCXXPseudoDestructor(
    clang::Expr* Base,
    clang::SourceLocation OpLoc,
    tok::TokenKind OpKind,
    clang::CXXScopeSpec& SS,
    clang::ParsedType ObjectType)

Declared at: clang/include/clang/Parse/Parser.h:1934

Parameters

clang::Expr* Base
clang::SourceLocation OpLoc
tok::TokenKind OpKind
clang::CXXScopeSpec& SS
clang::ParsedType ObjectType

void ParseCXXSimpleTypeSpecifier(
    clang::DeclSpec& DS)

Description

ParseCXXSimpleTypeSpecifier - [C++ 7.1.5.2] Simple type specifiers. This should only be called when the current token is known to be part of simple-type-specifier.

Declared at: clang/include/clang/Parse/Parser.h:1977

Parameters

clang::DeclSpec& DS

clang::ExprResult ParseCXXThis()

Declared at: clang/include/clang/Parse/Parser.h:1941

clang::StmtResult ParseCXXTryBlock()

Declared at: clang/include/clang/Parse/Parser.h:2163

clang::StmtResult ParseCXXTryBlockCommon(
    clang::SourceLocation TryLoc,
    bool FnTry = false)

Declared at: clang/include/clang/Parse/Parser.h:2164

Parameters

clang::SourceLocation TryLoc
bool FnTry = false

clang::ExprResult ParseCXXTypeConstructExpression(
    const clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:1972

Parameters

const clang::DeclSpec& DS

bool ParseCXXTypeSpecifierSeq(clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:1979

Parameters

clang::DeclSpec& DS

clang::ExprResult ParseCXXTypeid()

Declared at: clang/include/clang/Parse/Parser.h:1926

clang::ExprResult ParseCXXUuidof()

Declared at: clang/include/clang/Parse/Parser.h:1930

clang::ExprResult ParseCaseExpression(
    clang::SourceLocation CaseLoc)

Declared at: clang/include/clang/Parse/Parser.h:1756

Parameters

clang::SourceLocation CaseLoc

clang::StmtResult ParseCaseStatement(
    clang::Parser::ParsedStmtContext StmtCtx,
    bool MissingCase = false,
    clang::ExprResult Expr =
        clang::ActionResult<clang::Expr*, true>())

Declared at: clang/include/clang/Parse/Parser.h:2086

Parameters

clang::Parser::ParsedStmtContext StmtCtx
bool MissingCase = false
clang::ExprResult Expr = clang::ActionResult<clang::Expr *, true>()

clang::ExprResult ParseCastExpression(
    clang::Parser::CastParseKind ParseKind,
    bool isAddressOfOperand,
    bool& NotCastExpr,
    clang::Parser::TypeCastState isTypeCast,
    bool isVectorLiteral = false,
    bool* NotPrimaryExpression = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:1783

Parameters

clang::Parser::CastParseKind ParseKind
bool isAddressOfOperand
bool& NotCastExpr
clang::Parser::TypeCastState isTypeCast
bool isVectorLiteral = false
bool* NotPrimaryExpression = nullptr

clang::ExprResult ParseCastExpression(
    clang::Parser::CastParseKind ParseKind,
    bool isAddressOfOperand = false,
    clang::Parser::TypeCastState isTypeCast =
        NotTypeCast,
    bool isVectorLiteral = false,
    bool* NotPrimaryExpression = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:1789

Parameters

clang::Parser::CastParseKind ParseKind
bool isAddressOfOperand = false
clang::Parser::TypeCastState isTypeCast = NotTypeCast
bool isVectorLiteral = false
bool* NotPrimaryExpression = nullptr

unsigned int ParseClangAttributeArgs(
    clang::IdentifierInfo* AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2753

Parameters

clang::IdentifierInfo* AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

void ParseClassSpecifier(
    tok::TokenKind TagTokKind,
    clang::SourceLocation TagLoc,
    clang::DeclSpec& DS,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::AccessSpecifier AS,
    bool EnteringContext,
    clang::Parser::DeclSpecContext DSC,
    clang::ParsedAttributes& Attributes)

Declared at: clang/include/clang/Parse/Parser.h:3086

Parameters

tok::TokenKind TagTokKind
clang::SourceLocation TagLoc
clang::DeclSpec& DS
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::AccessSpecifier AS
bool EnteringContext
clang::Parser::DeclSpecContext DSC
clang::ParsedAttributes& Attributes

clang::ExprResult ParseCompoundLiteralExpression(
    clang::ParsedType Ty,
    clang::SourceLocation LParenLoc,
    clang::SourceLocation RParenLoc)

Declared at: clang/include/clang/Parse/Parser.h:1860

Parameters

clang::ParsedType Ty
clang::SourceLocation LParenLoc
clang::SourceLocation RParenLoc

clang::StmtResult ParseCompoundStatement(
    bool isStmtExpr,
    unsigned int ScopeFlags)

Declared at: clang/include/clang/Parse/Parser.h:2091

Parameters

bool isStmtExpr
unsigned int ScopeFlags

clang::StmtResult ParseCompoundStatement(
    bool isStmtExpr = false)

Declared at: clang/include/clang/Parse/Parser.h:2090

Parameters

bool isStmtExpr = false

clang::StmtResult ParseCompoundStatementBody(
    bool isStmtExpr = false)

Declared at: clang/include/clang/Parse/Parser.h:2095

Parameters

bool isStmtExpr = false

void ParseCompoundStatementLeadingPragmas()

Declared at: clang/include/clang/Parse/Parser.h:2093

clang::Decl* ParseConceptDefinition(
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::SourceLocation& DeclEnd)

Declared at: clang/include/clang/Parse/Parser.h:3440

Parameters

const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::SourceLocation& DeclEnd

clang::ExprResult ParseConstantExpression(
    clang::Parser::TypeCastState isTypeCast =
        NotTypeCast)

Declared at: clang/include/clang/Parse/Parser.h:1755

Parameters

clang::Parser::TypeCastState isTypeCast = NotTypeCast

clang::ExprResult
ParseConstantExpressionInExprEvalContext(
    clang::Parser::TypeCastState isTypeCast =
        NotTypeCast)

Declared at: clang/include/clang/Parse/Parser.h:1753

Parameters

clang::Parser::TypeCastState isTypeCast = NotTypeCast

clang::ExprResult ParseConstraintExpression()

Declared at: clang/include/clang/Parse/Parser.h:1757

clang::ExprResult
ParseConstraintLogicalAndExpression(
    bool IsTrailingRequiresClause)

Declared at: clang/include/clang/Parse/Parser.h:1759

Parameters

bool IsTrailingRequiresClause

clang::ExprResult
ParseConstraintLogicalOrExpression(
    bool IsTrailingRequiresClause)

Declared at: clang/include/clang/Parse/Parser.h:1760

Parameters

bool IsTrailingRequiresClause

void ParseConstructorInitializer(
    clang::Decl* ConstructorDecl)

Declared at: clang/include/clang/Parse/Parser.h:3115

Parameters

clang::Decl* ConstructorDecl

clang::StmtResult ParseContinueStatement()

Declared at: clang/include/clang/Parse/Parser.h:2107

clang::ExprResult ParseCoyieldExpression()

Declared at: clang/include/clang/Parse/Parser.h:2005

clang::Parser::DeclGroupPtrTy ParseDeclGroup(
    clang::ParsingDeclSpec& DS,
    clang::DeclaratorContext Context,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* DeclEnd = nullptr,
    clang::Parser::ForRangeInit* FRI = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2341

Parameters

clang::ParsingDeclSpec& DS
clang::DeclaratorContext Context
clang::ParsedAttributes& Attrs
clang::SourceLocation* DeclEnd = nullptr
clang::Parser::ForRangeInit* FRI = nullptr

clang::Parser::DeclGroupPtrTy
ParseDeclOrFunctionDefInternal(
    clang::ParsedAttributes& Attrs,
    clang::ParsingDeclSpec& DS,
    clang::AccessSpecifier AS)

Declared at: clang/include/clang/Parse/Parser.h:1602

Parameters

clang::ParsedAttributes& Attrs
clang::ParsingDeclSpec& DS
clang::AccessSpecifier AS

clang::Parser::DeclGroupPtrTy ParseDeclaration(
    clang::DeclaratorContext Context,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& DeclAttrs,
    clang::ParsedAttributes& DeclSpecAttrs,
    clang::SourceLocation* DeclSpecStart =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2329

Parameters

clang::DeclaratorContext Context
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& DeclAttrs
clang::ParsedAttributes& DeclSpecAttrs
clang::SourceLocation* DeclSpecStart = nullptr

clang::Decl* ParseDeclarationAfterDeclarator(
    clang::Declarator& D,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo =
            clang::Parser::ParsedTemplateInfo())

Declared at: clang/include/clang/Parse/Parser.h:2345

Parameters

clang::Declarator& D
const clang::Parser::ParsedTemplateInfo& TemplateInfo = clang::Parser::ParsedTemplateInfo()

clang::Decl*
ParseDeclarationAfterDeclaratorAndAttributes(
    clang::Declarator& D,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo =
            clang::Parser::ParsedTemplateInfo(),
    clang::Parser::ForRangeInit* FRI = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2348

Parameters

clang::Declarator& D
const clang::Parser::ParsedTemplateInfo& TemplateInfo = clang::Parser::ParsedTemplateInfo()
clang::Parser::ForRangeInit* FRI = nullptr

clang::Parser::DeclGroupPtrTy
ParseDeclarationOrFunctionDefinition(
    clang::ParsedAttributes& Attrs,
    clang::ParsingDeclSpec* DS = nullptr,
    clang::AccessSpecifier AS = AS_none)

Declared at: clang/include/clang/Parse/Parser.h:1599

Parameters

clang::ParsedAttributes& Attrs
clang::ParsingDeclSpec* DS = nullptr
clang::AccessSpecifier AS = AS_none

void ParseDeclarationSpecifiers(
    clang::DeclSpec& DS,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo =
            clang::Parser::ParsedTemplateInfo(),
    clang::AccessSpecifier AS = AS_none,
    clang::Parser::DeclSpecContext DSC =
        DeclSpecContext::DSC_normal,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2367

Parameters

clang::DeclSpec& DS
const clang::Parser::ParsedTemplateInfo& TemplateInfo = clang::Parser::ParsedTemplateInfo()
clang::AccessSpecifier AS = AS_none
clang::Parser::DeclSpecContext DSC = DeclSpecContext::DSC_normal
clang::Parser::LateParsedAttrList* LateAttrs = nullptr

clang::Decl* ParseDeclarationStartingWithTemplate(
    clang::DeclaratorContext Context,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& AccessAttrs,
    clang::AccessSpecifier AS = AS_none)

Declared at: clang/include/clang/Parse/Parser.h:3376

Parameters

clang::DeclaratorContext Context
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& AccessAttrs
clang::AccessSpecifier AS = AS_none

void ParseDeclarator(clang::Declarator& D)

Description

ParseDeclarator - Parse and verify a newly-initialized declarator.

Declared at: clang/include/clang/Parse/Parser.h:2962

Parameters

clang::Declarator& D

void ParseDeclaratorInternal(
    clang::Declarator& D,
    clang::Parser::DirectDeclParseFunction
        DirectDeclParser)

Declared at: clang/include/clang/Parse/Parser.h:2965

Parameters

clang::Declarator& D
clang::Parser::DirectDeclParseFunction DirectDeclParser

clang::SourceLocation ParseDecltypeSpecifier(
    clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:2905

Parameters

clang::DeclSpec& DS

void ParseDecompositionDeclarator(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2986

Parameters

clang::Declarator& D

clang::StmtResult ParseDefaultStatement(
    clang::Parser::ParsedStmtContext StmtCtx)

Declared at: clang/include/clang/Parse/Parser.h:2089

Parameters

clang::Parser::ParsedStmtContext StmtCtx

void ParseDirectDeclarator(clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2985

Parameters

clang::Declarator& D

void ParseDirectNewDeclarator(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:1985

Parameters

clang::Declarator& D

clang::StmtResult ParseDoStatement()

Declared at: clang/include/clang/Parse/Parser.h:2104

clang::ExceptionSpecificationType
ParseDynamicExceptionSpecification(
    clang::SourceRange& SpecificationRange,
    SmallVectorImpl<clang::ParsedType>&
        Exceptions,
    SmallVectorImpl<clang::SourceRange>& Ranges)

Declared at: clang/include/clang/Parse/Parser.h:1956

Parameters

clang::SourceRange& SpecificationRange
SmallVectorImpl<clang::ParsedType>& Exceptions
SmallVectorImpl<clang::SourceRange>& Ranges

void ParseEnumBody(clang::SourceLocation StartLoc,
                   clang::Decl* TagDecl)

Declared at: clang/include/clang/Parse/Parser.h:2387

Parameters

clang::SourceLocation StartLoc
clang::Decl* TagDecl

void ParseEnumSpecifier(
    clang::SourceLocation TagLoc,
    clang::DeclSpec& DS,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::AccessSpecifier AS,
    clang::Parser::DeclSpecContext DSC)

Declared at: clang/include/clang/Parse/Parser.h:2384

Parameters

clang::SourceLocation TagLoc
clang::DeclSpec& DS
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::AccessSpecifier AS
clang::Parser::DeclSpecContext DSC

clang::Decl* ParseExplicitInstantiation(
    clang::DeclaratorContext Context,
    clang::SourceLocation ExternLoc,
    clang::SourceLocation TemplateLoc,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& AccessAttrs,
    clang::AccessSpecifier AS = AS_none)

Declared at: clang/include/clang/Parse/Parser.h:3432

Parameters

clang::DeclaratorContext Context
clang::SourceLocation ExternLoc
clang::SourceLocation TemplateLoc
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& AccessAttrs
clang::AccessSpecifier AS = AS_none

clang::Decl* ParseExportDeclaration()

Declared at: clang/include/clang/Parse/Parser.h:3044

clang::ExprResult
ParseExprAfterUnaryExprOrTypeTrait(
    const clang::Token& OpTok,
    bool& isCastExpr,
    clang::ParsedType& CastTy,
    clang::SourceRange& CastRange)

Declared at: clang/include/clang/Parse/Parser.h:1822

Parameters

const clang::Token& OpTok
bool& isCastExpr
clang::ParsedType& CastTy
clang::SourceRange& CastRange

clang::StmtResult ParseExprStatement(
    clang::Parser::ParsedStmtContext StmtCtx)

Declared at: clang/include/clang/Parse/Parser.h:2083

Parameters

clang::Parser::ParsedStmtContext StmtCtx

clang::ExprResult ParseExpression(
    clang::Parser::TypeCastState isTypeCast =
        NotTypeCast)

Declared at: clang/include/clang/Parse/Parser.h:1752

Parameters

clang::Parser::TypeCastState isTypeCast = NotTypeCast

bool ParseExpressionList(
    SmallVectorImpl<clang::Expr*>& Exprs,
    SmallVectorImpl<clang::SourceLocation>&
        CommaLocs,
    llvm::function_ref<void()> ExpressionStarts =
        llvm::function_ref<void()>(),
    bool FailImmediatelyOnInvalidExpr = false,
    bool EarlyTypoCorrection = false)

Description

ParseExpressionList - Used for C/C++ (argument-)expression-list.

Declared at: clang/include/clang/Parse/Parser.h:1830

Parameters

SmallVectorImpl<clang::Expr*>& Exprs
SmallVectorImpl<clang::SourceLocation>& CommaLocs
llvm::function_ref<void()> ExpressionStarts = llvm::function_ref<void ()>()
bool FailImmediatelyOnInvalidExpr = false
bool EarlyTypoCorrection = false

bool ParseExpressionListOrTypeId(
    SmallVectorImpl<clang::Expr*>& Exprs,
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:1983

Parameters

SmallVectorImpl<clang::Expr*>& Exprs
clang::Declarator& D

clang::ExprResult ParseExpressionTrait()

Declared at: clang/include/clang/Parse/Parser.h:3469

clang::ExprResult ParseExpressionWithLeadingAt(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:1771

Parameters

clang::SourceLocation AtLoc

clang::ExprResult
ParseExpressionWithLeadingExtension(
    clang::SourceLocation ExtLoc)

Declared at: clang/include/clang/Parse/Parser.h:1773

Parameters

clang::SourceLocation ExtLoc

clang::ExprResult ParseExtIntegerArgument()

Declared at: clang/include/clang/Parse/Parser.h:2916

clang::Parser::DeclGroupPtrTy
ParseExternalDeclaration(
    clang::ParsedAttributes& Attrs,
    clang::ParsingDeclSpec* DS = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:1594

Parameters

clang::ParsedAttributes& Attrs
clang::ParsingDeclSpec* DS = nullptr

void ParseExternalSourceSymbolAttribute(
    clang::IdentifierInfo& ExternalSourceSymbol,
    clang::SourceLocation Loc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2865

Parameters

clang::IdentifierInfo& ExternalSourceSymbol
clang::SourceLocation Loc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

bool ParseFirstTopLevelDecl(
    clang::Parser::DeclGroupPtrTy& Result,
    Sema::ModuleImportState& ImportState)

Description

Parse the first top-level declaration in a translation unit.

Declared at: clang/include/clang/Parse/Parser.h:473

Parameters

clang::Parser::DeclGroupPtrTy& Result
Sema::ModuleImportState& ImportState

clang::ExprResult ParseFoldExpression(
    clang::ExprResult LHS,
    clang::BalancedDelimiterTracker& T)

Declared at: clang/include/clang/Parse/Parser.h:1868

Parameters

clang::ExprResult LHS
clang::BalancedDelimiterTracker& T

clang::StmtResult ParseForStatement(
    clang::SourceLocation* TrailingElseLoc)

Declared at: clang/include/clang/Parse/Parser.h:2105

Parameters

clang::SourceLocation* TrailingElseLoc

void ParseFunctionDeclarator(
    clang::Declarator& D,
    clang::ParsedAttributes& FirstArgAttrs,
    clang::BalancedDelimiterTracker& Tracker,
    bool IsAmbiguous,
    bool RequiresArg = false)

Declared at: clang/include/clang/Parse/Parser.h:2988

Parameters

clang::Declarator& D
clang::ParsedAttributes& FirstArgAttrs
clang::BalancedDelimiterTracker& Tracker
bool IsAmbiguous
bool RequiresArg = false

void ParseFunctionDeclaratorIdentifierList(
    clang::Declarator& D,
    SmallVectorImpl<DeclaratorChunk::ParamInfo>&
        ParamInfo)

Declared at: clang/include/clang/Parse/Parser.h:2997

Parameters

clang::Declarator& D
SmallVectorImpl<DeclaratorChunk::ParamInfo>& ParamInfo

clang::Decl* ParseFunctionDefinition(
    clang::ParsingDeclarator& D,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo =
            clang::Parser::ParsedTemplateInfo(),
    clang::Parser::LateParsedAttrList*
        LateParsedAttrs = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:1607

Parameters

clang::ParsingDeclarator& D
const clang::Parser::ParsedTemplateInfo& TemplateInfo = clang::Parser::ParsedTemplateInfo()
clang::Parser::LateParsedAttrList* LateParsedAttrs = nullptr

clang::Decl* ParseFunctionStatementBody(
    clang::Decl* Decl,
    clang::Parser::ParseScope& BodyScope)

Declared at: clang/include/clang/Parse/Parser.h:2352

Parameters

clang::Decl* Decl
clang::Parser::ParseScope& BodyScope

clang::Decl* ParseFunctionTryBlock(
    clang::Decl* Decl,
    clang::Parser::ParseScope& BodyScope)

Declared at: clang/include/clang/Parse/Parser.h:2353

Parameters

clang::Decl* Decl
clang::Parser::ParseScope& BodyScope

void ParseGNUAttributeArgs(
    clang::IdentifierInfo* AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax,
    clang::Declarator* D)

Declared at: clang/include/clang/Parse/Parser.h:2745

Parameters

clang::IdentifierInfo* AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax
clang::Declarator* D

void ParseGNUAttributes(
    clang::ParsedAttributes& Attrs,
    clang::Parser::LateParsedAttrList* LateAttrs =
        nullptr,
    clang::Declarator* D = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2742

Parameters

clang::ParsedAttributes& Attrs
clang::Parser::LateParsedAttrList* LateAttrs = nullptr
clang::Declarator* D = nullptr

clang::ExprResult
ParseGenericSelectionExpression()

Declared at: clang/include/clang/Parse/Parser.h:1864

clang::StmtResult ParseGotoStatement()

Declared at: clang/include/clang/Parse/Parser.h:2106

bool ParseGreaterThanInTemplateList(
    clang::SourceLocation LAngleLoc,
    clang::SourceLocation& RAngleLoc,
    bool ConsumeLastToken,
    bool ObjCGenericList)

Declared at: clang/include/clang/Parse/Parser.h:3410

Parameters

clang::SourceLocation LAngleLoc
clang::SourceLocation& RAngleLoc
bool ConsumeLastToken
bool ObjCGenericList

void ParseHLSLSemantics(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2819

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc = nullptr

clang::IdentifierLoc* ParseIdentifierLoc()

Declared at: clang/include/clang/Parse/Parser.h:2750

clang::StmtResult ParseIfStatement(
    clang::SourceLocation* TrailingElseLoc)

Declared at: clang/include/clang/Parse/Parser.h:2101

Parameters

clang::SourceLocation* TrailingElseLoc

bool ParseImplicitInt(
    clang::DeclSpec& DS,
    clang::CXXScopeSpec* SS,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::AccessSpecifier AS,
    clang::Parser::DeclSpecContext DSC,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2361

Parameters

clang::DeclSpec& DS
clang::CXXScopeSpec* SS
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::AccessSpecifier AS
clang::Parser::DeclSpecContext DSC
clang::ParsedAttributes& Attrs

clang::ExprResult ParseInitializer()

Description

ParseInitializer initializer: [C99 6.7.8] assignment-expression '{' ...

Declared at: clang/include/clang/Parse/Parser.h:2020

clang::ExprResult
ParseInitializerWithPotentialDesignator(
    clang::Parser::DesignatorCompletionInfo)

Declared at: clang/include/clang/Parse/Parser.h:2031

Parameters

clang::Parser::DesignatorCompletionInfo

void ParseInnerNamespace(
    const clang::Parser::InnerNamespaceInfoList&
        InnerNSs,
    unsigned int index,
    clang::SourceLocation& InlineLoc,
    clang::ParsedAttributes& attrs,
    clang::BalancedDelimiterTracker& Tracker)

Declared at: clang/include/clang/Parse/Parser.h:3039

Parameters

const clang::Parser::InnerNamespaceInfoList& InnerNSs
unsigned int index
clang::SourceLocation& InlineLoc
clang::ParsedAttributes& attrs
clang::BalancedDelimiterTracker& Tracker

void ParseKNRParamDeclarations(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:1610

Parameters

clang::Declarator& D

clang::StmtResult ParseLabeledStatement(
    clang::ParsedAttributes& Attrs,
    clang::Parser::ParsedStmtContext StmtCtx)

Declared at: clang/include/clang/Parse/Parser.h:2084

Parameters

clang::ParsedAttributes& Attrs
clang::Parser::ParsedStmtContext StmtCtx

clang::ExprResult ParseLambdaExpression()

Declared at: clang/include/clang/Parse/Parser.h:1910

clang::ExprResult
ParseLambdaExpressionAfterIntroducer(
    clang::LambdaIntroducer& Intro)

Declared at: clang/include/clang/Parse/Parser.h:1915

Parameters

clang::LambdaIntroducer& Intro

bool ParseLambdaIntroducer(
    clang::LambdaIntroducer& Intro,
    clang::Parser::LambdaIntroducerTentativeParse*
        Tentative = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:1913

Parameters

clang::LambdaIntroducer& Intro
clang::Parser::LambdaIntroducerTentativeParse* Tentative = nullptr

void ParseLateTemplatedFuncDef(
    clang::LateParsedTemplate& LPT)

Declared at: clang/include/clang/Parse/Parser.h:1543

Parameters

clang::LateParsedTemplate& LPT

void ParseLexedAttribute(
    clang::Parser::LateParsedAttribute& LA,
    bool EnterScope,
    bool OnDefinition)

Declared at: clang/include/clang/Parse/Parser.h:1567

Parameters

clang::Parser::LateParsedAttribute& LA
bool EnterScope
bool OnDefinition

void ParseLexedAttributeList(
    clang::Parser::LateParsedAttrList& LAs,
    clang::Decl* D,
    bool EnterScope,
    bool OnDefinition)

Declared at: clang/include/clang/Parse/Parser.h:1565

Parameters

clang::Parser::LateParsedAttrList& LAs
clang::Decl* D
bool EnterScope
bool OnDefinition

void ParseLexedAttributes(
    clang::Parser::ParsingClass& Class)

Declared at: clang/include/clang/Parse/Parser.h:1564

Parameters

clang::Parser::ParsingClass& Class

void ParseLexedMemberInitializer(
    clang::Parser::LateParsedMemberInitializer&
        MI)

Declared at: clang/include/clang/Parse/Parser.h:1574

Parameters

clang::Parser::LateParsedMemberInitializer& MI

void ParseLexedMemberInitializers(
    clang::Parser::ParsingClass& Class)

Declared at: clang/include/clang/Parse/Parser.h:1573

Parameters

clang::Parser::ParsingClass& Class

void ParseLexedMethodDeclaration(
    clang::Parser::LateParsedMethodDeclaration&
        LM)

Declared at: clang/include/clang/Parse/Parser.h:1570

Parameters

clang::Parser::LateParsedMethodDeclaration& LM

void ParseLexedMethodDeclarations(
    clang::Parser::ParsingClass& Class)

Declared at: clang/include/clang/Parse/Parser.h:1569

Parameters

clang::Parser::ParsingClass& Class

void ParseLexedMethodDef(
    clang::Parser::LexedMethod& LM)

Declared at: clang/include/clang/Parse/Parser.h:1572

Parameters

clang::Parser::LexedMethod& LM

void ParseLexedMethodDefs(
    clang::Parser::ParsingClass& Class)

Declared at: clang/include/clang/Parse/Parser.h:1571

Parameters

clang::Parser::ParsingClass& Class

void ParseLexedObjCMethodDefs(
    clang::Parser::LexedMethod& LM,
    bool parseMethod)

Declared at: clang/include/clang/Parse/Parser.h:1575

Parameters

clang::Parser::LexedMethod& LM
bool parseMethod

void ParseLexedPragma(
    clang::Parser::LateParsedPragma& LP)

Declared at: clang/include/clang/Parse/Parser.h:1577

Parameters

clang::Parser::LateParsedPragma& LP

void ParseLexedPragmas(
    clang::Parser::ParsingClass& Class)

Declared at: clang/include/clang/Parse/Parser.h:1576

Parameters

clang::Parser::ParsingClass& Class

clang::Decl* ParseLinkage(
    clang::ParsingDeclSpec& DS,
    clang::DeclaratorContext Context)

Declared at: clang/include/clang/Parse/Parser.h:3043

Parameters

clang::ParsingDeclSpec& DS
clang::DeclaratorContext Context

clang::ExprResult ParseMSAsmIdentifier(
    llvm::SmallVectorImpl<Token>& LineToks,
    unsigned int& NumLineToksConsumed,
    bool IsUnevaluated)

Declared at: clang/include/clang/Parse/Parser.h:1764

Parameters

llvm::SmallVectorImpl<Token>& LineToks
unsigned int& NumLineToksConsumed
bool IsUnevaluated

clang::MemInitResult ParseMemInitializer(
    clang::Decl* ConstructorDecl)

Declared at: clang/include/clang/Parse/Parser.h:3116

Parameters

clang::Decl* ConstructorDecl

clang::StmtResult ParseMicrosoftAsmStatement(
    clang::SourceLocation AsmLoc)

Declared at: clang/include/clang/Parse/Parser.h:2111

Parameters

clang::SourceLocation AsmLoc

void ParseMicrosoftAttributes(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2831

Parameters

clang::ParsedAttributes& Attrs

bool ParseMicrosoftDeclSpecArgs(
    clang::IdentifierInfo* AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2840

Parameters

clang::IdentifierInfo* AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs

void ParseMicrosoftDeclSpecs(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2839

Parameters

clang::ParsedAttributes& Attrs

bool ParseMicrosoftIfExistsBraceInitializer(
    clang::Parser::ExprVector& InitExprs,
    bool& InitExprsOk)

Declared at: clang/include/clang/Parse/Parser.h:2154

Parameters

clang::Parser::ExprVector& InitExprs
bool& InitExprsOk

void ParseMicrosoftIfExistsClassDeclaration(
    DeclSpec::TST TagType,
    clang::ParsedAttributes& AccessAttrs,
    clang::AccessSpecifier& CurAS)

Declared at: clang/include/clang/Parse/Parser.h:2151

Parameters

DeclSpec::TST TagType
clang::ParsedAttributes& AccessAttrs
clang::AccessSpecifier& CurAS

bool ParseMicrosoftIfExistsCondition(
    clang::Parser::IfExistsCondition& Result)

Declared at: clang/include/clang/Parse/Parser.h:2148

Parameters

clang::Parser::IfExistsCondition& Result

void ParseMicrosoftIfExistsExternalDeclaration()

Declared at: clang/include/clang/Parse/Parser.h:2150

void ParseMicrosoftIfExistsStatement(
    clang::Parser::StmtVector& Stmts)

Declared at: clang/include/clang/Parse/Parser.h:2149

Parameters

clang::Parser::StmtVector& Stmts

void ParseMicrosoftInheritanceClassAttributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2846

Parameters

clang::ParsedAttributes& attrs

void ParseMicrosoftTypeAttributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2843

Parameters

clang::ParsedAttributes& attrs

void ParseMicrosoftUuidAttributeArgs(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2830

Parameters

clang::ParsedAttributes& Attrs

void ParseMisplacedBracketDeclarator(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:3006

Parameters

clang::Declarator& D

clang::Parser::DeclGroupPtrTy ParseModuleDecl(
    Sema::ModuleImportState& ImportState)

Declared at: clang/include/clang/Parse/Parser.h:3445

Parameters

Sema::ModuleImportState& ImportState

clang::Decl* ParseModuleImport(
    clang::SourceLocation AtLoc,
    Sema::ModuleImportState& ImportState)

Declared at: clang/include/clang/Parse/Parser.h:3446

Parameters

clang::SourceLocation AtLoc
Sema::ModuleImportState& ImportState

bool ParseModuleName(
    clang::SourceLocation UseLoc,
    SmallVectorImpl<std::pair<IdentifierInfo*,
                              SourceLocation>>&
        Path,
    bool IsImport)

Declared at: clang/include/clang/Parse/Parser.h:3457

Parameters

clang::SourceLocation UseLoc
SmallVectorImpl< std::pair<IdentifierInfo*, SourceLocation>>& Path
bool IsImport

clang::Parser::DeclGroupPtrTy ParseNamespace(
    clang::DeclaratorContext Context,
    clang::SourceLocation& DeclEnd,
    clang::SourceLocation InlineLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Parse/Parser.h:3027

Parameters

clang::DeclaratorContext Context
clang::SourceLocation& DeclEnd
clang::SourceLocation InlineLoc = clang::SourceLocation()

clang::Decl* ParseNamespaceAlias(
    clang::SourceLocation NamespaceLoc,
    clang::SourceLocation AliasLoc,
    clang::IdentifierInfo* Alias,
    clang::SourceLocation& DeclEnd)

Declared at: clang/include/clang/Parse/Parser.h:3079

Parameters

clang::SourceLocation NamespaceLoc
clang::SourceLocation AliasLoc
clang::IdentifierInfo* Alias
clang::SourceLocation& DeclEnd

clang::NamedDecl* ParseNonTypeTemplateParameter(
    unsigned int Depth,
    unsigned int Position)

Declared at: clang/include/clang/Parse/Parser.h:3398

Parameters

unsigned int Depth
unsigned int Position

void ParseNullabilityTypeSpecifiers(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2850

Parameters

clang::ParsedAttributes& attrs

clang::Parser::DeclGroupPtrTy
ParseOMPDeclareSimdClauses(
    clang::Parser::DeclGroupPtrTy Ptr,
    clang::CachedTokens& Toks,
    clang::SourceLocation Loc)

Description

Parse clauses for '#pragma omp declare simd'.

Declared at: clang/include/clang/Parse/Parser.h:3144

Parameters

clang::Parser::DeclGroupPtrTy Ptr
clang::CachedTokens& Toks
clang::SourceLocation Loc

void ParseOMPDeclareTargetClauses(
    Sema::DeclareTargetContextInfo& DTCI)

Description

Parse clauses for '#pragma omp [begin] declare target'.

Declared at: clang/include/clang/Parse/Parser.h:3202

Parameters

Sema::DeclareTargetContextInfo& DTCI

void ParseOMPDeclareVariantClauses(
    clang::Parser::DeclGroupPtrTy Ptr,
    clang::CachedTokens& Toks,
    clang::SourceLocation Loc)

Description

Parse clauses for '#pragma omp declare variant'.

Declared at: clang/include/clang/Parse/Parser.h:3191

Parameters

clang::Parser::DeclGroupPtrTy Ptr
clang::CachedTokens& Toks
clang::SourceLocation Loc

void ParseOMPEndDeclareTargetDirective(
    clang::OpenMPDirectiveKind BeginDKind,
    clang::OpenMPDirectiveKind EndDKind,
    clang::SourceLocation Loc)

Description

Parse '#pragma omp end declare target'.

Declared at: clang/include/clang/Parse/Parser.h:3205

Parameters

clang::OpenMPDirectiveKind BeginDKind
clang::OpenMPDirectiveKind EndDKind
clang::SourceLocation Loc

clang::ExprResult ParseObjCArrayLiteral(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2045

Parameters

clang::SourceLocation AtLoc

clang::Decl* ParseObjCAtAliasDeclaration(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:1714

Parameters

clang::SourceLocation atLoc

clang::Parser::DeclGroupPtrTy
ParseObjCAtClassDeclaration(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:1618

Parameters

clang::SourceLocation atLoc

clang::Parser::DeclGroupPtrTy
ParseObjCAtDirectives(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:1617

Parameters

clang::ParsedAttributes& Attrs

clang::Parser::DeclGroupPtrTy
ParseObjCAtEndDeclaration(
    clang::SourceRange atEnd)

Declared at: clang/include/clang/Parse/Parser.h:1713

Parameters

clang::SourceRange atEnd

clang::ExprResult ParseObjCAtExpression(
    clang::SourceLocation AtLocation)

Declared at: clang/include/clang/Parse/Parser.h:2040

Parameters

clang::SourceLocation AtLocation

clang::Parser::DeclGroupPtrTy
ParseObjCAtImplementationDeclaration(
    clang::SourceLocation AtLoc,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:1711

Parameters

clang::SourceLocation AtLoc
clang::ParsedAttributes& Attrs

clang::Decl* ParseObjCAtInterfaceDeclaration(
    clang::SourceLocation AtLoc,
    clang::ParsedAttributes& prefixAttrs)

Declared at: clang/include/clang/Parse/Parser.h:1619

Parameters

clang::SourceLocation AtLoc
clang::ParsedAttributes& prefixAttrs

clang::Parser::DeclGroupPtrTy
ParseObjCAtProtocolDeclaration(
    clang::SourceLocation atLoc,
    clang::ParsedAttributes& prefixAttrs)

Declared at: clang/include/clang/Parse/Parser.h:1685

Parameters

clang::SourceLocation atLoc
clang::ParsedAttributes& prefixAttrs

clang::StmtResult ParseObjCAtStatement(
    clang::SourceLocation atLoc,
    clang::Parser::ParsedStmtContext StmtCtx)

Declared at: clang/include/clang/Parse/Parser.h:2178

Parameters

clang::SourceLocation atLoc
clang::Parser::ParsedStmtContext StmtCtx

clang::StmtResult ParseObjCAutoreleasePoolStmt(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:2183

Parameters

clang::SourceLocation atLoc

clang::ExprResult ParseObjCBoolLiteral()

Declared at: clang/include/clang/Parse/Parser.h:1866

clang::ExprResult ParseObjCBooleanLiteral(
    clang::SourceLocation AtLoc,
    bool ArgValue)

Declared at: clang/include/clang/Parse/Parser.h:2044

Parameters

clang::SourceLocation AtLoc
bool ArgValue

clang::ExprResult ParseObjCBoxedExpr(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2047

Parameters

clang::SourceLocation AtLoc

void ParseObjCBridgeRelatedAttribute(
    clang::IdentifierInfo& ObjCBridgeRelated,
    clang::SourceLocation ObjCBridgeRelatedLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2873

Parameters

clang::IdentifierInfo& ObjCBridgeRelated
clang::SourceLocation ObjCBridgeRelatedLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

clang::ExprResult ParseObjCCharacterLiteral(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2042

Parameters

clang::SourceLocation AtLoc

void ParseObjCClassInstanceVariables(
    clang::ObjCContainerDecl* interfaceDecl,
    tok::ObjCKeywordKind visibility,
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:1633

Parameters

clang::ObjCContainerDecl* interfaceDecl
tok::ObjCKeywordKind visibility
clang::SourceLocation atLoc

clang::ExprResult ParseObjCDictionaryLiteral(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2046

Parameters

clang::SourceLocation AtLoc

clang::ExprResult ParseObjCEncodeExpression(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2048

Parameters

clang::SourceLocation AtLoc

void ParseObjCInterfaceDeclList(
    tok::ObjCKeywordKind contextKey,
    clang::Decl* CDecl)

Declared at: clang/include/clang/Parse/Parser.h:1683

Parameters

tok::ObjCKeywordKind contextKey
clang::Decl* CDecl

clang::ExprResult ParseObjCMessageExpression()

Declared at: clang/include/clang/Parse/Parser.h:2052

clang::ExprResult ParseObjCMessageExpressionBody(
    clang::SourceLocation LBracloc,
    clang::SourceLocation SuperLoc,
    clang::ParsedType ReceiverType,
    clang::Expr* ReceiverExpr)

Declared at: clang/include/clang/Parse/Parser.h:2053

Parameters

clang::SourceLocation LBracloc
clang::SourceLocation SuperLoc
clang::ParsedType ReceiverType
clang::Expr* ReceiverExpr

clang::Decl* ParseObjCMethodDecl(
    clang::SourceLocation mLoc,
    tok::TokenKind mType,
    tok::ObjCKeywordKind MethodImplKind =
        tok::objc_not_keyword,
    bool MethodDefinition = true)

Declared at: clang/include/clang/Parse/Parser.h:1734

Parameters

clang::SourceLocation mLoc
tok::TokenKind mType
tok::ObjCKeywordKind MethodImplKind = tok::objc_not_keyword
bool MethodDefinition = true

clang::Decl* ParseObjCMethodDefinition()

Declared at: clang/include/clang/Parse/Parser.h:1739

clang::Decl* ParseObjCMethodPrototype(
    tok::ObjCKeywordKind MethodImplKind =
        tok::objc_not_keyword,
    bool MethodDefinition = true)

Declared at: clang/include/clang/Parse/Parser.h:1731

Parameters

tok::ObjCKeywordKind MethodImplKind = tok::objc_not_keyword
bool MethodDefinition = true

clang::ExprResult ParseObjCNumericLiteral(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2043

Parameters

clang::SourceLocation AtLoc

void ParseObjCPropertyAttribute(
    clang::ObjCDeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:1737

Parameters

clang::ObjCDeclSpec& DS

clang::Decl* ParseObjCPropertyDynamic(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:1716

Parameters

clang::SourceLocation atLoc

clang::Decl* ParseObjCPropertySynthesize(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:1715

Parameters

clang::SourceLocation atLoc

clang::ExprResult ParseObjCProtocolExpression(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2050

Parameters

clang::SourceLocation AtLoc

bool ParseObjCProtocolReferences(
    SmallVectorImpl<clang::Decl*>& P,
    SmallVectorImpl<clang::SourceLocation>& PLocs,
    bool WarnOnDeclarations,
    bool ForObjCContainer,
    clang::SourceLocation& LAngleLoc,
    clang::SourceLocation& EndProtoLoc,
    bool consumeLastToken)

Declared at: clang/include/clang/Parse/Parser.h:1636

Parameters

SmallVectorImpl<clang::Decl*>& P
SmallVectorImpl<clang::SourceLocation>& PLocs
bool WarnOnDeclarations
bool ForObjCContainer
clang::SourceLocation& LAngleLoc
clang::SourceLocation& EndProtoLoc
bool consumeLastToken

clang::ExprResult ParseObjCSelectorExpression(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2049

Parameters

clang::SourceLocation AtLoc

clang::IdentifierInfo* ParseObjCSelectorPiece(
    clang::SourceLocation& MethodLocation)

Declared at: clang/include/clang/Parse/Parser.h:1718

Parameters

clang::SourceLocation& MethodLocation

clang::ExprResult ParseObjCStringLiteral(
    clang::SourceLocation AtLoc)

Declared at: clang/include/clang/Parse/Parser.h:2041

Parameters

clang::SourceLocation AtLoc

clang::StmtResult ParseObjCSynchronizedStmt(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:2182

Parameters

clang::SourceLocation atLoc

clang::StmtResult ParseObjCThrowStmt(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:2181

Parameters

clang::SourceLocation atLoc

clang::StmtResult ParseObjCTryStmt(
    clang::SourceLocation atLoc)

Declared at: clang/include/clang/Parse/Parser.h:2180

Parameters

clang::SourceLocation atLoc

clang::ParsedType ParseObjCTypeName(
    clang::ObjCDeclSpec& DS,
    clang::DeclaratorContext Ctx,
    clang::ParsedAttributes* ParamAttrs)

Declared at: clang/include/clang/Parse/Parser.h:1729

Parameters

clang::ObjCDeclSpec& DS
clang::DeclaratorContext Ctx
clang::ParsedAttributes* ParamAttrs

void ParseObjCTypeQualifierList(
    clang::ObjCDeclSpec& DS,
    clang::DeclaratorContext Context)

Declared at: clang/include/clang/Parse/Parser.h:2381

Parameters

clang::ObjCDeclSpec& DS
clang::DeclaratorContext Context

bool ParseObjCXXMessageReceiver(bool& IsExpr,
                                void*& TypeOrExpr)

Declared at: clang/include/clang/Parse/Parser.h:2060

Parameters

bool& IsExpr
void*& TypeOrExpr

void ParseOpenCLKernelAttributes(
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:2848

Parameters

clang::ParsedAttributes& attrs

void ParseOpenCLQualifiers(
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2849

Parameters

clang::ParsedAttributes& Attrs

void ParseOpenMPAssumesDirective(
    clang::OpenMPDirectiveKind DKind,
    clang::SourceLocation Loc)

Description

Parse 'omp [begin] assume[s]' directive.

Declared at: clang/include/clang/Parse/Parser.h:3195

Parameters

clang::OpenMPDirectiveKind DKind
clang::SourceLocation Loc

void ParseOpenMPAttributeArgs(
    clang::IdentifierInfo* AttrName,
    clang::CachedTokens& OpenMPTokens)

Declared at: clang/include/clang/Parse/Parser.h:2786

Parameters

clang::IdentifierInfo* AttrName
clang::CachedTokens& OpenMPTokens

clang::OMPClause* ParseOpenMPClause(
    clang::OpenMPDirectiveKind DKind,
    clang::OpenMPClauseKind CKind,
    bool FirstClause)

Description

Parses clause of kind \a CKind for directive of a kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3272

Parameters

clang::OpenMPDirectiveKind DKind
Kind of current directive.
clang::OpenMPClauseKind CKind
Kind of current clause.
bool FirstClause
true, if this is the first clause of a kind \a CKind in current directive.

clang::OMPClause* ParseOpenMPClause(
    clang::OpenMPClauseKind Kind,
    bool ParseOnly = false)

Description

Parses clause without any additional arguments.

Declared at: clang/include/clang/Parse/Parser.h:3315

Parameters

clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly = false
true to skip the clause's semantic actions and return nullptr.

clang::Parser::DeclGroupPtrTy
ParseOpenMPDeclarativeDirectiveWithExtDecl(
    clang::AccessSpecifier& AS,
    clang::ParsedAttributes& Attrs,
    bool Delayed = false,
    DeclSpec::TST TagType =
        DeclSpec::TST_unspecified,
    clang::Decl* TagDecl = nullptr)

Description

Parses declarative OpenMP directives.

Declared at: clang/include/clang/Parse/Parser.h:3225

Parameters

clang::AccessSpecifier& AS
clang::ParsedAttributes& Attrs
bool Delayed = false
DeclSpec::TST TagType = DeclSpec::TST_unspecified
clang::Decl* TagDecl = nullptr

clang::StmtResult
ParseOpenMPDeclarativeOrExecutableDirective(
    clang::Parser::ParsedStmtContext StmtCtx,
    bool ReadDirectiveWithinMetadirective = false)

Description

Parses declarative or executable directive.

Declared at: clang/include/clang/Parse/Parser.h:3263

Parameters

clang::Parser::ParsedStmtContext StmtCtx
The context in which we're parsing the directive.
bool ReadDirectiveWithinMetadirective = false
true if directive is within a metadirective and therefore ends on the closing paren.

clang::Parser::DeclGroupPtrTy
ParseOpenMPDeclareMapperDirective(
    clang::AccessSpecifier AS)

Description

Parses 'omp declare mapper' directive.

Declared at: clang/include/clang/Parse/Parser.h:3236

Parameters

clang::AccessSpecifier AS

clang::Parser::DeclGroupPtrTy
ParseOpenMPDeclareReductionDirective(
    clang::AccessSpecifier AS)

Description

Parse 'omp declare reduction' construct.

Declared at: clang/include/clang/Parse/Parser.h:3230

Parameters

clang::AccessSpecifier AS

void ParseOpenMPEndAssumesDirective(
    clang::SourceLocation Loc)

Description

Parse 'omp end assumes' directive.

Declared at: clang/include/clang/Parse/Parser.h:3199

Parameters

clang::SourceLocation Loc

bool ParseOpenMPIndirectClause(
    Sema::DeclareTargetContextInfo& DTCI,
    bool ParseOnly)

Declared at: clang/include/clang/Parse/Parser.h:3292

Parameters

Sema::DeclareTargetContextInfo& DTCI
bool ParseOnly

clang::OMPClause* ParseOpenMPInteropClause(
    clang::OpenMPClauseKind Kind,
    bool ParseOnly)

Description

Parses clause with an interop variable of kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3341

Parameters

clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly
true to skip the clause's semantic actions and return nullptr.

clang::ExprResult ParseOpenMPIteratorsExpr()

Description

Parses and creates OpenMP 5.0 iterators expression: <iterators > = 'iterator' '(' { [ <iterator -type> ] identifier = <range -specification> }+ ')'

Declared at: clang/include/clang/Parse/Parser.h:3328

clang::ExprResult ParseOpenMPParensExpr(
    llvm::StringRef ClauseName,
    clang::SourceLocation& RLoc,
    bool IsAddressOfOperand = false)

Description

Parses simple expression in parens for single-expression clauses of OpenMP constructs.

Declared at: clang/include/clang/Parse/Parser.h:3347

Parameters

llvm::StringRef ClauseName
clang::SourceLocation& RLoc
Returned location of right paren.
bool IsAddressOfOperand = false

void ParseOpenMPReductionInitializerForDecl(
    clang::VarDecl* OmpPrivParm)

Description

Parses initializer for provided omp_priv declaration inside the reduction initializer.

Declared at: clang/include/clang/Parse/Parser.h:3233

Parameters

clang::VarDecl* OmpPrivParm

bool ParseOpenMPReservedLocator(
    clang::OpenMPClauseKind Kind,
    Sema::OpenMPVarListDataTy& Data,
    const clang::LangOptions& LangOpts)

Description

Parses a reserved locator like 'omp_all_memory'.

Declared at: clang/include/clang/Parse/Parser.h:3351

Parameters

clang::OpenMPClauseKind Kind
Sema::OpenMPVarListDataTy& Data
const clang::LangOptions& LangOpts

clang::OMPClause* ParseOpenMPSimpleClause(
    clang::OpenMPClauseKind Kind,
    bool ParseOnly)

Description

Parses simple clause of a kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3288

Parameters

clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly
true to skip the clause's semantic actions and return nullptr.

bool ParseOpenMPSimpleVarList(
    clang::OpenMPDirectiveKind Kind,
    const llvm::function_ref<
        void(CXXScopeSpec&, DeclarationNameInfo)>&
        Callback,
    bool AllowScopeSpecifier)

Description

Parses simple list of variables.

Declared at: clang/include/clang/Parse/Parser.h:3253

Parameters

clang::OpenMPDirectiveKind Kind
Kind of the directive.
const llvm::function_ref< void(CXXScopeSpec&, DeclarationNameInfo)>& Callback
Callback function to be called for the list elements.
bool AllowScopeSpecifier
true, if the variables can have fully qualified names.

clang::OMPClause* ParseOpenMPSingleExprClause(
    clang::OpenMPClauseKind Kind,
    bool ParseOnly)

Description

Parses clause with a single expression of a kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3280

Parameters

clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly
true to skip the clause's semantic actions and return nullptr.

clang::OMPClause*
ParseOpenMPSingleExprWithArgClause(
    clang::OpenMPDirectiveKind DKind,
    clang::OpenMPClauseKind Kind,
    bool ParseOnly)

Description

Parses clause with a single expression and an additional argument of a kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3302

Parameters

clang::OpenMPDirectiveKind DKind
Directive kind.
clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly
true to skip the clause's semantic actions and return nullptr.

clang::OMPClause* ParseOpenMPSizesClause()

Description

Parses the 'sizes' clause of a '#pragma omp tile' directive.

Declared at: clang/include/clang/Parse/Parser.h:3307

clang::OMPClause* ParseOpenMPUsesAllocatorClause(
    clang::OpenMPDirectiveKind DKind)

Description

Parses allocators and traits in the context of the uses_allocator clause. Expected format: '(' { <allocator > [ '(' <allocator _traits> ')' ] }+ ')'

Declared at: clang/include/clang/Parse/Parser.h:3333

Parameters

clang::OpenMPDirectiveKind DKind

bool ParseOpenMPVarList(
    clang::OpenMPDirectiveKind DKind,
    clang::OpenMPClauseKind Kind,
    SmallVectorImpl<clang::Expr*>& Vars,
    Sema::OpenMPVarListDataTy& Data)

Description

Parses clauses with list.

Declared at: clang/include/clang/Parse/Parser.h:3355

Parameters

clang::OpenMPDirectiveKind DKind
clang::OpenMPClauseKind Kind
SmallVectorImpl<clang::Expr*>& Vars
Sema::OpenMPVarListDataTy& Data

clang::OMPClause* ParseOpenMPVarListClause(
    clang::OpenMPDirectiveKind DKind,
    clang::OpenMPClauseKind Kind,
    bool ParseOnly)

Description

Parses clause with the list of variables of a kind \a Kind.

Declared at: clang/include/clang/Parse/Parser.h:3322

Parameters

clang::OpenMPDirectiveKind DKind
clang::OpenMPClauseKind Kind
Kind of current clause.
bool ParseOnly
true to skip the clause's semantic actions and return nullptr.

void ParseOptionalCXX11VirtSpecifierSeq(
    clang::VirtSpecifiers& VS,
    bool IsInterface,
    clang::SourceLocation FriendLoc)

Declared at: clang/include/clang/Parse/Parser.h:2922

Parameters

clang::VirtSpecifiers& VS
bool IsInterface
clang::SourceLocation FriendLoc

bool ParseOptionalCXXScopeSpecifier(
    clang::CXXScopeSpec& SS,
    clang::ParsedType ObjectType,
    bool ObjectHasErrors,
    bool EnteringContext,
    bool* MayBePseudoDestructor = nullptr,
    bool IsTypename = false,
    clang::IdentifierInfo** LastII = nullptr,
    bool OnlyNamespace = false,
    bool InUsingDeclaration = false)

Declared at: clang/include/clang/Parse/Parser.h:1882

Parameters

clang::CXXScopeSpec& SS
clang::ParsedType ObjectType
bool ObjectHasErrors
bool EnteringContext
bool* MayBePseudoDestructor = nullptr
bool IsTypename = false
clang::IdentifierInfo** LastII = nullptr
bool OnlyNamespace = false
bool InUsingDeclaration = false

void ParseParameterDeclarationClause(
    clang::DeclaratorContext DeclaratorContext,
    clang::ParsedAttributes& attrs,
    SmallVectorImpl<DeclaratorChunk::ParamInfo>&
        ParamInfo,
    clang::SourceLocation& EllipsisLoc)

Declared at: clang/include/clang/Parse/Parser.h:3000

Parameters

clang::DeclaratorContext DeclaratorContext
clang::ParsedAttributes& attrs
SmallVectorImpl<DeclaratorChunk::ParamInfo>& ParamInfo
clang::SourceLocation& EllipsisLoc

void ParseParenDeclarator(clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2987

Parameters

clang::Declarator& D

bool ParseParenExprOrCondition(
    clang::StmtResult* InitStmt,
    Sema::ConditionResult& CondResult,
    clang::SourceLocation Loc,
    Sema::ConditionKind CK,
    bool MissingOK,
    clang::SourceLocation* LParenLoc,
    clang::SourceLocation* RParenLoc)

Declared at: clang/include/clang/Parse/Parser.h:2096

Parameters

clang::StmtResult* InitStmt
Sema::ConditionResult& CondResult
clang::SourceLocation Loc
Sema::ConditionKind CK
bool MissingOK
clang::SourceLocation* LParenLoc
clang::SourceLocation* RParenLoc

clang::ExprResult ParseParenExpression(
    clang::Parser::ParenParseOption& ExprType,
    bool stopIfCastExpr,
    bool isTypeCast,
    clang::ParsedType& CastTy,
    clang::SourceLocation& RParenLoc)

Declared at: clang/include/clang/Parse/Parser.h:1851

Parameters

clang::Parser::ParenParseOption& ExprType
bool stopIfCastExpr
bool isTypeCast
clang::ParsedType& CastTy
clang::SourceLocation& RParenLoc

clang::ExprResult ParsePostfixExpressionSuffix(
    clang::ExprResult LHS)

Declared at: clang/include/clang/Parse/Parser.h:1817

Parameters

clang::ExprResult LHS

bool ParsePragmaAttributeSubjectMatchRuleSet(
    attr::ParsedSubjectMatchRuleSet&
        SubjectMatchRules,
    clang::SourceLocation& AnyLoc,
    clang::SourceLocation& LastMatchRuleEndLoc)

Declared at: clang/include/clang/Parse/Parser.h:787

Parameters

attr::ParsedSubjectMatchRuleSet& SubjectMatchRules
clang::SourceLocation& AnyLoc
clang::SourceLocation& LastMatchRuleEndLoc

clang::StmtResult ParsePragmaLoopHint(
    clang::Parser::StmtVector& Stmts,
    clang::Parser::ParsedStmtContext StmtCtx,
    clang::SourceLocation* TrailingElseLoc,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:2112

Parameters

clang::Parser::StmtVector& Stmts
clang::Parser::ParsedStmtContext StmtCtx
clang::SourceLocation* TrailingElseLoc
clang::ParsedAttributes& Attrs

clang::ExprResult ParseRHSOfBinaryExpression(
    clang::ExprResult LHS,
    prec::Level MinPrec)

Declared at: clang/include/clang/Parse/Parser.h:1775

Parameters

clang::ExprResult LHS
prec::Level MinPrec

bool ParseRefQualifier(
    bool& RefQualifierIsLValueRef,
    clang::SourceLocation& RefQualifierLoc)

Declared at: clang/include/clang/Parse/Parser.h:2994

Parameters

bool& RefQualifierIsLValueRef
clang::SourceLocation& RefQualifierLoc

clang::ExprResult ParseRequiresExpression()

Declared at: clang/include/clang/Parse/Parser.h:2010

clang::StmtResult ParseReturnStatement()

Declared at: clang/include/clang/Parse/Parser.h:2109

clang::StmtResult ParseSEHExceptBlock(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Parse/Parser.h:2171

Parameters

clang::SourceLocation Loc

clang::StmtResult ParseSEHFinallyBlock(
    clang::SourceLocation Loc)

Declared at: clang/include/clang/Parse/Parser.h:2172

Parameters

clang::SourceLocation Loc

clang::StmtResult ParseSEHLeaveStatement()

Declared at: clang/include/clang/Parse/Parser.h:2173

clang::StmtResult ParseSEHTryBlock()

Declared at: clang/include/clang/Parse/Parser.h:2170

clang::ExprResult
ParseSYCLUniqueStableNameExpression()

Declared at: clang/include/clang/Parse/Parser.h:1820

clang::ExprResult ParseSimpleAsm(
    bool ForAsmLabel,
    clang::SourceLocation* EndLoc)

Declared at: clang/include/clang/Parse/Parser.h:1612

Parameters

bool ForAsmLabel
clang::SourceLocation* EndLoc

clang::Parser::DeclGroupPtrTy
ParseSimpleDeclaration(
    clang::DeclaratorContext Context,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& DeclAttrs,
    clang::ParsedAttributes& DeclSpecAttrs,
    bool RequireSemi,
    clang::Parser::ForRangeInit* FRI = nullptr,
    clang::SourceLocation* DeclSpecStart =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2335

Parameters

clang::DeclaratorContext Context
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& DeclAttrs
clang::ParsedAttributes& DeclSpecAttrs
bool RequireSemi
clang::Parser::ForRangeInit* FRI = nullptr
clang::SourceLocation* DeclSpecStart = nullptr

bool ParseSimpleExpressionList(
    SmallVectorImpl<clang::Expr*>& Exprs,
    SmallVectorImpl<clang::SourceLocation>&
        CommaLocs)

Description

ParseSimpleExpressionList - A simple comma-separated list of expressions, used for misc language extensions.

Declared at: clang/include/clang/Parse/Parser.h:1839

Parameters

SmallVectorImpl<clang::Expr*>& Exprs
SmallVectorImpl<clang::SourceLocation>& CommaLocs

clang::Decl* ParseSingleDeclarationAfterTemplate(
    clang::DeclaratorContext Context,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::ParsingDeclRAIIObject& DiagsFromParams,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& AccessAttrs,
    clang::AccessSpecifier AS = AS_none)

Declared at: clang/include/clang/Parse/Parser.h:3384

Parameters

clang::DeclaratorContext Context
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::ParsingDeclRAIIObject& DiagsFromParams
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& AccessAttrs
clang::AccessSpecifier AS = AS_none

void ParseSpecifierQualifierList(
    clang::DeclSpec& DS,
    clang::AccessSpecifier AS = AS_none,
    clang::Parser::DeclSpecContext DSC =
        DeclSpecContext::DSC_normal)

Declared at: clang/include/clang/Parse/Parser.h:2377

Parameters

clang::DeclSpec& DS
clang::AccessSpecifier AS = AS_none
clang::Parser::DeclSpecContext DSC = DeclSpecContext::DSC_normal

clang::StmtResult ParseStatement(
    clang::SourceLocation* TrailingElseLoc =
        nullptr,
    clang::Parser::ParsedStmtContext StmtCtx =
        ParsedStmtContext::SubStmt)

Declared at: clang/include/clang/Parse/Parser.h:2074

Parameters

clang::SourceLocation* TrailingElseLoc = nullptr
clang::Parser::ParsedStmtContext StmtCtx = ParsedStmtContext::SubStmt

clang::StmtResult ParseStatementOrDeclaration(
    clang::Parser::StmtVector& Stmts,
    clang::Parser::ParsedStmtContext StmtCtx,
    clang::SourceLocation* TrailingElseLoc =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2076

Parameters

clang::Parser::StmtVector& Stmts
clang::Parser::ParsedStmtContext StmtCtx
clang::SourceLocation* TrailingElseLoc = nullptr

clang::StmtResult
ParseStatementOrDeclarationAfterAttributes(
    clang::Parser::StmtVector& Stmts,
    clang::Parser::ParsedStmtContext StmtCtx,
    clang::SourceLocation* TrailingElseLoc,
    clang::ParsedAttributes& DeclAttrs,
    clang::ParsedAttributes& DeclSpecAttrs)

Declared at: clang/include/clang/Parse/Parser.h:2079

Parameters

clang::Parser::StmtVector& Stmts
clang::Parser::ParsedStmtContext StmtCtx
clang::SourceLocation* TrailingElseLoc
clang::ParsedAttributes& DeclAttrs
clang::ParsedAttributes& DeclSpecAttrs

clang::Decl* ParseStaticAssertDeclaration(
    clang::SourceLocation& DeclEnd)

Declared at: clang/include/clang/Parse/Parser.h:3078

Parameters

clang::SourceLocation& DeclEnd

clang::ExprResult ParseStringLiteralExpression(
    bool AllowUserDefinedLiteral = false)

Declared at: clang/include/clang/Parse/Parser.h:1768

Parameters

bool AllowUserDefinedLiteral = false

void ParseStructDeclaration(
    clang::ParsingDeclSpec& DS,
    llvm::function_ref<void(
        ParsingFieldDeclarator&)> FieldsCallback)

Declared at: clang/include/clang/Parse/Parser.h:2391

Parameters

clang::ParsingDeclSpec& DS
llvm::function_ref<void(ParsingFieldDeclarator&)> FieldsCallback

void ParseStructUnionBody(
    clang::SourceLocation StartLoc,
    DeclSpec::TST TagType,
    clang::RecordDecl* TagDecl)

Declared at: clang/include/clang/Parse/Parser.h:2388

Parameters

clang::SourceLocation StartLoc
DeclSpec::TST TagType
clang::RecordDecl* TagDecl

void ParseSwiftNewTypeAttribute(
    clang::IdentifierInfo& AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2881

Parameters

clang::IdentifierInfo& AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

clang::StmtResult ParseSwitchStatement(
    clang::SourceLocation* TrailingElseLoc)

Declared at: clang/include/clang/Parse/Parser.h:2102

Parameters

clang::SourceLocation* TrailingElseLoc

clang::ParsedTemplateArgument
ParseTemplateArgument()

Declared at: clang/include/clang/Parse/Parser.h:3431

bool ParseTemplateArgumentList(
    clang::Parser::TemplateArgList& TemplateArgs,
    clang::Parser::TemplateTy Template,
    clang::SourceLocation OpenLoc)

Declared at: clang/include/clang/Parse/Parser.h:3428

Parameters

clang::Parser::TemplateArgList& TemplateArgs
clang::Parser::TemplateTy Template
clang::SourceLocation OpenLoc

clang::Decl*
ParseTemplateDeclarationOrSpecialization(
    clang::DeclaratorContext Context,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& AccessAttrs,
    clang::AccessSpecifier AS)

Declared at: clang/include/clang/Parse/Parser.h:3380

Parameters

clang::DeclaratorContext Context
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& AccessAttrs
clang::AccessSpecifier AS

bool ParseTemplateIdAfterTemplateName(
    bool ConsumeLastToken,
    clang::SourceLocation& LAngleLoc,
    clang::Parser::TemplateArgList& TemplateArgs,
    clang::SourceLocation& RAngleLoc,
    clang::Parser::TemplateTy NameHint = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:3414

Parameters

bool ConsumeLastToken
clang::SourceLocation& LAngleLoc
clang::Parser::TemplateArgList& TemplateArgs
clang::SourceLocation& RAngleLoc
clang::Parser::TemplateTy NameHint = nullptr

clang::NamedDecl* ParseTemplateParameter(
    unsigned int Depth,
    unsigned int Position)

Declared at: clang/include/clang/Parse/Parser.h:3395

Parameters

unsigned int Depth
unsigned int Position

bool ParseTemplateParameterList(
    unsigned int Depth,
    SmallVectorImpl<clang::NamedDecl*>&
        TemplateParams)

Declared at: clang/include/clang/Parse/Parser.h:3392

Parameters

unsigned int Depth
SmallVectorImpl<clang::NamedDecl*>& TemplateParams

bool ParseTemplateParameters(
    clang::Parser::MultiParseScope&
        TemplateScopes,
    unsigned int Depth,
    SmallVectorImpl<clang::NamedDecl*>&
        TemplateParams,
    clang::SourceLocation& LAngleLoc,
    clang::SourceLocation& RAngleLoc)

Declared at: clang/include/clang/Parse/Parser.h:3388

Parameters

clang::Parser::MultiParseScope& TemplateScopes
unsigned int Depth
SmallVectorImpl<clang::NamedDecl*>& TemplateParams
clang::SourceLocation& LAngleLoc
clang::SourceLocation& RAngleLoc

clang::ParsedTemplateArgument
ParseTemplateTemplateArgument()

Declared at: clang/include/clang/Parse/Parser.h:3430

clang::NamedDecl* ParseTemplateTemplateParameter(
    unsigned int Depth,
    unsigned int Position)

Declared at: clang/include/clang/Parse/Parser.h:3397

Parameters

unsigned int Depth
unsigned int Position

clang::ExprResult ParseThrowExpression()

Declared at: clang/include/clang/Parse/Parser.h:1945

bool ParseTopLevelDecl(
    clang::Parser::DeclGroupPtrTy& Result,
    Sema::ModuleImportState& ImportState)

Description

ParseTopLevelDecl - Parse one top-level declaration. Returns true if the EOF was encountered.

Declared at: clang/include/clang/Parse/Parser.h:478

Parameters

clang::Parser::DeclGroupPtrTy& Result
Sema::ModuleImportState& ImportState

bool ParseTopLevelDecl()

Declared at: clang/include/clang/Parse/Parser.h:480

void ParseTrailingRequiresClause(
    clang::Declarator& D)

Declared at: clang/include/clang/Parse/Parser.h:2011

Parameters

clang::Declarator& D

clang::TypeResult ParseTrailingReturnType(
    clang::SourceRange& Range,
    bool MayBeFollowedByDirectInit)

Declared at: clang/include/clang/Parse/Parser.h:1963

Parameters

clang::SourceRange& Range
bool MayBeFollowedByDirectInit

clang::TypeResult ParseTypeName(
    clang::SourceRange* Range = nullptr,
    clang::DeclaratorContext Context =
        DeclaratorContext::TypeName,
    clang::AccessSpecifier AS = AS_none,
    clang::Decl** OwnedType = nullptr,
    clang::ParsedAttributes* Attrs = nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2599

Parameters

clang::SourceRange* Range = nullptr
clang::DeclaratorContext Context = DeclaratorContext::TypeName
clang::AccessSpecifier AS = AS_none
clang::Decl** OwnedType = nullptr
clang::ParsedAttributes* Attrs = nullptr

clang::NamedDecl* ParseTypeParameter(
    unsigned int Depth,
    unsigned int Position)

Declared at: clang/include/clang/Parse/Parser.h:3396

Parameters

unsigned int Depth
unsigned int Position

void ParseTypeQualifierListOpt(
    clang::DeclSpec& DS,
    unsigned int AttrReqs =
        AR_AllAttributesParsed,
    bool AtomicAllowed = true,
    bool IdentifierRequired = false,
    Optional<llvm::function_ref<void()>>
        CodeCompletionHandler = None)

Declared at: clang/include/clang/Parse/Parser.h:2981

Parameters

clang::DeclSpec& DS
unsigned int AttrReqs = AR_AllAttributesParsed
bool AtomicAllowed = true
bool IdentifierRequired = false
Optional<llvm::function_ref<void()>> CodeCompletionHandler = None

void ParseTypeTagForDatatypeAttribute(
    clang::IdentifierInfo& AttrName,
    clang::SourceLocation AttrNameLoc,
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation* EndLoc,
    clang::IdentifierInfo* ScopeName,
    clang::SourceLocation ScopeLoc,
    ParsedAttr::Syntax Syntax)

Declared at: clang/include/clang/Parse/Parser.h:2889

Parameters

clang::IdentifierInfo& AttrName
clang::SourceLocation AttrNameLoc
clang::ParsedAttributes& Attrs
clang::SourceLocation* EndLoc
clang::IdentifierInfo* ScopeName
clang::SourceLocation ScopeLoc
ParsedAttr::Syntax Syntax

clang::ExprResult ParseTypeTrait()

Declared at: clang/include/clang/Parse/Parser.h:3464

void ParseTypeofSpecifier(clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:2904

Parameters

clang::DeclSpec& DS

clang::ExprResult
ParseUnaryExprOrTypeTraitExpression()

Declared at: clang/include/clang/Parse/Parser.h:1818

void ParseUnderlyingTypeSpecifier(
    clang::DeclSpec& DS)

Declared at: clang/include/clang/Parse/Parser.h:2909

Parameters

clang::DeclSpec& DS

bool ParseUnqualifiedId(
    clang::CXXScopeSpec& SS,
    clang::ParsedType ObjectType,
    bool ObjectHadErrors,
    bool EnteringContext,
    bool AllowDestructorName,
    bool AllowConstructorName,
    bool AllowDeductionGuide,
    clang::SourceLocation* TemplateKWLoc,
    clang::UnqualifiedId& Result)

Declared at: clang/include/clang/Parse/Parser.h:3358

Parameters

clang::CXXScopeSpec& SS
clang::ParsedType ObjectType
bool ObjectHadErrors
bool EnteringContext
bool AllowDestructorName
bool AllowConstructorName
bool AllowDeductionGuide
clang::SourceLocation* TemplateKWLoc
clang::UnqualifiedId& Result

bool ParseUnqualifiedIdOperator(
    clang::CXXScopeSpec& SS,
    bool EnteringContext,
    clang::ParsedType ObjectType,
    clang::UnqualifiedId& Result)

Declared at: clang/include/clang/Parse/Parser.h:3137

Parameters

clang::CXXScopeSpec& SS
bool EnteringContext
clang::ParsedType ObjectType
clang::UnqualifiedId& Result

bool ParseUnqualifiedIdTemplateId(
    clang::CXXScopeSpec& SS,
    clang::ParsedType ObjectType,
    bool ObjectHadErrors,
    clang::SourceLocation TemplateKWLoc,
    clang::IdentifierInfo* Name,
    clang::SourceLocation NameLoc,
    bool EnteringContext,
    clang::UnqualifiedId& Id,
    bool AssumeTemplateId)

Declared at: clang/include/clang/Parse/Parser.h:3128

Parameters

clang::CXXScopeSpec& SS
clang::ParsedType ObjectType
bool ObjectHadErrors
clang::SourceLocation TemplateKWLoc
clang::IdentifierInfo* Name
clang::SourceLocation NameLoc
bool EnteringContext
clang::UnqualifiedId& Id
bool AssumeTemplateId

clang::Parser::DeclGroupPtrTy
ParseUsingDeclaration(
    clang::DeclaratorContext Context,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& Attrs,
    clang::AccessSpecifier AS = AS_none)

Declared at: clang/include/clang/Parse/Parser.h:3067

Parameters

clang::DeclaratorContext Context
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::SourceLocation UsingLoc
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& Attrs
clang::AccessSpecifier AS = AS_none

bool ParseUsingDeclarator(
    clang::DeclaratorContext Context,
    clang::Parser::UsingDeclarator& D)

Declared at: clang/include/clang/Parse/Parser.h:3066

Parameters

clang::DeclaratorContext Context
clang::Parser::UsingDeclarator& D

clang::Decl* ParseUsingDirective(
    clang::DeclaratorContext Context,
    clang::SourceLocation UsingLoc,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& attrs)

Declared at: clang/include/clang/Parse/Parser.h:3048

Parameters

clang::DeclaratorContext Context
clang::SourceLocation UsingLoc
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& attrs

clang::Parser::DeclGroupPtrTy
ParseUsingDirectiveOrDeclaration(
    clang::DeclaratorContext Context,
    const clang::Parser::ParsedTemplateInfo&
        TemplateInfo,
    clang::SourceLocation& DeclEnd,
    clang::ParsedAttributes& Attrs)

Declared at: clang/include/clang/Parse/Parser.h:3045

Parameters

clang::DeclaratorContext Context
const clang::Parser::ParsedTemplateInfo& TemplateInfo
clang::SourceLocation& DeclEnd
clang::ParsedAttributes& Attrs

llvm::VersionTuple ParseVersionTuple(
    clang::SourceRange& Range)

Declared at: clang/include/clang/Parse/Parser.h:2853

Parameters

clang::SourceRange& Range

clang::StmtResult ParseWhileStatement(
    clang::SourceLocation* TrailingElseLoc)

Declared at: clang/include/clang/Parse/Parser.h:2103

Parameters

clang::SourceLocation* TrailingElseLoc

Parser(clang::Preprocessor& PP,
       clang::Sema& Actions,
       bool SkipFunctionBodies)

Declared at: clang/include/clang/Parse/Parser.h:438

Parameters

clang::Preprocessor& PP
clang::Sema& Actions
bool SkipFunctionBodies

void PopParsingClass(Sema::ParsingClassState)

Declared at: clang/include/clang/Parse/Parser.h:1550

Parameters

Sema::ParsingClassState

void ProhibitAttributes(
    clang::ParsedAttributesView& Attrs,
    clang::SourceLocation FixItLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Parse/Parser.h:2647

Parameters

clang::ParsedAttributesView& Attrs
clang::SourceLocation FixItLoc = clang::SourceLocation()

void ProhibitAttributes(
    clang::ParsedAttributes& Attrs,
    clang::SourceLocation FixItLoc =
        clang::SourceLocation())

Declared at: clang/include/clang/Parse/Parser.h:2639

Parameters

clang::ParsedAttributes& Attrs
clang::SourceLocation FixItLoc = clang::SourceLocation()

void ProhibitCXX11Attributes(
    clang::ParsedAttributes& Attrs,
    unsigned int DiagID,
    bool DiagnoseEmptyAttrs = false,
    bool WarnOnUnknownAttrs = false)

Declared at: clang/include/clang/Parse/Parser.h:2663

Parameters

clang::ParsedAttributes& Attrs
unsigned int DiagID
bool DiagnoseEmptyAttrs = false
bool WarnOnUnknownAttrs = false

Sema::ParsingClassState PushParsingClass(
    clang::Decl* TagOrTemplate,
    bool TopLevelClass,
    bool IsInterface)

Declared at: clang/include/clang/Parse/Parser.h:1548

Parameters

clang::Decl* TagOrTemplate
bool TopLevelClass
bool IsInterface

unsigned int ReenterTemplateScopes(
    clang::Parser::MultiParseScope& S,
    clang::Decl* D)

Description

Re-enter the template scopes for a declaration that might be a template.

Declared at: clang/include/clang/Parse/Parser.h:1165

Parameters

clang::Parser::MultiParseScope& S
clang::Decl* D

void ReplayOpenMPAttributeTokens(
    clang::CachedTokens& OpenMPTokens)

Declared at: clang/include/clang/Parse/Parser.h:2758

Parameters

clang::CachedTokens& OpenMPTokens

clang::SourceLocation SkipCXX11Attributes()

Description

Skip C++11 and C2x attributes and return the end location of the last one.

Declared at: clang/include/clang/Parse/Parser.h:2670

Returns

SourceLocation() if there are no attributes.

void SkipCXXMemberSpecification(
    clang::SourceLocation StartLoc,
    clang::SourceLocation AttrFixitLoc,
    unsigned int TagType,
    clang::Decl* TagDecl)

Declared at: clang/include/clang/Parse/Parser.h:3090

Parameters

clang::SourceLocation StartLoc
clang::SourceLocation AttrFixitLoc
unsigned int TagType
clang::Decl* TagDecl

clang::SourceLocation
SkipExtendedMicrosoftTypeAttributes()

Declared at: clang/include/clang/Parse/Parser.h:2845

void SkipFunctionBody()

Declared at: clang/include/clang/Parse/Parser.h:1606

void SkipMalformedDecl()

Description

SkipMalformedDecl - Read tokens until we get to some likely good stopping point for skipping past a simple-declaration.

Declared at: clang/include/clang/Parse/Parser.h:1239

bool SkipUntil(
    tok::TokenKind T1,
    tok::TokenKind T2,
    tok::TokenKind T3,
    clang::Parser::SkipUntilFlags Flags =
        static_cast<
            clang::Parser::SkipUntilFlags>(0))

Declared at: clang/include/clang/Parse/Parser.h:1229

Parameters

tok::TokenKind T1
tok::TokenKind T2
tok::TokenKind T3
clang::Parser::SkipUntilFlags Flags = static_cast<clang::Parser::SkipUntilFlags>(0)

bool SkipUntil(
    tok::TokenKind T1,
    tok::TokenKind T2,
    clang::Parser::SkipUntilFlags Flags =
        static_cast<
            clang::Parser::SkipUntilFlags>(0))

Declared at: clang/include/clang/Parse/Parser.h:1224

Parameters

tok::TokenKind T1
tok::TokenKind T2
clang::Parser::SkipUntilFlags Flags = static_cast<clang::Parser::SkipUntilFlags>(0)

bool SkipUntil(
    tok::TokenKind T,
    clang::Parser::SkipUntilFlags Flags =
        static_cast<
            clang::Parser::SkipUntilFlags>(0))

Description

SkipUntil - Read tokens until we get to the specified token, then consume it (unless StopBeforeMatch is specified). Because we cannot guarantee that the token will ever occur, this skips to the next token, or to some likely good stopping point. If Flags has StopAtSemi flag, skipping will stop at a ';' character. Balances (), [], and {} delimiter tokens while skipping. If SkipUntil finds the specified token, it returns true, otherwise it returns false.

Declared at: clang/include/clang/Parse/Parser.h:1220

Parameters

tok::TokenKind T
clang::Parser::SkipUntilFlags Flags = static_cast<clang::Parser::SkipUntilFlags>(0)

bool SkipUntil(
    ArrayRef<tok::TokenKind> Toks,
    clang::Parser::SkipUntilFlags Flags =
        static_cast<
            clang::Parser::SkipUntilFlags>(0))

Declared at: clang/include/clang/Parse/Parser.h:1234

Parameters

ArrayRef<tok::TokenKind> Toks
clang::Parser::SkipUntilFlags Flags = static_cast<clang::Parser::SkipUntilFlags>(0)

void StashAwayMethodOrFunctionBodyTokens(
    clang::Decl* MDecl)

Declared at: clang/include/clang/Parse/Parser.h:1709

Parameters

clang::Decl* MDecl

void SuggestParentheses(
    clang::SourceLocation Loc,
    unsigned int DK,
    clang::SourceRange ParenRange)

Declared at: clang/include/clang/Parse/Parser.h:1191

Parameters

clang::SourceLocation Loc
unsigned int DK
clang::SourceRange ParenRange

bool TryAltiVecToken(clang::DeclSpec& DS,
                     clang::SourceLocation Loc,
                     const char*& PrevSpec,
                     unsigned int& DiagID,
                     bool& isInvalid)

Description

TryAltiVecToken - Check for context-sensitive AltiVec identifier tokens, replacing them with the non-context-sensitive keywords. This returns true if the token was replaced.

Declared at: clang/include/clang/Parse/Parser.h:893

Parameters

clang::DeclSpec& DS
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
bool& isInvalid

bool TryAltiVecTokenOutOfLine(
    clang::DeclSpec& DS,
    clang::SourceLocation Loc,
    const char*& PrevSpec,
    unsigned int& DiagID,
    bool& isInvalid)

Declared at: clang/include/clang/Parse/Parser.h:918

Parameters

clang::DeclSpec& DS
clang::SourceLocation Loc
const char*& PrevSpec
unsigned int& DiagID
bool& isInvalid

bool TryAltiVecVectorToken()

Description

TryAltiVecVectorToken - Check for context-sensitive AltiVec vector identifier token, replacing it with the non-context-sensitive __vector. This returns true if the token was replaced.

Declared at: clang/include/clang/Parse/Parser.h:911

bool TryAltiVecVectorTokenOutOfLine()

Declared at: clang/include/clang/Parse/Parser.h:917

bool TryAnnotateCXXScopeToken(
    bool EnteringContext = false)

Declared at: clang/include/clang/Parse/Parser.h:860

Parameters

bool EnteringContext = false

clang::Parser::AnnotatedNameKind TryAnnotateName(
    clang::CorrectionCandidateCallback* CCC =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:885

Parameters

clang::CorrectionCandidateCallback* CCC = nullptr

bool TryAnnotateOptionalCXXScopeToken(
    bool EnteringContext = false)

Declared at: clang/include/clang/Parse/Parser.h:868

Parameters

bool EnteringContext = false

bool TryAnnotateTypeConstraint()

Declared at: clang/include/clang/Parse/Parser.h:3400

bool TryAnnotateTypeOrScopeToken()

Declared at: clang/include/clang/Parse/Parser.h:857

bool TryAnnotateTypeOrScopeTokenAfterScopeSpec(
    clang::CXXScopeSpec& SS,
    bool IsNewScope)

Declared at: clang/include/clang/Parse/Parser.h:858

Parameters

clang::CXXScopeSpec& SS
bool IsNewScope

clang::Parser::TPResult
TryConsumeDeclarationSpecifier()

Declared at: clang/include/clang/Parse/Parser.h:2587

bool TryConsumeToken(tok::TokenKind Expected)

Declared at: clang/include/clang/Parse/Parser.h:499

Parameters

tok::TokenKind Expected

bool TryConsumeToken(tok::TokenKind Expected,
                     clang::SourceLocation& Loc)

Declared at: clang/include/clang/Parse/Parser.h:509

Parameters

tok::TokenKind Expected
clang::SourceLocation& Loc

bool TryKeywordIdentFallback(bool DisableKeyword)

Description

TryKeywordIdentFallback - For compatibility with system headers using keywords as identifiers, attempt to convert the current token to an identifier and optionally disable the keyword for the remainder of the translation unit. This returns false if the token was not replaced, otherwise emits a diagnostic and returns true.

Declared at: clang/include/clang/Parse/Parser.h:939

Parameters

bool DisableKeyword

clang::Parser::TPResult
TryParseBracketDeclarator()

Declared at: clang/include/clang/Parse/Parser.h:2586

clang::IdentifierInfo*
TryParseCXX11AttributeIdentifier(
    clang::SourceLocation& Loc,
    Sema::AttributeCompletion Completion =
        Sema::AttributeCompletion::None,
    const clang::IdentifierInfo* EnclosingScope =
        nullptr)

Declared at: clang/include/clang/Parse/Parser.h:2808

Parameters

clang::SourceLocation& Loc
Sema::AttributeCompletion Completion = Sema::AttributeCompletion::None
const clang::IdentifierInfo* EnclosingScope = nullptr

clang::Parser::TPResult TryParseDeclarator(
    bool mayBeAbstract,
    bool mayHaveIdentifier = true,
    bool mayHaveDirectInit = false)

Declared at: clang/include/clang/Parse/Parser.h:2580

Parameters

bool mayBeAbstract
bool mayHaveIdentifier = true
bool mayHaveDirectInit = false

clang::Parser::TPResult
TryParseFunctionDeclarator()

Declared at: clang/include/clang/Parse/Parser.h:2585

clang::Parser::TPResult
TryParseInitDeclaratorList()

Declared at: clang/include/clang/Parse/Parser.h:2579

clang::ExprResult TryParseLambdaExpression()

Declared at: clang/include/clang/Parse/Parser.h:1911

clang::Parser::TPResult TryParseOperatorId()

Declared at: clang/include/clang/Parse/Parser.h:2578

clang::Parser::TPResult
TryParseParameterDeclarationClause(
    bool* InvalidAsDeclaration = nullptr,
    bool VersusTemplateArg = false)

Declared at: clang/include/clang/Parse/Parser.h:2583

Parameters

bool* InvalidAsDeclaration = nullptr
bool VersusTemplateArg = false

clang::Parser::TPResult
TryParseProtocolQualifiers()

Declared at: clang/include/clang/Parse/Parser.h:2576

clang::Parser::TPResult TryParsePtrOperatorSeq()

Declared at: clang/include/clang/Parse/Parser.h:2577

clang::Parser::TPResult TryParseSimpleDeclaration(
    bool AllowForRangeDecl)

Declared at: clang/include/clang/Parse/Parser.h:2574

Parameters

bool AllowForRangeDecl

clang::Parser::TPResult TryParseTypeofSpecifier()

Declared at: clang/include/clang/Parse/Parser.h:2575

bool TrySkipAttributes()

Description

Try to skip a possibly empty sequence of 'attribute-specifier's without full validation of the syntactic structure of attributes.

Declared at: clang/include/clang/Parse/Parser.h:2591

void UnconsumeToken(clang::Token& Consumed)

Description

Return the current token to the token stream and make the given token the current token.

Declared at: clang/include/clang/Parse/Parser.h:580

Parameters

clang::Token& Consumed

bool areTokensAdjacent(const clang::Token& A,
                       const clang::Token& B)

Declared at: clang/include/clang/Parse/Parser.h:1876

Parameters

const clang::Token& A
const clang::Token& B

void checkCompoundToken(
    clang::SourceLocation FirstTokLoc,
    tok::TokenKind FirstTokKind,
    clang::Parser::CompoundToken Op)

Description

Check that a compound operator was written in a "sensible" way, and warn if not.

Declared at: clang/include/clang/Parse/Parser.h:1084

Parameters

clang::SourceLocation FirstTokLoc
tok::TokenKind FirstTokKind
clang::Parser::CompoundToken Op

void checkPotentialAngleBracket(
    clang::ExprResult& PotentialTemplateName)

Declared at: clang/include/clang/Parse/Parser.h:1808

Parameters

clang::ExprResult& PotentialTemplateName

bool checkPotentialAngleBracketDelimiter(
    const AngleBracketTracker::Loc&,
    const clang::Token& OpToken)

Declared at: clang/include/clang/Parse/Parser.h:1809

Parameters

const AngleBracketTracker::Loc&
const clang::Token& OpToken

bool checkPotentialAngleBracketDelimiter(
    const clang::Token& OpToken)

Declared at: clang/include/clang/Parse/Parser.h:1811

Parameters

const clang::Token& OpToken

void cutOffParsing()

Description

Abruptly cut off parsing; mainly used when we have reached the code-completion point.

Declared at: clang/include/clang/Parse/Parser.h:675

bool diagnoseUnknownTemplateId(
    clang::ExprResult TemplateName,
    clang::SourceLocation Less)

Declared at: clang/include/clang/Parse/Parser.h:1807

Parameters

clang::ExprResult TemplateName
clang::SourceLocation Less

bool expectIdentifier()

Description

Return false if the next token is an identifier. An 'expected identifier' error is emitted otherwise. The parser tries to recover from the error by checking if the next token is a C++ keyword when parsing Objective-C++. Return false if the recovery was successful.

Declared at: clang/include/clang/Parse/Parser.h:1066

clang::AccessSpecifier
getAccessSpecifierIfPresent() const

Declared at: clang/include/clang/Parse/Parser.h:3126

clang::Sema& getActions() const

Declared at: clang/include/clang/Parse/Parser.h:444

clang::AttributeFactory& getAttrFactory()

Declared at: clang/include/clang/Parse/Parser.h:445

clang::Scope* getCurScope() const

Declared at: clang/include/clang/Parse/Parser.h:448

const clang::Token& getCurToken() const

Declared at: clang/include/clang/Parse/Parser.h:447

clang::Parser::ParsingClass& getCurrentClass()

Declared at: clang/include/clang/Parse/Parser.h:1458

clang::Parser::DeclSpecContext
getDeclSpecContextFromDeclaratorContext(
    clang::DeclaratorContext Context)

Declared at: clang/include/clang/Parse/Parser.h:2366

Parameters

clang::DeclaratorContext Context

clang::SourceLocation getEndOfPreviousToken()

Declared at: clang/include/clang/Parse/Parser.h:537

static clang::ExprResult getExprAnnotation(
    const clang::Token& Tok)

Description

Read an already-translated primary expression out of an annotation token.

Declared at: clang/include/clang/Parse/Parser.h:844

Parameters

const clang::Token& Tok

GNUAsmQualifiers::AQ getGNUAsmQualifier(
    const clang::Token& Tok) const

Declared at: clang/include/clang/Parse/Parser.h:3500

Parameters

const clang::Token& Tok

static clang::IdentifierInfo*
getIdentifierAnnotation(const clang::Token& Tok)

Declared at: clang/include/clang/Parse/Parser.h:834

Parameters

const clang::Token& Tok

const clang::LangOptions& getLangOpts() const

Declared at: clang/include/clang/Parse/Parser.h:441

static clang::NamedDecl* getNonTypeAnnotation(
    const clang::Token& Tok)

Declared at: clang/include/clang/Parse/Parser.h:826

Parameters

const clang::Token& Tok

clang::IdentifierInfo* getNullabilityKeyword(
    clang::NullabilityKind nullability)

Description

Retrieve the underscored keyword (_Nonnull, _Nullable) that corresponds to the given nullability kind.

Declared at: clang/include/clang/Parse/Parser.h:543

Parameters

clang::NullabilityKind nullability

clang::ObjCContainerDecl* getObjCDeclContext()
    const

Declared at: clang/include/clang/Parse/Parser.h:453

clang::Preprocessor& getPreprocessor() const

Declared at: clang/include/clang/Parse/Parser.h:443

clang::IdentifierInfo* getSEHExceptKeyword()

Declared at: clang/include/clang/Parse/Parser.h:394

const clang::TargetInfo& getTargetInfo() const

Declared at: clang/include/clang/Parse/Parser.h:442

static clang::TypeResult getTypeAnnotation(
    const clang::Token& Tok)

Description

getTypeAnnotation - Read a parsed type out of an annotation token.

Declared at: clang/include/clang/Parse/Parser.h:813

Parameters

const clang::Token& Tok

clang::StmtResult handleExprStmt(
    clang::ExprResult E,
    clang::Parser::ParsedStmtContext StmtCtx)

Description

Act on an expression statement that might be the last statement in a GNU statement expression. Checks whether we are actually at the end of a statement expression and builds a suitable expression statement.

Declared at: clang/include/clang/Parse/Parser.h:435

Parameters

clang::ExprResult E
clang::Parser::ParsedStmtContext StmtCtx

clang::SourceLocation
handleUnexpectedCodeCompletionToken()

Description

\ brief When we are consuming a code-completion token without having matched specific position in the grammar, provide code-completion results based on context.

Declared at: clang/include/clang/Parse/Parser.h:671

Returns

the source location of the code-completion token.

void incrementMSManglingNumber() const

Declared at: clang/include/clang/Parse/Parser.h:449

void initializePragmaHandlers()

Description

Initialize all pragma handlers.

Declared at: clang/include/clang/Parse/Parser.h:697

clang::Parser::CXX11AttributeKind
isCXX11AttributeSpecifier(
    bool Disambiguate = false,
    bool OuterMightBeMessageSend = false)

Declared at: clang/include/clang/Parse/Parser.h:3022

Parameters

bool Disambiguate = false
bool OuterMightBeMessageSend = false

bool isCXX11FinalKeyword() const

Declared at: clang/include/clang/Parse/Parser.h:2925

VirtSpecifiers::Specifier isCXX11VirtSpecifier()
    const

Declared at: clang/include/clang/Parse/Parser.h:2919

VirtSpecifiers::Specifier isCXX11VirtSpecifier(
    const clang::Token& Tok) const

Declared at: clang/include/clang/Parse/Parser.h:2918

Parameters

const clang::Token& Tok

clang::Parser::ConditionOrInitStatement
isCXXConditionDeclarationOrInitStatement(
    bool CanBeInitStmt,
    bool CanBeForRangeDecl)

Description

Disambiguates between the different kinds of things that can happen after 'if (' or 'switch ('. This could be one of two different kinds of declaration (depending on whether there is a ';' later) or an expression.

Declared at: clang/include/clang/Parse/Parser.h:2512

Parameters

bool CanBeInitStmt
bool CanBeForRangeDecl

clang::Parser::TPResult isCXXDeclarationSpecifier(
    clang::Parser::TPResult BracedCastResult =
        TPResult::False,
    bool* InvalidAsDeclSpec = nullptr)

Description

isCXXDeclarationSpecifier - Returns TPResult::True if it is a declaration specifier, TPResult::False if it is not, TPResult::Ambiguous if it could be either a decl-specifier or a function-style cast, and TPResult::Error if a parsing error was encountered. If it could be a braced C++11 function-style cast, returns BracedCastResult. Doesn't consume tokens.

Declared at: clang/include/clang/Parse/Parser.h:2544

Parameters

clang::Parser::TPResult BracedCastResult = TPResult::False
bool* InvalidAsDeclSpec = nullptr

bool isCXXDeclarationSpecifierAType()

Description

Given that isCXXDeclarationSpecifier returns \c TPResult::True or\c TPResult::Ambiguous, determine whether the decl-specifier would be a type-specifier other than a cv-qualifier.

Declared at: clang/include/clang/Parse/Parser.h:2550

bool isCXXDeclarationStatement()

Description

isCXXDeclarationStatement - C++-specialized function that disambiguates between a declaration or an expression statement, when parsing function bodies. Returns true for declaration, false for expression.

Declared at: clang/include/clang/Parse/Parser.h:2482

bool isCXXFunctionDeclarator(
    bool* IsAmbiguous = nullptr)

Description

isCXXFunctionDeclarator - Disambiguates between a function declarator or a constructor-style initializer, when parsing declaration statements. Returns true for function declarator and false for constructor-style initializer. Sets 'IsAmbiguous' to true to indicate that this declaration might be a constructor-style initializer. If during the disambiguation process a parsing error is encountered, the function returns true to let the declaration parsing code handle it.

Declared at: clang/include/clang/Parse/Parser.h:2498

Parameters

bool* IsAmbiguous = nullptr

bool isCXXSimpleDeclaration(
    bool AllowForRangeDecl)

Description

isCXXSimpleDeclaration - C++-specialized function that disambiguates between a simple-declaration or an expression-statement. If during the disambiguation process a parsing error is encountered, the function returns true to let the declaration parsing code handle it. Returns false if the statement is disambiguated as expression.

Declared at: clang/include/clang/Parse/Parser.h:2489

Parameters

bool AllowForRangeDecl

bool isCXXTypeId(
    clang::Parser::TentativeCXXTypeIdContext
        Context,
    bool& isAmbiguous)

Declared at: clang/include/clang/Parse/Parser.h:2515

Parameters

clang::Parser::TentativeCXXTypeIdContext Context
bool& isAmbiguous

bool isCXXTypeId(
    clang::Parser::TentativeCXXTypeIdContext
        Context)

Declared at: clang/include/clang/Parse/Parser.h:2516

Parameters

clang::Parser::TentativeCXXTypeIdContext Context

bool isClassCompatibleKeyword() const

Declared at: clang/include/clang/Parse/Parser.h:2926

static bool isClassTemplateDeductionContext(
    clang::Parser::DeclSpecContext DSC)

Description

Is this a context in which we can perform class template argument deduction?

Declared at: clang/include/clang/Parse/Parser.h:2297

Parameters

clang::Parser::DeclSpecContext DSC

bool isConstructorDeclarator(
    bool Unqualified,
    bool DeductionGuide = false)

Description

Starting with a scope specifier, identifier, or template-id that refers to the current class, determine whether this is a constructor declarator.

Declared at: clang/include/clang/Parse/Parser.h:2444

Parameters

bool Unqualified
bool DeductionGuide = false

bool isDeclarationAfterDeclarator()

Declared at: clang/include/clang/Parse/Parser.h:1596

bool isDeclarationSpecifier(
    bool DisambiguatingWithExpression = false)

Declared at: clang/include/clang/Parse/Parser.h:2395

Parameters

bool DisambiguatingWithExpression = false

bool isDeclarationStatement()

Description

isDeclarationStatement - Disambiguates between a declaration or an expression statement, when parsing function bodies. Returns true for declaration, false for expression.

Declared at: clang/include/clang/Parse/Parser.h:2415

static clang::Parser::AllowDefiningTypeSpec
isDefiningTypeSpecifierContext(
    clang::Parser::DeclSpecContext DSC,
    bool IsCPlusPlus)

Description

Is this a context in which we are parsing defining-type-specifiers (and so permit class and enum definitions in addition to non-defining class and enum elaborated-type-specifiers)?

Declared at: clang/include/clang/Parse/Parser.h:2247

Parameters

clang::Parser::DeclSpecContext DSC
bool IsCPlusPlus

bool isEnumBase(bool AllowSemi)

Description

Determine whether we could have an enum-base. \p AllowSemi If \c true, then allow a ';' after the enum-base; otherwise only consider this to be an enum-base if the next token is a '{'.

Declared at: clang/include/clang/Parse/Parser.h:2534

Parameters

bool AllowSemi

Returns

\c false if this cannot possibly be an enum base; \c true otherwise.

bool isEofOrEom()

Description

Determine if we're at the end of the file or at a transition between modules.

Declared at: clang/include/clang/Parse/Parser.h:684

clang::Parser::TPResult isExplicitBool()

Description

Determine whether an '(' after an 'explicit' keyword is part of a C++20 'explicit(bool)' declaration, in earlier language modes where that is an extension.

Declared at: clang/include/clang/Parse/Parser.h:2560

bool isFoldOperator(prec::Level Level) const

Description

Checks if the \p Level is valid for use in a fold expression.

Declared at: clang/include/clang/Parse/Parser.h:691

Parameters

prec::Level Level

bool isFoldOperator(tok::TokenKind Kind) const

Description

Checks if the \p Kind is a valid operator for fold expressions.

Declared at: clang/include/clang/Parse/Parser.h:694

Parameters

tok::TokenKind Kind

bool isForInitDeclaration()

Description

Returns true for declaration, false for expression.

Declared at: clang/include/clang/Parse/Parser.h:2425

bool isForRangeIdentifier()

Description

Determine whether this is a C++1z for-range-identifier.

Declared at: clang/include/clang/Parse/Parser.h:2435

bool isFunctionDeclaratorIdentifierList()

Declared at: clang/include/clang/Parse/Parser.h:2996

bool isGCCAsmStatement(
    const clang::Token& TokAfterAsm) const

Declared at: clang/include/clang/Parse/Parser.h:3498

Parameters

const clang::Token& TokAfterAsm

bool isGNUAsmQualifier(
    const clang::Token& TokAfterAsm) const

Declared at: clang/include/clang/Parse/Parser.h:3499

Parameters

const clang::Token& TokAfterAsm

bool isKnownToBeDeclarationSpecifier()

Description

Return true if we know that we are definitely looking at a decl-specifier, and isn't part of an expression such as a function-style cast. Return false if it's no a decl-specifier, or we're not sure.

Declared at: clang/include/clang/Parse/Parser.h:2406

bool isKnownToBeTypeSpecifier(
    const clang::Token& Tok) const

Description

isKnownToBeTypeSpecifier - Return true if we know that the specified token is definitely a type-specifier. Return false if it isn't part of a type specifier or if we're not sure.

Declared at: clang/include/clang/Parse/Parser.h:2401

Parameters

const clang::Token& Tok

bool isNotExpressionStart()

Description

Returns true if the next token cannot start an expression.

Declared at: clang/include/clang/Parse/Parser.h:1796

bool isObjCInstancetype()

Description

Returns true if the current token is the identifier 'instancetype'. Should only be used in Objective-C language modes.

Declared at: clang/include/clang/Parse/Parser.h:925

static bool isOpaqueEnumDeclarationContext(
    clang::Parser::DeclSpecContext DSC)

Description

Is this a context in which an opaque-enum-declaration can appear?

Declared at: clang/include/clang/Parse/Parser.h:2275

Parameters

clang::Parser::DeclSpecContext DSC

bool isPostfixExpressionSuffixStart()

Description

Returns true if the next token would start a postfix-expression suffix.

Declared at: clang/include/clang/Parse/Parser.h:1800

bool isSimpleObjCMessageExpression()

Declared at: clang/include/clang/Parse/Parser.h:2051

bool isStartOfFunctionDefinition(
    const clang::ParsingDeclarator& Declarator)

Declared at: clang/include/clang/Parse/Parser.h:1597

Parameters

const clang::ParsingDeclarator& Declarator

bool isStartOfObjCClassMessageMissingOpenBracket()

Description

Determine whether we are currently at the start of an Objective-C class message that appears to be missing the open bracket '['.

Declared at: clang/include/clang/Parse/Parser.h:2439

clang::Parser::TPResult
isStartOfTemplateTypeParameter()

Declared at: clang/include/clang/Parse/Parser.h:3394

clang::Parser::TPResult isTemplateArgumentList(
    unsigned int TokensToSkip)

Description

Determine whether the current token sequence might be ' < ' template-argument-list '>' rather than a less-than expression.

Declared at: clang/include/clang/Parse/Parser.h:2555

Parameters

unsigned int TokensToSkip

bool isTentativelyDeclared(
    clang::IdentifierInfo* II)

Description

Determine whether an identifier has been tentatively declared as a non-type. Such tentative declarations should not be found to name a type during a tentative parse, but also should not be annotated as a non-type.

Declared at: clang/include/clang/Parse/Parser.h:2565

Parameters

clang::IdentifierInfo* II

bool isTokIdentifier_in() const

Declared at: clang/include/clang/Parse/Parser.h:1727

bool isTokenBrace() const

Description

isTokenBrace - Return true if the cur token is '{' or '}'.

Declared at: clang/include/clang/Parse/Parser.h:561

bool isTokenBracket() const

Description

isTokenBracket - Return true if the cur token is '[' or ']'.

Declared at: clang/include/clang/Parse/Parser.h:557

bool isTokenEqualOrEqualTypo()

Description

Returns true if the current token is '=' or is a type of '='. For typos, give a fixit to '='

Declared at: clang/include/clang/Parse/Parser.h:576

bool isTokenParen() const

Description

isTokenParen - Return true if the cur token is '(' or ')'.

Declared at: clang/include/clang/Parse/Parser.h:553

bool isTokenSpecial() const

Description

isTokenSpecial - True if this token requires special consumption methods.

Declared at: clang/include/clang/Parse/Parser.h:569

bool isTokenStringLiteral() const

Description

isTokenStringLiteral - True if this token is a string-literal.

Declared at: clang/include/clang/Parse/Parser.h:565

bool isTypeConstraintAnnotation()

Declared at: clang/include/clang/Parse/Parser.h:3399

bool isTypeIdInParens(bool& isAmbiguous)

Description

isTypeIdInParens - Assumes that a '(' was parsed and now we want to know whether the parens contain an expression or a type-id. Returns true for a type-id and false for an expression.

Declared at: clang/include/clang/Parse/Parser.h:2458

Parameters

bool& isAmbiguous

bool isTypeIdInParens()

Declared at: clang/include/clang/Parse/Parser.h:2464

bool isTypeIdUnambiguously()

Description

Checks if the current tokens form type-id or expression. It is similar to isTypeIdInParens but does not suppose that type-id is in parenthesis.

Declared at: clang/include/clang/Parse/Parser.h:2472

static bool isTypeSpecifier(
    clang::Parser::DeclSpecContext DSC)

Description

Is this a context in which we are parsing just a type-specifier (or trailing-type-specifier)?

Declared at: clang/include/clang/Parse/Parser.h:2208

Parameters

clang::Parser::DeclSpecContext DSC

bool isTypeSpecifierQualifier()

Declared at: clang/include/clang/Parse/Parser.h:2396

bool isValidAfterTypeSpecifier(
    bool CouldBeBitfield)

Declared at: clang/include/clang/Parse/Parser.h:3085

Parameters

bool CouldBeBitfield

bool parseGNUAsmQualifierListOpt(
    clang::Parser::GNUAsmQualifiers& AQ)

Declared at: clang/include/clang/Parse/Parser.h:3501

Parameters

clang::Parser::GNUAsmQualifiers& AQ

bool parseMapTypeModifiers(
    Sema::OpenMPVarListDataTy& Data)

Description

Parses map-type-modifiers in map clause. map([ [map-type-modifier[,] [map-type-modifier[,] ...] map-type : ] list) where, map-type-modifier ::= always | close | mapper(mapper-identifier)

Declared at: clang/include/clang/Parse/Parser.h:3369

Parameters

Sema::OpenMPVarListDataTy& Data

bool parseMapperModifier(
    Sema::OpenMPVarListDataTy& Data)

Description

Parses the mapper modifier in map, to, and from clauses.

Declared at: clang/include/clang/Parse/Parser.h:3365

Parameters

Sema::OpenMPVarListDataTy& Data

bool parseMisplacedModuleImport()

Declared at: clang/include/clang/Parse/Parser.h:3448

void parseOMPContextProperty(
    clang::OMPTraitSelector& TISelector,
    llvm::omp::TraitSet Set,
    llvm::StringMap<SourceLocation>& Seen)

Description

Parses an OpenMP context property.

Declared at: clang/include/clang/Parse/Parser.h:3165

Parameters

clang::OMPTraitSelector& TISelector
llvm::omp::TraitSet Set
llvm::StringMap<SourceLocation>& Seen

void parseOMPContextSelector(
    clang::OMPTraitSelector& TISelector,
    llvm::omp::TraitSet Set,
    llvm::StringMap<SourceLocation>&
        SeenSelectors)

Description

Parses an OpenMP context selector.

Declared at: clang/include/clang/Parse/Parser.h:3170

Parameters

clang::OMPTraitSelector& TISelector
llvm::omp::TraitSet Set
llvm::StringMap<SourceLocation>& SeenSelectors

void parseOMPContextSelectorSet(
    clang::OMPTraitSet& TISet,
    llvm::StringMap<SourceLocation>& SeenSets)

Description

Parses an OpenMP context selector set.

Declared at: clang/include/clang/Parse/Parser.h:3175

Parameters

clang::OMPTraitSet& TISet
llvm::StringMap<SourceLocation>& SeenSets

bool parseOMPContextSelectors(
    clang::SourceLocation Loc,
    clang::OMPTraitInfo& TI)

Description

Parses OpenMP context selectors.

Declared at: clang/include/clang/Parse/Parser.h:3179

Parameters

clang::SourceLocation Loc
clang::OMPTraitInfo& TI

bool parseOMPDeclareVariantMatchClause(
    clang::SourceLocation Loc,
    clang::OMPTraitInfo& TI,
    clang::OMPTraitInfo* ParentTI)

Description

Parse a `match` clause for an '#pragma omp declare variant'. Return true if there was an error.

Declared at: clang/include/clang/Parse/Parser.h:3187

Parameters

clang::SourceLocation Loc
clang::OMPTraitInfo& TI
clang::OMPTraitInfo* ParentTI

void parseOMPEndDirective(
    clang::OpenMPDirectiveKind BeginKind,
    clang::OpenMPDirectiveKind ExpectedKind,
    clang::OpenMPDirectiveKind FoundKind,
    clang::SourceLocation MatchingLoc,
    clang::SourceLocation FoundLoc,
    bool SkipUntilOpenMPEnd)

Description

Check the \p FoundKind against the \p ExpectedKind, if not issue an error that the "end" matching the "begin" directive of kind \p BeginKind was not found. Finally, if the expected kind was found or if \p SkipUntilOpenMPEnd is set, skip ahead using the helper `skipUntilPragmaOpenMPEnd`.

Declared at: clang/include/clang/Parse/Parser.h:3217

Parameters

clang::OpenMPDirectiveKind BeginKind
clang::OpenMPDirectiveKind ExpectedKind
clang::OpenMPDirectiveKind FoundKind
clang::SourceLocation MatchingLoc
clang::SourceLocation FoundLoc
bool SkipUntilOpenMPEnd

void parseOMPTraitPropertyKind(
    clang::OMPTraitProperty& TIProperty,
    llvm::omp::TraitSet Set,
    llvm::omp::TraitSelector Selector,
    llvm::StringMap<SourceLocation>& Seen)

Description

Parse a property kind into \p TIProperty for the selector set \p Set and selector \p Selector.

Declared at: clang/include/clang/Parse/Parser.h:3150

Parameters

clang::OMPTraitProperty& TIProperty
llvm::omp::TraitSet Set
llvm::omp::TraitSelector Selector
llvm::StringMap<SourceLocation>& Seen

void parseOMPTraitSelectorKind(
    clang::OMPTraitSelector& TISelector,
    llvm::omp::TraitSet Set,
    llvm::StringMap<SourceLocation>& Seen)

Description

Parse a selector kind into \p TISelector for the selector set \p Set.

Declared at: clang/include/clang/Parse/Parser.h:3156

Parameters

clang::OMPTraitSelector& TISelector
llvm::omp::TraitSet Set
llvm::StringMap<SourceLocation>& Seen

void parseOMPTraitSetKind(
    clang::OMPTraitSet& TISet,
    llvm::StringMap<SourceLocation>& Seen)

Description

Parse a selector set kind into \p TISet.

Declared at: clang/include/clang/Parse/Parser.h:3161

Parameters

clang::OMPTraitSet& TISet
llvm::StringMap<SourceLocation>& Seen

clang::TypeResult parseObjCProtocolQualifierType(
    clang::SourceLocation& rAngleLoc)

Description

Parse a protocol qualifier type such as ' <NSCopying >', which is an anachronistic way of writing 'id <NSCopying >'.

Declared at: clang/include/clang/Parse/Parser.h:1674

Parameters

clang::SourceLocation& rAngleLoc

void parseObjCTypeArgsAndProtocolQualifiers(
    clang::ParsedType baseType,
    clang::SourceLocation& typeArgsLAngleLoc,
    SmallVectorImpl<clang::ParsedType>& typeArgs,
    clang::SourceLocation& typeArgsRAngleLoc,
    clang::SourceLocation& protocolLAngleLoc,
    SmallVectorImpl<clang::Decl*>& protocols,
    SmallVectorImpl<clang::SourceLocation>&
        protocolLocs,
    clang::SourceLocation& protocolRAngleLoc,
    bool consumeLastToken)

Description

Parse either Objective-C type arguments or protocol qualifiers; if the former, also parse protocol qualifiers afterward.

Declared at: clang/include/clang/Parse/Parser.h:1661

Parameters

clang::ParsedType baseType
clang::SourceLocation& typeArgsLAngleLoc
SmallVectorImpl<clang::ParsedType>& typeArgs
clang::SourceLocation& typeArgsRAngleLoc
clang::SourceLocation& protocolLAngleLoc
SmallVectorImpl<clang::Decl*>& protocols
SmallVectorImpl<clang::SourceLocation>& protocolLocs
clang::SourceLocation& protocolRAngleLoc
bool consumeLastToken

clang::TypeResult
parseObjCTypeArgsAndProtocolQualifiers(
    clang::SourceLocation loc,
    clang::ParsedType type,
    bool consumeLastToken,
    clang::SourceLocation& endLoc)

Description

Parse Objective-C type arguments and protocol qualifiers, extending the current type with the parsed result.

Declared at: clang/include/clang/Parse/Parser.h:1678

Parameters

clang::SourceLocation loc
clang::ParsedType type
bool consumeLastToken
clang::SourceLocation& endLoc

void parseObjCTypeArgsOrProtocolQualifiers(
    clang::ParsedType baseType,
    clang::SourceLocation& typeArgsLAngleLoc,
    SmallVectorImpl<clang::ParsedType>& typeArgs,
    clang::SourceLocation& typeArgsRAngleLoc,
    clang::SourceLocation& protocolLAngleLoc,
    SmallVectorImpl<clang::Decl*>& protocols,
    SmallVectorImpl<clang::SourceLocation>&
        protocolLocs,
    clang::SourceLocation& protocolRAngleLoc,
    bool consumeLastToken,
    bool warnOnIncompleteProtocols)

Description

Parse the first angle-bracket-delimited clause for an Objective-C object or object pointer type, which may be either type arguments or protocol qualifiers.

Declared at: clang/include/clang/Parse/Parser.h:1647

Parameters

clang::ParsedType baseType
clang::SourceLocation& typeArgsLAngleLoc
SmallVectorImpl<clang::ParsedType>& typeArgs
clang::SourceLocation& typeArgsRAngleLoc
clang::SourceLocation& protocolLAngleLoc
SmallVectorImpl<clang::Decl*>& protocols
SmallVectorImpl<clang::SourceLocation>& protocolLocs
clang::SourceLocation& protocolRAngleLoc
bool consumeLastToken
bool warnOnIncompleteProtocols

clang::ObjCTypeParamList* parseObjCTypeParamList()

Declared at: clang/include/clang/Parse/Parser.h:1622

clang::ObjCTypeParamList*
parseObjCTypeParamListOrProtocolRefs(
    clang::Parser::ObjCTypeParamListScope& Scope,
    clang::SourceLocation& lAngleLoc,
    SmallVectorImpl<clang::IdentifierLocPair>&
        protocolIdents,
    clang::SourceLocation& rAngleLoc,
    bool mayBeProtocolList = true)

Declared at: clang/include/clang/Parse/Parser.h:1623

Parameters

clang::Parser::ObjCTypeParamListScope& Scope
clang::SourceLocation& lAngleLoc
SmallVectorImpl<clang::IdentifierLocPair>& protocolIdents
clang::SourceLocation& rAngleLoc
bool mayBeProtocolList = true

bool parseOpenMPAppendArgs(
    SmallVectorImpl<
        OMPDeclareVariantAttr::InteropType>&
        InterOpTypes)

Description

Parse an 'append_args' clause for '#pragma omp declare variant'.

Declared at: clang/include/clang/Parse/Parser.h:3182

Parameters

SmallVectorImpl< OMPDeclareVariantAttr::InteropType>& InterOpTypes

clang::TypeResult parseOpenMPDeclareMapperVarDecl(
    clang::SourceRange& Range,
    clang::DeclarationName& Name,
    clang::AccessSpecifier AS = AS_none)

Description

Parses variable declaration in 'omp declare mapper' directive.

Declared at: clang/include/clang/Parse/Parser.h:3238

Parameters

clang::SourceRange& Range
clang::DeclarationName& Name
clang::AccessSpecifier AS = AS_none

void resetPragmaHandlers()

Description

Destroy and reset all pragma handlers.

Declared at: clang/include/clang/Parse/Parser.h:700

static void setExprAnnotation(
    clang::Token& Tok,
    clang::ExprResult ER)

Description

Set the primary expression corresponding to the given annotation token.

Declared at: clang/include/clang/Parse/Parser.h:850

Parameters

clang::Token& Tok
clang::ExprResult ER

static void setIdentifierAnnotation(
    clang::Token& Tok,
    clang::IdentifierInfo* ND)

Declared at: clang/include/clang/Parse/Parser.h:838

Parameters

clang::Token& Tok
clang::IdentifierInfo* ND

static void setNonTypeAnnotation(
    clang::Token& Tok,
    clang::NamedDecl* ND)

Declared at: clang/include/clang/Parse/Parser.h:830

Parameters

clang::Token& Tok
clang::NamedDecl* ND

static void setTypeAnnotation(clang::Token& Tok,
                              clang::TypeResult T)

Declared at: clang/include/clang/Parse/Parser.h:820

Parameters

clang::Token& Tok
clang::TypeResult T

void skipUntilPragmaOpenMPEnd(
    clang::OpenMPDirectiveKind DKind)

Description

Skip tokens until a `annot_pragma_openmp_end` was found. Emit a warning if it is not the current token.

Declared at: clang/include/clang/Parse/Parser.h:3211

Parameters

clang::OpenMPDirectiveKind DKind

bool standardAttributesAllowed() const

Description

Are [[]] attributes enabled?

Declared at: clang/include/clang/Parse/Parser.h:2608

void stripTypeAttributesOffDeclSpec(
    clang::ParsedAttributes& Attrs,
    clang::DeclSpec& DS,
    Sema::TagUseKind TUK)

Declared at: clang/include/clang/Parse/Parser.h:2635

Parameters

clang::ParsedAttributes& Attrs
clang::DeclSpec& DS
Sema::TagUseKind TUK

clang::TemplateIdAnnotation*
takeTemplateIdAnnotation(const clang::Token& tok)

Description

Get the TemplateIdAnnotation from the token.

Declared at: clang/include/clang/Parse/Parser.h:942

Parameters

const clang::Token& tok

clang::ExprResult tryParseCXXIdExpression(
    clang::CXXScopeSpec& SS,
    bool isAddressOfOperand,
    clang::Token& Replacement)

Declared at: clang/include/clang/Parse/Parser.h:1872

Parameters

clang::CXXScopeSpec& SS
bool isAddressOfOperand
clang::Token& Replacement

clang::ExceptionSpecificationType
tryParseExceptionSpecification(
    bool Delayed,
    clang::SourceRange& SpecificationRange,
    SmallVectorImpl<clang::ParsedType>&
        DynamicExceptions,
    SmallVectorImpl<clang::SourceRange>&
        DynamicExceptionRanges,
    clang::ExprResult& NoexceptExpr,
    clang::CachedTokens*& ExceptionSpecTokens)

Declared at: clang/include/clang/Parse/Parser.h:1947

Parameters

bool Delayed
clang::SourceRange& SpecificationRange
SmallVectorImpl<clang::ParsedType>& DynamicExceptions
SmallVectorImpl<clang::SourceRange>& DynamicExceptionRanges
clang::ExprResult& NoexceptExpr
clang::CachedTokens*& ExceptionSpecTokens

bool tryParseMisplacedModuleImport()

Declared at: clang/include/clang/Parse/Parser.h:3449

bool tryParseOpenMPArrayShapingCastPart()

Description

Tries to parse cast part of OpenMP array shaping operation: '[' expression ']' { '[' expression ']' } ')'.

Declared at: clang/include/clang/Parse/Parser.h:3244

bool trySkippingFunctionBody()

Description

When in code-completion, skip parsing of the function/method body unless the body contains the code-completion point.

Declared at: clang/include/clang/Parse/Parser.h:2359

Returns

true if the function body was skipped.

~Parser()

Declared at: clang/include/clang/Parse/Parser.h:439