clang  8.0.0svn
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
clang::Attr Class Reference

Attr - This represents one attribute. More...

#include "clang/AST/Attr.h"

Inheritance diagram for clang::Attr:
Inheritance graph
[legend]
Collaboration diagram for clang::Attr:
Collaboration graph
[legend]

Public Member Functions

void * operator new (size_t Bytes, ASTContext &C, size_t Alignment=8) noexcept
 
void operator delete (void *Ptr, ASTContext &C, size_t Alignment) noexcept
 
attr::Kind getKind () const
 
unsigned getSpellingListIndex () const
 
const char * getSpelling () const
 
SourceLocation getLocation () const
 
SourceRange getRange () const
 
void setRange (SourceRange R)
 
bool isInherited () const
 
bool isImplicit () const
 Returns true if the attribute has been implicitly created instead of explicitly written by the user. More...
 
void setImplicit (bool I)
 
void setPackExpansion (bool PE)
 
bool isPackExpansion () const
 
Attrclone (ASTContext &C) const
 
bool isLateParsed () const
 
void printPretty (raw_ostream &OS, const PrintingPolicy &Policy) const
 

Protected Member Functions

void * operator new (size_t bytes) noexcept
 
void operator delete (void *data) noexcept
 
 Attr (attr::Kind AK, SourceRange R, unsigned SpellingListIndex, bool IsLateParsed)
 

Protected Attributes

unsigned SpellingListIndex: 4
 An index into the spelling list of an attribute defined in Attr.td file. More...
 
unsigned Inherited: 1
 
unsigned IsPackExpansion: 1
 
unsigned Implicit: 1
 
unsigned IsLateParsed: 1
 
unsigned InheritEvenIfAlreadyPresent: 1
 

Detailed Description

Attr - This represents one attribute.

Definition at line 43 of file Attr.h.

Constructor & Destructor Documentation

◆ Attr()

clang::Attr::Attr ( attr::Kind  AK,
SourceRange  R,
unsigned  SpellingListIndex,
bool  IsLateParsed 
)
inlineprotected

Definition at line 78 of file Attr.h.

Member Function Documentation

◆ clone()

Attr* clang::Attr::clone ( ASTContext C) const

◆ getKind()

attr::Kind clang::Attr::getKind ( ) const
inline

◆ getLocation()

SourceLocation clang::Attr::getLocation ( ) const
inline

◆ getRange()

SourceRange clang::Attr::getRange ( ) const
inline

Definition at line 94 of file Attr.h.

Referenced by clang::ASTRecordWriter::AddAttr(), and clang::ASTImporter::Import().

◆ getSpelling()

const char* clang::Attr::getSpelling ( ) const

◆ getSpellingListIndex()

unsigned clang::Attr::getSpellingListIndex ( ) const
inline

Definition at line 90 of file Attr.h.

References getSpelling(), and SpellingListIndex.

◆ isImplicit()

bool clang::Attr::isImplicit ( ) const
inline

Returns true if the attribute has been implicitly created instead of explicitly written by the user.

Definition at line 101 of file Attr.h.

References Implicit.

◆ isInherited()

bool clang::Attr::isInherited ( ) const
inline

Definition at line 97 of file Attr.h.

References Inherited.

Referenced by ReferenceDllExportedMembers().

◆ isLateParsed()

bool clang::Attr::isLateParsed ( ) const
inline

Definition at line 110 of file Attr.h.

References IsLateParsed, and printPretty().

◆ isPackExpansion()

bool clang::Attr::isPackExpansion ( ) const
inline

Definition at line 105 of file Attr.h.

References clone(), and IsPackExpansion.

◆ operator delete() [1/2]

void clang::Attr::operator delete ( void *  data)
inlineprotectednoexcept

Definition at line 63 of file Attr.h.

◆ operator delete() [2/2]

void clang::Attr::operator delete ( void *  Ptr,
ASTContext C,
size_t  Alignment 
)
inlinenoexcept

Definition at line 73 of file Attr.h.

References clang::C.

◆ operator new() [1/2]

void* clang::Attr::operator new ( size_t  bytes)
inlineprotectednoexcept

Definition at line 60 of file Attr.h.

◆ operator new() [2/2]

void* clang::Attr::operator new ( size_t  Bytes,
ASTContext C,
size_t  Alignment = 8 
)
inlinenoexcept

Definition at line 69 of file Attr.h.

References clang::C.

◆ printPretty()

void clang::Attr::printPretty ( raw_ostream &  OS,
const PrintingPolicy Policy 
) const

Referenced by isLateParsed().

◆ setImplicit()

void clang::Attr::setImplicit ( bool  I)
inline

Definition at line 102 of file Attr.h.

◆ setPackExpansion()

void clang::Attr::setPackExpansion ( bool  PE)
inline

Definition at line 104 of file Attr.h.

References IsPackExpansion.

◆ setRange()

void clang::Attr::setRange ( SourceRange  R)
inline

Definition at line 95 of file Attr.h.

Referenced by clang::ASTImporter::Import().

Member Data Documentation

◆ Implicit

unsigned clang::Attr::Implicit
protected

Definition at line 54 of file Attr.h.

Referenced by isImplicit().

◆ Inherited

unsigned clang::Attr::Inherited
protected

Definition at line 52 of file Attr.h.

Referenced by isInherited().

◆ InheritEvenIfAlreadyPresent

unsigned clang::Attr::InheritEvenIfAlreadyPresent
protected

◆ IsLateParsed

unsigned clang::Attr::IsLateParsed
protected

Definition at line 57 of file Attr.h.

Referenced by isLateParsed().

◆ IsPackExpansion

unsigned clang::Attr::IsPackExpansion
protected

Definition at line 53 of file Attr.h.

Referenced by isPackExpansion(), and setPackExpansion().

◆ SpellingListIndex

unsigned clang::Attr::SpellingListIndex
protected

An index into the spelling list of an attribute defined in Attr.td file.

Definition at line 51 of file Attr.h.

Referenced by getSpellingListIndex().


The documentation for this class was generated from the following file: