clang  6.0.0svn
Classes | Namespaces | Macros | Typedefs | Enumerations
IdentifierTable.h File Reference

Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces. More...

#include "clang/Basic/LLVM.h"
#include "clang/Basic/TokenKinds.h"
#include "llvm/ADT/DenseMapInfo.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/Allocator.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include "llvm/Support/type_traits.h"
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <string>
#include <utility>
#include "clang/Basic/OperatorKinds.def"
Include dependency graph for IdentifierTable.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  clang::IdentifierInfo
 One of these records is kept for each identifier that is lexed. More...
 
class  clang::PoisonIdentifierRAIIObject
 An RAII object for [un]poisoning an identifier within a scope. More...
 
class  clang::IdentifierIterator
 An iterator that walks over all of the known identifiers in the lookup table. More...
 
class  clang::IdentifierInfoLookup
 Provides lookups to, and iteration over, IdentiferInfo objects. More...
 
class  clang::IdentifierTable
 Implements an efficient mapping from strings to IdentifierInfo nodes. More...
 
class  clang::Selector
 Smart pointer class that efficiently represents Objective-C method names. More...
 
class  clang::SelectorTable
 This table allows us to fully hide how we implement multi-keyword caching. More...
 
class  clang::DeclarationNameExtra
 DeclarationNameExtra - Common base of the MultiKeywordSelector, CXXSpecialName, and CXXOperatorIdName classes, all of which are private classes that describe different kinds of names. More...
 
struct  llvm::DenseMapInfo< clang::Selector >
 Define DenseMapInfo so that Selectors can be used as keys in DenseMap and DenseSets. More...
 
struct  llvm::isPodLike< clang::Selector >
 
struct  llvm::PointerLikeTypeTraits< clang::Selector >
 
struct  llvm::PointerLikeTypeTraits< clang::IdentifierInfo * >
 
struct  llvm::PointerLikeTypeTraits< const clang::IdentifierInfo * >
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 llvm
 DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.
 

Macros

#define OVERLOADED_OPERATOR(Name, Spelling, Token, Unary, Binary, MemberOnly)   CXXOperator##Name,
 

Typedefs

using clang::IdentifierLocPair = std::pair< IdentifierInfo *, SourceLocation >
 A simple pair of identifier info and location. More...
 

Enumerations

enum  clang::ObjCMethodFamily {
  clang::OMF_None, clang::OMF_alloc, clang::OMF_copy, clang::OMF_init,
  clang::OMF_mutableCopy, clang::OMF_new, clang::OMF_autorelease, clang::OMF_dealloc,
  clang::OMF_finalize, clang::OMF_release, clang::OMF_retain, clang::OMF_retainCount,
  clang::OMF_self, clang::OMF_initialize, clang::OMF_performSelector
}
 A family of Objective-C methods. More...
 
enum  { clang::ObjCMethodFamilyBitWidth = 4 }
 Enough bits to store any enumerator in ObjCMethodFamily or InvalidObjCMethodFamily. More...
 
enum  { clang::InvalidObjCMethodFamily = (1 << ObjCMethodFamilyBitWidth) - 1 }
 An invalid value of ObjCMethodFamily. More...
 
enum  clang::ObjCInstanceTypeFamily {
  clang::OIT_None, clang::OIT_Array, clang::OIT_Dictionary, clang::OIT_Singleton,
  clang::OIT_Init, clang::OIT_ReturnsSelf
}
 A family of Objective-C methods. More...
 
enum  clang::ObjCStringFormatFamily { clang::SFF_None, clang::SFF_NSString, clang::SFF_CFString }
 

Detailed Description

Defines the clang::IdentifierInfo, clang::IdentifierTable, and clang::Selector interfaces.

Definition in file IdentifierTable.h.

Macro Definition Documentation

◆ OVERLOADED_OPERATOR

#define OVERLOADED_OPERATOR (   Name,
  Spelling,
  Token,
  Unary,
  Binary,
  MemberOnly 
)    CXXOperator##Name,

Definition at line 831 of file IdentifierTable.h.