clang  3.7.0
Public Types | Public Attributes | List of all members
clang::DeclarationNameExtra Class Reference

#include <IdentifierTable.h>

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

Public Types

enum  ExtraKind {
  CXXConstructor = 0, CXXDestructor, CXXConversionFunction, CXXLiteralOperator,
  CXXUsingDirective, NUM_EXTRA_KINDS
}
 

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 765 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 
CXXLiteralOperator 
CXXUsingDirective 
NUM_EXTRA_KINDS 

Definition at line 770 of file IdentifierTable.h.

Member Data Documentation

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().


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