File indexing completed on 2026-05-10 08:43:44
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_DEBUGINFO_PDB_DIA_DIASECTIONCONTRIB_H
0010 #define LLVM_DEBUGINFO_PDB_DIA_DIASECTIONCONTRIB_H
0011
0012 #include "DIASupport.h"
0013 #include "llvm/DebugInfo/PDB/IPDBSectionContrib.h"
0014
0015 namespace llvm {
0016 namespace pdb {
0017 class DIASession;
0018
0019 class DIASectionContrib : public IPDBSectionContrib {
0020 public:
0021 explicit DIASectionContrib(const DIASession &PDBSession,
0022 CComPtr<IDiaSectionContrib> DiaSection);
0023
0024 std::unique_ptr<PDBSymbolCompiland> getCompiland() const override;
0025 uint32_t getAddressSection() const override;
0026 uint32_t getAddressOffset() const override;
0027 uint32_t getRelativeVirtualAddress() const override;
0028 uint64_t getVirtualAddress() const override;
0029 uint32_t getLength() const override;
0030 bool isNotPaged() const override;
0031 bool hasCode() const override;
0032 bool hasCode16Bit() const override;
0033 bool hasInitializedData() const override;
0034 bool hasUninitializedData() const override;
0035 bool isRemoved() const override;
0036 bool hasComdat() const override;
0037 bool isDiscardable() const override;
0038 bool isNotCached() const override;
0039 bool isShared() const override;
0040 bool isExecutable() const override;
0041 bool isReadable() const override;
0042 bool isWritable() const override;
0043 uint32_t getDataCrc32() const override;
0044 uint32_t getRelocationsCrc32() const override;
0045 uint32_t getCompilandId() const override;
0046
0047 private:
0048 const DIASession &Session;
0049 CComPtr<IDiaSectionContrib> Section;
0050 };
0051 }
0052 }
0053
0054 #endif