clang  6.0.0svn
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::SymbolPropertySet
 
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, clang::index::SymbolKind::Parameter, clang::index::SymbolKind::Using
}
 
enum  clang::index::SymbolLanguage { clang::index::SymbolLanguage::C, clang::index::SymbolLanguage::ObjC, clang::index::SymbolLanguage::CXX, clang::index::SymbolLanguage::Swift }
 
enum  clang::index::SymbolSubKind {
  clang::index::SymbolSubKind::None, clang::index::SymbolSubKind::CXXCopyConstructor, clang::index::SymbolSubKind::CXXMoveConstructor, clang::index::SymbolSubKind::AccessorGetter,
  clang::index::SymbolSubKind::AccessorSetter, clang::index::SymbolSubKind::UsingTypename, clang::index::SymbolSubKind::UsingValue
}
 Language specific sub-kinds. More...
 
enum  clang::index::SymbolProperty : uint8_t {
  clang::index::SymbolProperty::Generic = 1 << 0, clang::index::SymbolProperty::TemplatePartialSpecialization = 1 << 1, clang::index::SymbolProperty::TemplateSpecialization = 1 << 2, clang::index::SymbolProperty::UnitTest = 1 << 3,
  clang::index::SymbolProperty::IBAnnotated = 1 << 4, clang::index::SymbolProperty::IBOutletCollection = 1 << 5, clang::index::SymbolProperty::GKInspectable = 1 << 6, clang::index::SymbolProperty::Local = 1 << 7
}
 Set of properties that provide additional info about a symbol. More...
 
enum  clang::index::SymbolRole : uint32_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, clang::index::SymbolRole::RelationExtendedBy = 1 << 14, clang::index::SymbolRole::RelationAccessorOf = 1 << 15,
  clang::index::SymbolRole::RelationContainedBy = 1 << 16, clang::index::SymbolRole::RelationIBTypeOf = 1 << 17, clang::index::SymbolRole::RelationSpecializationOf = 1 << 18
}
 Set of roles that are attributed to symbol occurrences. More...
 

Functions

SymbolInfo clang::index::getSymbolInfo (const Decl *D)
 
bool clang::index::isFunctionLocalSymbol (const Decl *D)
 
void clang::index::applyForEachSymbolRole (SymbolRoleSet Roles, llvm::function_ref< void(SymbolRole)> Fn)
 
bool clang::index::applyForEachSymbolRoleInterruptible (SymbolRoleSet Roles, llvm::function_ref< bool(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::getSymbolSubKindString (SymbolSubKind K)
 
StringRef clang::index::getSymbolLanguageString (SymbolLanguage K)
 
void clang::index::applyForEachSymbolProperty (SymbolPropertySet Props, llvm::function_ref< void(SymbolProperty)> Fn)
 
void clang::index::printSymbolProperties (SymbolPropertySet Props, raw_ostream &OS)
 

Variables

static const unsigned clang::index::SymbolPropertyBitNum = 8
 
static const unsigned clang::index::SymbolRoleBitNum = 19