File indexing completed on 2026-05-10 08:43:44
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVEPUBLICSYMBOL_H
0010 #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVEPUBLICSYMBOL_H
0011
0012 #include "llvm/DebugInfo/CodeView/SymbolRecord.h"
0013 #include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"
0014
0015 namespace llvm {
0016
0017 class raw_ostream;
0018 namespace pdb {
0019 class NativeSession;
0020
0021 class NativePublicSymbol : public NativeRawSymbol {
0022 public:
0023 NativePublicSymbol(NativeSession &Session, SymIndexId Id,
0024 const codeview::PublicSym32 &Sym);
0025
0026 ~NativePublicSymbol() override;
0027
0028 void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
0029 PdbSymbolIdField RecurseIdFields) const override;
0030
0031 uint32_t getAddressOffset() const override;
0032 uint32_t getAddressSection() const override;
0033 std::string getName() const override;
0034 uint32_t getRelativeVirtualAddress() const override;
0035 uint64_t getVirtualAddress() const override;
0036
0037 protected:
0038 const codeview::PublicSym32 Sym;
0039 };
0040
0041 }
0042 }
0043
0044 #endif