clang  6.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
 
bool duplicatesAllowed () const
 By default, attributes cannot be duplicated when being merged; however, an attribute can override this. More...
 

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, bool DuplicatesAllowed)
 

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 DuplicatesAllowed: 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,
bool  DuplicatesAllowed 
)
inlineprotected

Definition at line 76 of file Attr.h.

Member Function Documentation

◆ clone()

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

◆ duplicatesAllowed()

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

By default, attributes cannot be duplicated when being merged; however, an attribute can override this.

Returns true if the attribute can be duplicated when merging.

Definition at line 116 of file Attr.h.

References DuplicatesAllowed.

Referenced by DeclContainsAttr().

◆ 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 92 of file Attr.h.

◆ getSpelling()

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

◆ getSpellingListIndex()

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

Definition at line 88 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 99 of file Attr.h.

References Implicit.

◆ isInherited()

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

Definition at line 95 of file Attr.h.

References Inherited.

Referenced by ReferenceDllExportedMethods().

◆ isLateParsed()

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

Definition at line 108 of file Attr.h.

References IsLateParsed, and printPretty().

◆ isPackExpansion()

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

Definition at line 103 of file Attr.h.

References clone(), and IsPackExpansion.

◆ operator delete() [1/2]

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

Definition at line 61 of file Attr.h.

◆ operator delete() [2/2]

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

Definition at line 71 of file Attr.h.

References clang::C.

◆ operator new() [1/2]

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

Definition at line 58 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 67 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 100 of file Attr.h.

◆ setPackExpansion()

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

Definition at line 102 of file Attr.h.

References IsPackExpansion.

◆ setRange()

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

Definition at line 93 of file Attr.h.

Member Data Documentation

◆ DuplicatesAllowed

unsigned clang::Attr::DuplicatesAllowed
protected

Definition at line 56 of file Attr.h.

Referenced by duplicatesAllowed().

◆ 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().

◆ IsLateParsed

unsigned clang::Attr::IsLateParsed
protected

Definition at line 55 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: