clang-tools 20.0.0git
Classes | Public Types | Public Member Functions | Friends | List of all members
clang::find_all_symbols::SymbolInfo Class Reference

Describes a named symbol from a header. More...

#include <SymbolInfo.h>

Classes

struct  Signals
 

Public Types

enum class  SymbolKind {
  Function , Class , Variable , TypedefName ,
  EnumDecl , EnumConstantDecl , Macro , Unknown
}
 The SymbolInfo Type. More...
 
enum class  ContextType { Namespace , Record , EnumDecl }
 The Context Type. More...
 
typedef std::pair< ContextType, std::string > Context
 A pair of <ContextType, ContextName>.
 
using SignalMap = std::map< SymbolInfo, Signals >
 

Public Member Functions

 SymbolInfo ()
 
 SymbolInfo (llvm::StringRef Name, SymbolKind Type, llvm::StringRef FilePath, const std::vector< Context > &Contexts)
 
void SetFilePath (llvm::StringRef Path)
 
llvm::StringRef getName () const
 Get symbol name.
 
std::string getQualifiedName () const
 Get the fully-qualified symbol name.
 
SymbolKind getSymbolKind () const
 Get symbol type.
 
llvm::StringRef getFilePath () const
 Get a relative file path where symbol comes from.
 
const std::vector< SymbolInfo::Context > & getContexts () const
 Get symbol contexts.
 
bool operator< (const SymbolInfo &Symbol) const
 
bool operator== (const SymbolInfo &Symbol) const
 

Friends

struct llvm::yaml::MappingTraits< struct SymbolAndSignals >
 

Detailed Description

Describes a named symbol from a header.

Symbols with the same qualified name and type (e.g. function overloads) that appear in the same header are represented by a single SymbolInfo.

TODO: keep track of instances, e.g. overload locations and signatures.

Definition at line 26 of file SymbolInfo.h.

Member Typedef Documentation

◆ Context

A pair of <ContextType, ContextName>.

Definition at line 48 of file SymbolInfo.h.

◆ SignalMap

Definition at line 67 of file SymbolInfo.h.

Member Enumeration Documentation

◆ ContextType

The Context Type.

Enumerator
Namespace 
Record 
EnumDecl 

Definition at line 41 of file SymbolInfo.h.

◆ SymbolKind

The SymbolInfo Type.

Enumerator
Function 
Class 
Variable 
TypedefName 
EnumDecl 
EnumConstantDecl 
Macro 
Unknown 

Definition at line 29 of file SymbolInfo.h.

Constructor & Destructor Documentation

◆ SymbolInfo() [1/2]

clang::find_all_symbols::SymbolInfo::SymbolInfo ( )
inline

Definition at line 71 of file SymbolInfo.h.

◆ SymbolInfo() [2/2]

clang::find_all_symbols::SymbolInfo::SymbolInfo ( llvm::StringRef  Name,
SymbolKind  Type,
llvm::StringRef  FilePath,
const std::vector< Context > &  Contexts 
)

Definition at line 71 of file SymbolInfo.cpp.

Member Function Documentation

◆ getContexts()

const std::vector< SymbolInfo::Context > & clang::find_all_symbols::SymbolInfo::getContexts ( ) const
inline

Get symbol contexts.

Definition at line 91 of file SymbolInfo.h.

◆ getFilePath()

llvm::StringRef clang::find_all_symbols::SymbolInfo::getFilePath ( ) const
inline

Get a relative file path where symbol comes from.

Definition at line 88 of file SymbolInfo.h.

◆ getName()

llvm::StringRef clang::find_all_symbols::SymbolInfo::getName ( ) const
inline

Get symbol name.

Definition at line 79 of file SymbolInfo.h.

◆ getQualifiedName()

std::string clang::find_all_symbols::SymbolInfo::getQualifiedName ( ) const

Get the fully-qualified symbol name.

Definition at line 86 of file SymbolInfo.cpp.

◆ getSymbolKind()

SymbolKind clang::find_all_symbols::SymbolInfo::getSymbolKind ( ) const
inline

Get symbol type.

Definition at line 85 of file SymbolInfo.h.

◆ operator<()

bool clang::find_all_symbols::SymbolInfo::operator< ( const SymbolInfo Symbol) const

Definition at line 81 of file SymbolInfo.cpp.

◆ operator==()

bool clang::find_all_symbols::SymbolInfo::operator== ( const SymbolInfo Symbol) const

Definition at line 76 of file SymbolInfo.cpp.

◆ SetFilePath()

void clang::find_all_symbols::SymbolInfo::SetFilePath ( llvm::StringRef  Path)
inline

Definition at line 76 of file SymbolInfo.h.

References Path.

Friends And Related Function Documentation

◆ llvm::yaml::MappingTraits< struct SymbolAndSignals >

friend struct llvm::yaml::MappingTraits< struct SymbolAndSignals >
friend

Definition at line 97 of file SymbolInfo.h.


The documentation for this class was generated from the following files: