clang 23.0.0git
clang::LateParsedAttribute Struct Reference

Contains the lexed tokens of an attribute with arguments that may reference member variables and so need to be parsed at the end of the class declaration after parsing all other member member declarations. More...

#include "clang/Parse/Parser.h"

Inheritance diagram for clang::LateParsedAttribute:
[legend]

Public Types

enum class  Kind { Declaration , Type }

Public Member Functions

 LateParsedAttribute (Parser *P, IdentifierInfo &Name, SourceLocation Loc)
void ParseLexedAttributes () override
void addDecl (Decl *D)
Kind getKind () const
Public Member Functions inherited from clang::LateParsedDeclaration
virtual ~LateParsedDeclaration ()
virtual void ParseLexedMethodDeclarations ()
virtual void ParseLexedMemberInitializers ()
virtual void ParseLexedMethodDefs ()
virtual void ParseLexedPragmas ()

Static Public Member Functions

static bool classof (const LateParsedAttribute *LA)

Public Attributes

ParserSelf
CachedTokens Toks
IdentifierInfoAttrName
IdentifierInfoMacroII = nullptr
SourceLocation AttrNameLoc
SmallVector< Decl *, 2 > Decls

Protected Member Functions

 LateParsedAttribute (Parser *P, IdentifierInfo &Name, SourceLocation Loc, Kind K)

Detailed Description

Contains the lexed tokens of an attribute with arguments that may reference member variables and so need to be parsed at the end of the class declaration after parsing all other member member declarations.

FIXME: Perhaps we should change the name of LateParsedDeclaration to LateParsedTokens.

Definition at line 192 of file Parser.h.

Member Enumeration Documentation

◆ Kind

Enumerator
Declaration 
Type 

Definition at line 194 of file Parser.h.

Constructor & Destructor Documentation

◆ LateParsedAttribute() [1/2]

clang::LateParsedAttribute::LateParsedAttribute ( Parser * P,
IdentifierInfo & Name,
SourceLocation Loc,
Kind K )
inlineexplicitprotected

◆ LateParsedAttribute() [2/2]

clang::LateParsedAttribute::LateParsedAttribute ( Parser * P,
IdentifierInfo & Name,
SourceLocation Loc )
inlineexplicit

Definition at line 215 of file Parser.h.

References Declaration, and LateParsedAttribute().

Member Function Documentation

◆ addDecl()

void clang::LateParsedAttribute::addDecl ( Decl * D)
inline

Definition at line 221 of file Parser.h.

References Decls.

◆ classof()

bool clang::LateParsedAttribute::classof ( const LateParsedAttribute * LA)
inlinestatic

Definition at line 225 of file Parser.h.

References LateParsedAttribute().

◆ getKind()

Kind clang::LateParsedAttribute::getKind ( ) const
inline

Definition at line 223 of file Parser.h.

Referenced by clang::LateParsedTypeAttribute::classof().

◆ ParseLexedAttributes()

void LateParsedAttribute::ParseLexedAttributes ( )
overridevirtual

Reimplemented from clang::LateParsedDeclaration.

Reimplemented in clang::LateParsedTypeAttribute.

Definition at line 318 of file ParseCXXInlineMethods.cpp.

References Self.

Member Data Documentation

◆ AttrName

IdentifierInfo& clang::LateParsedAttribute::AttrName

Definition at line 201 of file Parser.h.

Referenced by LateParsedAttribute().

◆ AttrNameLoc

SourceLocation clang::LateParsedAttribute::AttrNameLoc

Definition at line 203 of file Parser.h.

Referenced by LateParsedAttribute().

◆ Decls

SmallVector<Decl *, 2> clang::LateParsedAttribute::Decls

Definition at line 204 of file Parser.h.

Referenced by addDecl().

◆ MacroII

IdentifierInfo* clang::LateParsedAttribute::MacroII = nullptr

Definition at line 202 of file Parser.h.

◆ Self

Parser* clang::LateParsedAttribute::Self

◆ Toks

CachedTokens clang::LateParsedAttribute::Toks

Definition at line 200 of file Parser.h.


The documentation for this struct was generated from the following files: