clang 22.0.0git
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::IncludeDirective , 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