clang
3.7.0
|
#include <IdentifierTable.h>
Public Types | |
enum | ExtraKind { CXXConstructor = 0, CXXDestructor, CXXConversionFunction, CXXLiteralOperator, CXXUsingDirective, NUM_EXTRA_KINDS } |
Public Attributes | |
unsigned | ExtraKindOrNumArgs |
DeclarationNameExtra - Common base of the MultiKeywordSelector, CXXSpecialName, and CXXOperatorIdName classes, all of which are private classes that describe different kinds of names.
Definition at line 765 of file IdentifierTable.h.
ExtraKind - The kind of "extra" information stored in the DeclarationName. See ExtraKindOrNumArgs
for an explanation of how these enumerator values are used.
Enumerator | |
---|---|
CXXConstructor | |
CXXDestructor | |
CXXConversionFunction | |
CXXLiteralOperator | |
CXXUsingDirective | |
NUM_EXTRA_KINDS |
Definition at line 770 of file IdentifierTable.h.
unsigned clang::DeclarationNameExtra::ExtraKindOrNumArgs |
ExtraKindOrNumArgs - Either the kind of C++ special name or operator-id (if the value is one of the CXX* enumerators of ExtraKind), in which case the DeclarationNameExtra is also a CXXSpecialName, (for CXXConstructor, CXXDestructor, or CXXConversionFunction) CXXOperatorIdName, or CXXLiteralOperatorName, it may be also name common to C++ using-directives (CXXUsingDirective), otherwise it is NUM_EXTRA_KINDS+NumArgs, where NumArgs is the number of arguments in the Objective-C selector, in which case the DeclarationNameExtra is also a MultiKeywordSelector.
Definition at line 791 of file IdentifierTable.h.
Referenced by clang::DeclarationNameTable::DeclarationNameTable(), clang::DeclarationNameTable::getCXXLiteralOperatorName(), clang::DeclarationNameTable::getCXXSpecialName(), clang::MultiKeywordSelector::getNumArgs(), clang::MultiKeywordSelector::MultiKeywordSelector(), and clang::CXXSpecialName::Profile().