LLVM 22.0.0git
PDBSymbol.h File Reference
#include "IPDBRawSymbol.h"
#include "PDBExtras.h"
#include "PDBTypes.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compiler.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)
#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)
#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 49 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 58 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 21 of file PDBSymbol.h.

◆ FORWARD_SYMBOL_ID_METHOD

#define FORWARD_SYMBOL_ID_METHOD ( MethodName)
Value:
FORWARD_SYMBOL_ID_METHOD_WITH_NAME(MethodName, MethodName)
#define FORWARD_SYMBOL_ID_METHOD_WITH_NAME(PrivateName, PublicName)
Definition PDBSymbol.h:31

Definition at line 35 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:21

Definition at line 31 of file PDBSymbol.h.

◆ FORWARD_SYMBOL_METHOD

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

Definition at line 18 of file PDBSymbol.h.