LLVM 19.0.0git
Classes | Namespaces | Macros
PDBSymbol.h File Reference
#include "IPDBRawSymbol.h"
#include "PDBExtras.h"
#include "PDBTypes.h"
#include "llvm/Support/Casting.h"

Go to the source code of this file.

Classes

class  llvm::pdb::PDBSymbol
 PDBSymbol defines the base of the inheritance hierarchy for concrete symbol types (e.g. More...
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::pdb
 

Macros

#define FORWARD_SYMBOL_METHOD(MethodName)    decltype(auto) MethodName() const { return RawSymbol->MethodName(); }
 
#define FORWARD_CONCRETE_SYMBOL_ID_METHOD_WITH_NAME(ConcreteType, PrivateName, PublicName)
 
#define FORWARD_SYMBOL_ID_METHOD_WITH_NAME(PrivateName, PublicName)
 
#define FORWARD_SYMBOL_ID_METHOD(MethodName)    FORWARD_SYMBOL_ID_METHOD_WITH_NAME(MethodName, MethodName)
 
#define DECLARE_PDB_SYMBOL_CONCRETE_TYPE(TagValue)
 
#define DECLARE_PDB_SYMBOL_CUSTOM_TYPE(Condition)
 

Macro Definition Documentation

◆ DECLARE_PDB_SYMBOL_CONCRETE_TYPE

#define DECLARE_PDB_SYMBOL_CONCRETE_TYPE (   TagValue)
Value:
private: \
using PDBSymbol::PDBSymbol; \
friend class PDBSymbol; \
\
public: \
static const PDB_SymType Tag = TagValue; \
static bool classof(const PDBSymbol *S) { return S->getSymTag() == Tag; }

Definition at line 48 of file PDBSymbol.h.

◆ DECLARE_PDB_SYMBOL_CUSTOM_TYPE

#define DECLARE_PDB_SYMBOL_CUSTOM_TYPE (   Condition)
Value:
private: \
using PDBSymbol::PDBSymbol; \
friend class PDBSymbol; \
\
public: \
static bool classof(const PDBSymbol *S) { return Condition; }

Definition at line 57 of file PDBSymbol.h.

◆ FORWARD_CONCRETE_SYMBOL_ID_METHOD_WITH_NAME

#define FORWARD_CONCRETE_SYMBOL_ID_METHOD_WITH_NAME (   ConcreteType,
  PrivateName,
  PublicName 
)
Value:
decltype(auto) PublicName##Id() const { \
return RawSymbol->PrivateName##Id(); \
} \
std::unique_ptr<ConcreteType> PublicName() const { \
uint32_t Id = PublicName##Id(); \
return getConcreteSymbolByIdHelper<ConcreteType>(Id); \
}

Definition at line 20 of file PDBSymbol.h.

◆ FORWARD_SYMBOL_ID_METHOD

#define FORWARD_SYMBOL_ID_METHOD (   MethodName)     FORWARD_SYMBOL_ID_METHOD_WITH_NAME(MethodName, MethodName)

Definition at line 34 of file PDBSymbol.h.

◆ FORWARD_SYMBOL_ID_METHOD_WITH_NAME

#define FORWARD_SYMBOL_ID_METHOD_WITH_NAME (   PrivateName,
  PublicName 
)
Value:
PublicName)
#define FORWARD_CONCRETE_SYMBOL_ID_METHOD_WITH_NAME(ConcreteType, PrivateName, PublicName)
Definition: PDBSymbol.h:20

Definition at line 30 of file PDBSymbol.h.

◆ FORWARD_SYMBOL_METHOD

#define FORWARD_SYMBOL_METHOD (   MethodName)     decltype(auto) MethodName() const { return RawSymbol->MethodName(); }

Definition at line 17 of file PDBSymbol.h.