clang
3.7.0
|
Kind identifier. More...
#include <ASTTypeTraits.h>
Classes | |
struct | DenseMapInfo |
Hooks for using ASTNodeKind as a key in a DenseMap. More... | |
Public Member Functions | |
ASTNodeKind () | |
Empty identifier. It matches nothing. More... | |
bool | isSame (ASTNodeKind Other) const |
Returns true if this and Other represent the same kind. More... | |
bool | isNone () const |
Returns true only for the default ASTNodeKind() More... | |
bool | isBaseOf (ASTNodeKind Other, unsigned *Distance=nullptr) const |
Returns true if this is a base kind of (or same as) Other . More... | |
StringRef | asStringRef () const |
String representation of the kind. More... | |
bool | operator< (const ASTNodeKind &Other) const |
Strict weak ordering for ASTNodeKind. More... | |
Static Public Member Functions | |
template<class T > | |
static ASTNodeKind | getFromNodeKind () |
Construct an identifier for T. More... | |
static ASTNodeKind | getMostDerivedType (ASTNodeKind Kind1, ASTNodeKind Kind2) |
Return the most derived type between Kind1 and Kind2 . More... | |
static ASTNodeKind | getMostDerivedCommonAncestor (ASTNodeKind Kind1, ASTNodeKind Kind2) |
Return the most derived common ancestor between Kind1 and Kind2. More... | |
static ASTNodeKind | getFromNode (const Decl &D) |
Construct an identifier for the dynamic type of the node. More... | |
static ASTNodeKind | getFromNode (const Stmt &S) |
static ASTNodeKind | getFromNode (const Type &T) |
Kind identifier.
It can be constructed from any node kind and allows for runtime type hierarchy checks. Use getFromNodeKind<T>() to construct them.
Definition at line 46 of file ASTTypeTraits.h.
|
inline |
Empty identifier. It matches nothing.
Definition at line 49 of file ASTTypeTraits.h.
Referenced by clang::ast_type_traits::ASTNodeKind::DenseMapInfo::getEmptyKey(), getFromNodeKind(), getMostDerivedCommonAncestor(), getMostDerivedType(), and clang::ast_type_traits::ASTNodeKind::DenseMapInfo::getTombstoneKey().
StringRef clang::ast_type_traits::ASTNodeKind::asStringRef | ( | ) | const |
String representation of the kind.
Definition at line 63 of file ASTTypeTraits.cpp.
Referenced by clang::ast_matchers::dynamic::ArgKind::asString(), clang::ast_type_traits::DynTypedNode::dump(), clang::ast_type_traits::operator<<(), and clang::ast_type_traits::DynTypedNode::print().
|
static |
Construct an identifier for the dynamic type of the node.
Definition at line 81 of file ASTTypeTraits.cpp.
References clang::Decl::getKind().
|
static |
Definition at line 91 of file ASTTypeTraits.cpp.
|
static |
Definition at line 102 of file ASTTypeTraits.cpp.
References clang::Type::getTypeClass().
|
inlinestatic |
Construct an identifier for T.
Definition at line 53 of file ASTTypeTraits.h.
References ASTNodeKind().
|
static |
Return the most derived common ancestor between Kind1 and Kind2.
Return ASTNodeKind() if they are not related.
Definition at line 72 of file ASTTypeTraits.cpp.
References ASTNodeKind(), and isBaseOf().
|
static |
Return the most derived type between Kind1
and Kind2
.
Return ASTNodeKind() if they are not related.
Definition at line 65 of file ASTTypeTraits.cpp.
References ASTNodeKind(), and isBaseOf().
bool clang::ast_type_traits::ASTNodeKind::isBaseOf | ( | ASTNodeKind | Other, |
unsigned * | Distance = nullptr |
||
) | const |
Returns true
if this
is a base kind of (or same as) Other
.
Distance | If non-null, used to return the distance between this and Other in the class hierarchy. |
Definition at line 42 of file ASTTypeTraits.cpp.
Referenced by getMostDerivedCommonAncestor(), getMostDerivedType(), clang::ast_matchers::dynamic::ArgKind::isConvertibleTo(), and clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::isConvertibleTo().
|
inline |
Returns true
only for the default ASTNodeKind()
Definition at line 68 of file ASTTypeTraits.h.
bool clang::ast_type_traits::ASTNodeKind::isSame | ( | ASTNodeKind | Other | ) | const |
Returns true
if this
and Other
represent the same kind.
Definition at line 46 of file ASTTypeTraits.cpp.
Referenced by clang::ast_matchers::dynamic::internal::DynCastAllOfMatcherDescriptor::isConvertibleTo(), and clang::ast_type_traits::DynTypedNode::operator==().
|
inline |
Strict weak ordering for ASTNodeKind.
Definition at line 79 of file ASTTypeTraits.h.