clang  3.9.0
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
IndexSymbol.h File Reference
#include "clang/Basic/LLVM.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/DataTypes.h"
Include dependency graph for IndexSymbol.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  clang::index::SymbolRelation
 Represents a relation to another symbol for a symbol occurrence. More...
 
struct  clang::index::SymbolInfo
 

Namespaces

 clang
 Dataflow Directional Tag Classes.
 
 clang::index
 

Typedefs

typedef unsigned clang::index::SymbolSubKindSet
 
typedef unsigned clang::index::SymbolRoleSet
 

Enumerations

enum  clang::index::SymbolKind : uint8_t {
  clang::index::SymbolKind::Unknown, clang::index::SymbolKind::Module, clang::index::SymbolKind::Namespace, clang::index::SymbolKind::NamespaceAlias,
  clang::index::SymbolKind::Macro, clang::index::SymbolKind::Enum, clang::index::SymbolKind::Struct, clang::index::SymbolKind::Class,
  clang::index::SymbolKind::Protocol, clang::index::SymbolKind::Extension, clang::index::SymbolKind::Union, clang::index::SymbolKind::TypeAlias,
  clang::index::SymbolKind::Function, clang::index::SymbolKind::Variable, clang::index::SymbolKind::Field, clang::index::SymbolKind::EnumConstant,
  clang::index::SymbolKind::InstanceMethod, clang::index::SymbolKind::ClassMethod, clang::index::SymbolKind::StaticMethod, clang::index::SymbolKind::InstanceProperty,
  clang::index::SymbolKind::ClassProperty, clang::index::SymbolKind::StaticProperty, clang::index::SymbolKind::Constructor, clang::index::SymbolKind::Destructor,
  clang::index::SymbolKind::ConversionFunction
}
 
enum  clang::index::SymbolLanguage { clang::index::SymbolLanguage::C, clang::index::SymbolLanguage::ObjC, clang::index::SymbolLanguage::CXX }
 
enum  clang::index::SymbolSubKind : uint8_t {
  clang::index::SymbolSubKind::Generic = 1 << 0, clang::index::SymbolSubKind::TemplatePartialSpecialization = 1 << 1, clang::index::SymbolSubKind::TemplateSpecialization = 1 << 2, clang::index::SymbolSubKind::UnitTest = 1 << 3,
  clang::index::SymbolSubKind::IBAnnotated = 1 << 4, clang::index::SymbolSubKind::IBOutletCollection = 1 << 5
}
 
enum  clang::index::SymbolRole : uint16_t {
  clang::index::SymbolRole::Declaration = 1 << 0, clang::index::SymbolRole::Definition = 1 << 1, clang::index::SymbolRole::Reference = 1 << 2, clang::index::SymbolRole::Read = 1 << 3,
  clang::index::SymbolRole::Write = 1 << 4, clang::index::SymbolRole::Call = 1 << 5, clang::index::SymbolRole::Dynamic = 1 << 6, clang::index::SymbolRole::AddressOf = 1 << 7,
  clang::index::SymbolRole::Implicit = 1 << 8, clang::index::SymbolRole::RelationChildOf = 1 << 9, clang::index::SymbolRole::RelationBaseOf = 1 << 10, clang::index::SymbolRole::RelationOverrideOf = 1 << 11,
  clang::index::SymbolRole::RelationReceivedBy = 1 << 12, clang::index::SymbolRole::RelationCalledBy = 1 << 13
}
 Set of roles that are attributed to symbol occurrences. More...
 

Functions

SymbolInfo clang::index::getSymbolInfo (const Decl *D)
 
void clang::index::applyForEachSymbolRole (SymbolRoleSet Roles, llvm::function_ref< void(SymbolRole)> Fn)
 
void clang::index::printSymbolRoles (SymbolRoleSet Roles, raw_ostream &OS)
 
bool clang::index::printSymbolName (const Decl *D, const LangOptions &LO, raw_ostream &OS)
 
StringRef clang::index::getSymbolKindString (SymbolKind K)
 
StringRef clang::index::getSymbolLanguageString (SymbolLanguage K)
 
void clang::index::applyForEachSymbolSubKind (SymbolSubKindSet SubKinds, llvm::function_ref< void(SymbolSubKind)> Fn)
 
void clang::index::printSymbolSubKinds (SymbolSubKindSet SubKinds, raw_ostream &OS)
 

Variables

static const unsigned clang::index::SymbolSubKindBitNum = 6
 
static const unsigned clang::index::SymbolRoleBitNum = 14