clang
3.9.0
|
FriendDecl - Represents the declaration of a friend entity, which can be a function, a type, or a templated function or type. More...
#include <DeclFriend.h>
Public Types | |
typedef llvm::PointerUnion < NamedDecl *, TypeSourceInfo * > | FriendUnion |
Public Member Functions | |
TypeSourceInfo * | getFriendType () const |
If this friend declaration names an (untemplated but possibly dependent) type, return the type; otherwise return null. More... | |
unsigned | getFriendTypeNumTemplateParameterLists () const |
TemplateParameterList * | getFriendTypeTemplateParameterList (unsigned N) const |
NamedDecl * | getFriendDecl () const |
If this friend declaration doesn't name a type, return the inner declaration. More... | |
SourceLocation | getFriendLoc () const |
Retrieves the location of the 'friend' keyword. More... | |
SourceRange | getSourceRange () const override LLVM_READONLY |
Retrieves the source range for the friend declaration. More... | |
bool | isUnsupportedFriend () const |
Determines if this friend kind is unsupported. More... | |
void | setUnsupportedFriend (bool Unsupported) |
Static Public Member Functions | |
static FriendDecl * | Create (ASTContext &C, DeclContext *DC, SourceLocation L, FriendUnion Friend_, SourceLocation FriendL, ArrayRef< TemplateParameterList * > FriendTypeTPLists=None) |
static FriendDecl * | CreateDeserialized (ASTContext &C, unsigned ID, unsigned FriendTypeNumTPLists) |
static bool | classof (const Decl *D) |
static bool | classofKind (Kind K) |
Public Attributes | |
friend | TrailingObjects |
Friends | |
class | CXXRecordDecl::friend_iterator |
class | CXXRecordDecl |
class | ASTDeclReader |
class | ASTDeclWriter |
FriendDecl - Represents the declaration of a friend entity, which can be a function, a type, or a templated function or type.
The semantic context of a friend decl is its declaring class.
Definition at line 40 of file DeclFriend.h.
typedef llvm::PointerUnion<NamedDecl*,TypeSourceInfo*> clang::FriendDecl::FriendUnion |
Definition at line 45 of file DeclFriend.h.
Definition at line 164 of file DeclFriend.h.
References classofKind().
Definition at line 165 of file DeclFriend.h.
Referenced by classof().
|
static |
Definition at line 27 of file DeclFriend.cpp.
References AttributeLangSupport::C, and getTemplateSpecializationKind().
Referenced by clang::Sema::ActOnClassTemplateSpecialization(), clang::Sema::ActOnFriendFunctionDecl(), clang::Sema::ActOnTemplatedFriendTag(), clang::Sema::CheckClassTemplate(), and clang::Sema::CheckFriendTypeDecl().
|
static |
Definition at line 58 of file DeclFriend.cpp.
References AttributeLangSupport::C, and ID.
|
inline |
If this friend declaration doesn't name a type, return the inner declaration.
Definition at line 120 of file DeclFriend.h.
Referenced by getSourceRange(), MatchesFriend(), and clang::ASTDeclWriter::VisitFriendDecl().
|
inline |
Retrieves the location of the 'friend' keyword.
Definition at line 125 of file DeclFriend.h.
Referenced by getSourceRange().
|
inline |
If this friend declaration names an (untemplated but possibly dependent) type, return the type; otherwise return null.
This is used for elaborated-type-specifiers and, in C++0x, for arbitrary friend type declarations.
Definition at line 107 of file DeclFriend.h.
Referenced by getSourceRange(), MatchesFriend(), and clang::ASTDeclWriter::VisitFriendDecl().
|
inline |
Definition at line 110 of file DeclFriend.h.
|
inline |
Definition at line 113 of file DeclFriend.h.
Referenced by clang::ASTDeclWriter::VisitFriendDecl().
|
inlineoverride |
Retrieves the source range for the friend declaration.
Definition at line 130 of file DeclFriend.h.
References getFriendDecl(), getFriendLoc(), and getFriendType().
|
inline |
Determines if this friend kind is unsupported.
Definition at line 156 of file DeclFriend.h.
Referenced by MatchesFriend().
|
inline |
Definition at line 159 of file DeclFriend.h.
References clang::driver::options::Unsupported.
Referenced by clang::Sema::ActOnFriendFunctionDecl(), and clang::Sema::ActOnTemplatedFriendTag().
|
friend |
Definition at line 167 of file DeclFriend.h.
|
friend |
Definition at line 168 of file DeclFriend.h.
|
friend |
Definition at line 68 of file DeclFriend.h.
|
friend |
Definition at line 67 of file DeclFriend.h.
friend clang::FriendDecl::TrailingObjects |
Definition at line 169 of file DeclFriend.h.