clang
7.0.0
|
DeclarationNameExtra - Common base of the MultiKeywordSelector, CXXSpecialName, and CXXOperatorIdName classes, all of which are private classes that describe different kinds of names. More...
#include "clang/Basic/IdentifierTable.h"
Public Types | |
enum | ExtraKind { CXXConstructor = 0, CXXDestructor, CXXConversionFunction, CXXDeductionGuide, CXXLiteralOperator, CXXUsingDirective, NUM_EXTRA_KINDS } |
ExtraKind - The kind of "extra" information stored in the DeclarationName. More... | |
Public Attributes | |
unsigned | 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. More... | |
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 838 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 | |
CXXDeductionGuide | |
CXXLiteralOperator | |
CXXUsingDirective | |
NUM_EXTRA_KINDS |
Definition at line 843 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 865 of file IdentifierTable.h.
Referenced by clang::DeclarationNameTable::DeclarationNameTable(), clang::DeclarationName::getNameKind(), and clang::CXXSpecialName::Profile().