clang API Documentation

Public Types | Public Attributes
clang::DeclarationNameExtra Class Reference

#include <IdentifierTable.h>

Inheritance diagram for clang::DeclarationNameExtra:
Inheritance graph
[legend]
Collaboration diagram for clang::DeclarationNameExtra:
Collaboration graph
[legend]

List of all members.

Public Types

enum  ExtraKind { CXXConstructor = 0, CXXDestructor, CXXConversionFunction }

Public Attributes

unsigned ExtraKindOrNumArgs

Detailed Description

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 774 of file IdentifierTable.h.


Member Enumeration Documentation

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 

Definition at line 779 of file IdentifierTable.h.


Member Data Documentation

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 800 of file IdentifierTable.h.

Referenced by clang::DeclarationNameTable::DeclarationNameTable(), clang::DeclarationNameTable::getCXXLiteralOperatorName(), and clang::DeclarationNameTable::getCXXSpecialName().


The documentation for this class was generated from the following file: