clang  3.9.0
Classes | Typedefs | Enumerations | Functions | Variables
clang::index Namespace Reference

Classes

class  CodegenNameGenerator
 
class  CommentToXMLConverter
 
class  IndexDataConsumer
 
struct  IndexingOptions
 
struct  SymbolRelation
 Represents a relation to another symbol for a symbol occurrence. More...
 
struct  SymbolInfo
 
class  IndexingContext
 
class  SimpleFormatContext
 A small class to be used by libclang clients to format a declaration string in memory. More...
 

Typedefs

typedef unsigned SymbolSubKindSet
 
typedef unsigned SymbolRoleSet
 

Enumerations

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

Functions

std::unique_ptr< FrontendActioncreateIndexingAction (std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts, std::unique_ptr< FrontendAction > WrappedAction)
 
void indexASTUnit (ASTUnit &Unit, std::shared_ptr< IndexDataConsumer > DataConsumer, IndexingOptions Opts)
 
SymbolInfo getSymbolInfo (const Decl *D)
 
void applyForEachSymbolRole (SymbolRoleSet Roles, llvm::function_ref< void(SymbolRole)> Fn)
 
void printSymbolRoles (SymbolRoleSet Roles, raw_ostream &OS)
 
bool printSymbolName (const Decl *D, const LangOptions &LO, raw_ostream &OS)
 
StringRef getSymbolKindString (SymbolKind K)
 
StringRef getSymbolLanguageString (SymbolLanguage K)
 
void applyForEachSymbolSubKind (SymbolSubKindSet SubKinds, llvm::function_ref< void(SymbolSubKind)> Fn)
 
void printSymbolSubKinds (SymbolSubKindSet SubKinds, raw_ostream &OS)
 
static StringRef getUSRSpacePrefix ()
 
bool generateUSRForDecl (const Decl *D, SmallVectorImpl< char > &Buf)
 Generate a USR for a Decl, including the USR prefix. More...
 
void generateUSRForObjCClass (StringRef Cls, raw_ostream &OS)
 Generate a USR fragment for an Objective-C class. More...
 
void generateUSRForObjCCategory (StringRef Cls, StringRef Cat, raw_ostream &OS)
 Generate a USR fragment for an Objective-C class category. More...
 
void generateUSRForObjCIvar (StringRef Ivar, raw_ostream &OS)
 Generate a USR fragment for an Objective-C instance variable. More...
 
void generateUSRForObjCMethod (StringRef Sel, bool IsInstanceMethod, raw_ostream &OS)
 Generate a USR fragment for an Objective-C method. More...
 
void generateUSRForObjCProperty (StringRef Prop, bool isClassProp, raw_ostream &OS)
 Generate a USR fragment for an Objective-C property. More...
 
void generateUSRForObjCProtocol (StringRef Prot, raw_ostream &OS)
 Generate a USR fragment for an Objective-C protocol. More...
 
bool generateUSRForMacro (const MacroDefinitionRecord *MD, const SourceManager &SM, SmallVectorImpl< char > &Buf)
 Generate a USR for a macro, including the USR prefix. More...
 

Variables

static const unsigned SymbolSubKindBitNum = 6
 
static const unsigned SymbolRoleBitNum = 14
 

Typedef Documentation

Definition at line 93 of file IndexSymbol.h.

Definition at line 71 of file IndexSymbol.h.

Enumeration Type Documentation

enum clang::index::SymbolKind : uint8_t
strong
Enumerator
Unknown 
Module 
Namespace 
NamespaceAlias 
Macro 
Enum 
Struct 
Class 
Protocol 
Extension 
Union 
TypeAlias 
Function 
Variable 
Field 
EnumConstant 
InstanceMethod 
ClassMethod 
StaticMethod 
InstanceProperty 
ClassProperty 
StaticProperty 
Constructor 
Destructor 
ConversionFunction 

Definition at line 23 of file IndexSymbol.h.

Enumerator
C 
ObjC 
CXX 

Definition at line 56 of file IndexSymbol.h.

enum clang::index::SymbolRole : uint16_t
strong

Set of roles that are attributed to symbol occurrences.

Enumerator
Declaration 
Definition 
Reference 
Read 
Write 
Call 
Dynamic 
AddressOf 
Implicit 
RelationChildOf 
RelationBaseOf 
RelationOverrideOf 
RelationReceivedBy 
RelationCalledBy 

Definition at line 74 of file IndexSymbol.h.

enum clang::index::SymbolSubKind : uint8_t
strong
Enumerator
Generic 
TemplatePartialSpecialization 
TemplateSpecialization 
UnitTest 
IBAnnotated 
IBOutletCollection 

Definition at line 62 of file IndexSymbol.h.

Function Documentation

void clang::index::applyForEachSymbolRole ( SymbolRoleSet  Roles,
llvm::function_ref< void(SymbolRole)>  Fn 
)
void clang::index::applyForEachSymbolSubKind ( SymbolSubKindSet  SubKinds,
llvm::function_ref< void(SymbolSubKind)>  Fn 
)
std::unique_ptr< FrontendAction > clang::index::createIndexingAction ( std::shared_ptr< IndexDataConsumer DataConsumer,
IndexingOptions  Opts,
std::unique_ptr< FrontendAction WrappedAction 
)
Parameters
WrappedActionanother frontend action to wrap over or null.

Definition at line 149 of file IndexingAction.cpp.

bool clang::index::generateUSRForDecl ( const Decl D,
SmallVectorImpl< char > &  Buf 
)

Generate a USR for a Decl, including the USR prefix.

Returns
true if the results should be ignored, false otherwise.

Definition at line 876 of file USRGeneration.cpp.

bool clang::index::generateUSRForMacro ( const MacroDefinitionRecord MD,
const SourceManager SM,
SmallVectorImpl< char > &  Buf 
)
void clang::index::generateUSRForObjCCategory ( StringRef  Cls,
StringRef  Cat,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C class category.

Definition at line 852 of file USRGeneration.cpp.

void clang::index::generateUSRForObjCClass ( StringRef  Cls,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C class.

Definition at line 848 of file USRGeneration.cpp.

void clang::index::generateUSRForObjCIvar ( StringRef  Ivar,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C instance variable.

The complete USR can be created by concatenating the USR for the encompassing class with this USR fragment.

Definition at line 857 of file USRGeneration.cpp.

void clang::index::generateUSRForObjCMethod ( StringRef  Sel,
bool  IsInstanceMethod,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C method.

Definition at line 861 of file USRGeneration.cpp.

void clang::index::generateUSRForObjCProperty ( StringRef  Prop,
bool  isClassProp,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C property.

Definition at line 867 of file USRGeneration.cpp.

void clang::index::generateUSRForObjCProtocol ( StringRef  Prot,
raw_ostream &  OS 
)

Generate a USR fragment for an Objective-C protocol.

Definition at line 872 of file USRGeneration.cpp.

SymbolInfo clang::index::getSymbolInfo ( const Decl D)
StringRef clang::index::getSymbolKindString ( SymbolKind  K)

Definition at line 313 of file IndexSymbol.cpp.

References clang::TypeAlias, and clang::prec::Unknown.

StringRef clang::index::getSymbolLanguageString ( SymbolLanguage  K)

Definition at line 344 of file IndexSymbol.cpp.

References AttributeLangSupport::C, clang::CXX, and AttributeLangSupport::ObjC.

static StringRef clang::index::getUSRSpacePrefix ( )
inlinestatic

Definition at line 23 of file USRGeneration.h.

Referenced by generateUSRForMacro().

void clang::index::indexASTUnit ( ASTUnit Unit,
std::shared_ptr< IndexDataConsumer DataConsumer,
IndexingOptions  Opts 
)
bool clang::index::printSymbolName ( const Decl D,
const LangOptions LO,
raw_ostream &  OS 
)
Returns
true if no name was printed, false otherwise.

Definition at line 295 of file IndexSymbol.cpp.

References clang::DeclarationName::isEmpty(), clang::DeclarationName::print(), and clang::PrintingPolicy::SuppressTemplateArgsInCXXConstructors.

void clang::index::printSymbolRoles ( SymbolRoleSet  Roles,
raw_ostream &  OS 
)

Definition at line 269 of file IndexSymbol.cpp.

References applyForEachSymbolRole().

void clang::index::printSymbolSubKinds ( SymbolSubKindSet  SubKinds,
raw_ostream &  OS 
)

Definition at line 369 of file IndexSymbol.cpp.

References applyForEachSymbolSubKind().

Variable Documentation

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

Definition at line 92 of file IndexSymbol.h.

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

Definition at line 70 of file IndexSymbol.h.