Back to home page

EIC code displayed by LXR

 
 

    


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

0001 //===- PDBSymbolData.h - PDB data (e.g. variable) accessors -----*- 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_PDBSYMBOLDATA_H
0010 #define LLVM_DEBUGINFO_PDB_PDBSYMBOLDATA_H
0011 
0012 #include "PDBSymbol.h"
0013 #include "PDBTypes.h"
0014 #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
0015 
0016 namespace llvm {
0017 
0018 namespace pdb {
0019 
0020 class PDBSymDumper;
0021 
0022 class PDBSymbolData : public PDBSymbol {
0023   DECLARE_PDB_SYMBOL_CONCRETE_TYPE(PDB_SymType::Data)
0024 public:
0025   void dump(PDBSymDumper &Dumper) const override;
0026 
0027   FORWARD_SYMBOL_METHOD(getAccess)
0028   FORWARD_SYMBOL_METHOD(getAddressOffset)
0029   FORWARD_SYMBOL_METHOD(getAddressSection)
0030   FORWARD_SYMBOL_METHOD(getAddressTaken)
0031   FORWARD_SYMBOL_METHOD(getBitPosition)
0032   FORWARD_SYMBOL_ID_METHOD(getClassParent)
0033   FORWARD_SYMBOL_METHOD(isCompilerGenerated)
0034   FORWARD_SYMBOL_METHOD(isConstType)
0035   FORWARD_SYMBOL_METHOD(getDataKind)
0036   FORWARD_SYMBOL_METHOD(isAggregated)
0037   FORWARD_SYMBOL_METHOD(isSplitted)
0038   FORWARD_SYMBOL_METHOD(getLength)
0039   FORWARD_SYMBOL_ID_METHOD(getLexicalParent)
0040   FORWARD_SYMBOL_METHOD(getLocationType)
0041   FORWARD_SYMBOL_METHOD(getName)
0042   FORWARD_SYMBOL_METHOD(getOffset)
0043   FORWARD_SYMBOL_METHOD(getRegisterId)
0044   FORWARD_SYMBOL_METHOD(getRelativeVirtualAddress)
0045   FORWARD_SYMBOL_METHOD(getSlot)
0046   FORWARD_SYMBOL_METHOD(getToken)
0047   FORWARD_SYMBOL_ID_METHOD(getType)
0048   FORWARD_SYMBOL_METHOD(isUnalignedType)
0049   FORWARD_SYMBOL_METHOD(getValue)
0050   FORWARD_SYMBOL_METHOD(getVirtualAddress)
0051   FORWARD_SYMBOL_METHOD(isVolatileType)
0052 
0053   std::unique_ptr<IPDBEnumLineNumbers> getLineNumbers() const;
0054   uint32_t getCompilandId() const;
0055 };
0056 } // namespace pdb
0057 } // namespace llvm
0058 
0059 #endif // LLVM_DEBUGINFO_PDB_PDBSYMBOLDATA_H