clang 8.0.0

Classes | Namespaces | 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 dependency graph for IdentifierTable.h:

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::detail::DeclarationNameExtra
| DeclarationNameExtra is used as a base of various uncommon special 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.
| clang::detail
| llvm
| DominatorTree GraphTraits specialization so the DominatorTree can be iterable by generic graph iterators.

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

## Enumerations
enum | { clang::IdentifierInfoAlignment = 8 }
| IdentifierInfo and other related classes are aligned to 8 bytes so that DeclarationName can use the lower 3 bits of a pointer to one of these classes. More...
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.