Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-05-10 08:43:45

0001 //==- IPDBSectionContrib.h - Interfaces for PDB SectionContribs --*- C++ -*-==//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 
0009 #ifndef LLVM_DEBUGINFO_PDB_IPDBSECTIONCONTRIB_H
0010 #define LLVM_DEBUGINFO_PDB_IPDBSECTIONCONTRIB_H
0011 
0012 #include "PDBTypes.h"
0013 
0014 namespace llvm {
0015 namespace pdb {
0016 
0017 /// IPDBSectionContrib defines an interface used to represent section
0018 /// contributions whose information are stored in the PDB.
0019 class IPDBSectionContrib {
0020 public:
0021   virtual ~IPDBSectionContrib();
0022 
0023   virtual std::unique_ptr<PDBSymbolCompiland> getCompiland() const = 0;
0024   virtual uint32_t getAddressSection() const = 0;
0025   virtual uint32_t getAddressOffset() const = 0;
0026   virtual uint32_t getRelativeVirtualAddress() const = 0;
0027   virtual uint64_t getVirtualAddress() const  = 0;
0028   virtual uint32_t getLength() const = 0;
0029   virtual bool isNotPaged() const = 0;
0030   virtual bool hasCode() const = 0;
0031   virtual bool hasCode16Bit() const = 0;
0032   virtual bool hasInitializedData() const = 0;
0033   virtual bool hasUninitializedData() const = 0;
0034   virtual bool isRemoved() const = 0;
0035   virtual bool hasComdat() const = 0;
0036   virtual bool isDiscardable() const = 0;
0037   virtual bool isNotCached() const = 0;
0038   virtual bool isShared() const = 0;
0039   virtual bool isExecutable() const = 0;
0040   virtual bool isReadable() const = 0;
0041   virtual bool isWritable() const = 0;
0042   virtual uint32_t getDataCrc32() const = 0;
0043   virtual uint32_t getRelocationsCrc32() const = 0;
0044   virtual uint32_t getCompilandId() const = 0;
0045 };
0046 }
0047 }
0048 
0049 #endif // LLVM_DEBUGINFO_PDB_IPDBSECTIONCONTRIB_H