clang 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
IndexSymbol.h File Reference
#include "clang/Basic/LLVM.h"
#include "clang/Lex/MacroInfo.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/Support/DataTypes.h"

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

namespace  clang
 The JSON file list parser is used to communicate input to InstallAPI.
 
namespace  clang::index
 

Typedefs

typedef uint16_t clang::index::SymbolPropertySet
 
typedef unsigned clang::index::SymbolRoleSet
 

Enumerations

enum class  clang::index::SymbolKind : uint8_t {
  clang::index::Unknown , clang::index::Module , clang::index::Namespace , clang::index::NamespaceAlias ,
  clang::index::Macro , clang::index::Enum , clang::index::Struct , clang::index::Class ,
  clang::index::Protocol , clang::index::Extension , clang::index::Union , clang::index::TypeAlias ,
  clang::index::Function , clang::index::Variable , clang::index::Field , clang::index::EnumConstant ,
  clang::index::InstanceMethod , clang::index::ClassMethod , clang::index::StaticMethod , clang::index::InstanceProperty ,
  clang::index::ClassProperty , clang::index::StaticProperty , clang::index::Constructor , clang::index::Destructor ,
  clang::index::ConversionFunction , clang::index::Parameter , clang::index::Using , clang::index::TemplateTypeParm ,
  clang::index::TemplateTemplateParm , clang::index::NonTypeTemplateParm , clang::index::Concept
}
 
enum class  clang::index::SymbolLanguage : uint8_t { clang::index::C , clang::index::ObjC , clang::index::CXX , clang::index::Swift }
 
enum class  clang::index::SymbolSubKind : uint8_t {
  clang::index::None , clang::index::CXXCopyConstructor , clang::index::CXXMoveConstructor , clang::index::AccessorGetter ,
  clang::index::AccessorSetter , clang::index::UsingTypename , clang::index::UsingValue , clang::index::UsingEnum
}
 Language specific sub-kinds. More...
 
enum class  clang::index::SymbolProperty : SymbolPropertySet {
  clang::index::Generic = 1 << 0 , clang::index::TemplatePartialSpecialization = 1 << 1 , clang::index::TemplateSpecialization = 1 << 2 , clang::index::UnitTest = 1 << 3 ,
  clang::index::IBAnnotated = 1 << 4 , clang::index::IBOutletCollection = 1 << 5 , clang::index::GKInspectable = 1 << 6 , clang::index::Local = 1 << 7 ,
  clang::index::ProtocolInterface = 1 << 8
}
 Set of properties that provide additional info about a symbol. More...
 
enum class  clang::index::SymbolRole : uint32_t {
  clang::index::Declaration = 1 << 0 , clang::index::Definition = 1 << 1 , clang::index::Reference = 1 << 2 , clang::index::Read = 1 << 3 ,
  clang::index::Write = 1 << 4 , clang::index::Call = 1 << 5 , clang::index::Dynamic = 1 << 6 , clang::index::AddressOf = 1 << 7 ,
  clang::index::Implicit = 1 << 8 , clang::index::Undefinition = 1 << 9 , clang::index::RelationChildOf = 1 << 10 , clang::index::RelationBaseOf = 1 << 11 ,
  clang::index::RelationOverrideOf = 1 << 12 , clang::index::RelationReceivedBy = 1 << 13 , clang::index::RelationCalledBy = 1 << 14 , clang::index::RelationExtendedBy = 1 << 15 ,
  clang::index::RelationAccessorOf = 1 << 16 , clang::index::RelationContainedBy = 1 << 17 , clang::index::RelationIBTypeOf = 1 << 18 , clang::index::RelationSpecializationOf = 1 << 19 ,
  clang::index::NameReference = 1 << 20
}
 Set of roles that are attributed to symbol occurrences. More...
 

Functions

SymbolInfo clang::index::getSymbolInfo (const Decl *D)
 
SymbolInfo clang::index::getSymbolInfoForMacro (const MacroInfo &MI)
 
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 = 9
 
static const unsigned clang::index::SymbolRoleBitNum = 21