123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251 |
- #pragma once
- #ifdef __GNUC__
- #pragma GCC diagnostic push
- #pragma GCC diagnostic ignored "-Wunused-parameter"
- #endif
- //==- NativeRawSymbol.h - Native implementation of IPDBRawSymbol -*- C++ -*-==//
- //
- // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
- // See https://llvm.org/LICENSE.txt for license information.
- // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
- //
- //===----------------------------------------------------------------------===//
- #ifndef LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
- #define LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
- #include "llvm/DebugInfo/PDB/IPDBRawSymbol.h"
- #include <cstdint>
- #include <memory>
- namespace llvm {
- namespace pdb {
- class NativeSession;
- class NativeRawSymbol : public IPDBRawSymbol {
- friend class SymbolCache;
- virtual void initialize() {}
- public:
- NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag,
- SymIndexId SymbolId);
- void dump(raw_ostream &OS, int Indent, PdbSymbolIdField ShowIdFields,
- PdbSymbolIdField RecurseIdFields) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findChildren(PDB_SymType Type) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findChildren(PDB_SymType Type, StringRef Name,
- PDB_NameSearchFlags Flags) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findChildrenByAddr(PDB_SymType Type, StringRef Name,
- PDB_NameSearchFlags Flags,
- uint32_t Section, uint32_t Offset) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findChildrenByVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags,
- uint64_t VA) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findChildrenByRVA(PDB_SymType Type, StringRef Name, PDB_NameSearchFlags Flags,
- uint32_t RVA) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findInlineFramesByAddr(uint32_t Section, uint32_t Offset) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findInlineFramesByRVA(uint32_t RVA) const override;
- std::unique_ptr<IPDBEnumSymbols>
- findInlineFramesByVA(uint64_t VA) const override;
- std::unique_ptr<IPDBEnumLineNumbers> findInlineeLines() const override;
- std::unique_ptr<IPDBEnumLineNumbers>
- findInlineeLinesByAddr(uint32_t Section, uint32_t Offset,
- uint32_t Length) const override;
- std::unique_ptr<IPDBEnumLineNumbers>
- findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const override;
- std::unique_ptr<IPDBEnumLineNumbers>
- findInlineeLinesByVA(uint64_t VA, uint32_t Length) const override;
- void getDataBytes(SmallVector<uint8_t, 32> &Bytes) const override;
- void getFrontEndVersion(VersionInfo &Version) const override;
- void getBackEndVersion(VersionInfo &Version) const override;
- PDB_MemberAccess getAccess() const override;
- uint32_t getAddressOffset() const override;
- uint32_t getAddressSection() const override;
- uint32_t getAge() const override;
- SymIndexId getArrayIndexTypeId() const override;
- uint32_t getBaseDataOffset() const override;
- uint32_t getBaseDataSlot() const override;
- SymIndexId getBaseSymbolId() const override;
- PDB_BuiltinType getBuiltinType() const override;
- uint32_t getBitPosition() const override;
- PDB_CallingConv getCallingConvention() const override;
- SymIndexId getClassParentId() const override;
- std::string getCompilerName() const override;
- uint32_t getCount() const override;
- uint32_t getCountLiveRanges() const override;
- PDB_Lang getLanguage() const override;
- SymIndexId getLexicalParentId() const override;
- std::string getLibraryName() const override;
- uint32_t getLiveRangeStartAddressOffset() const override;
- uint32_t getLiveRangeStartAddressSection() const override;
- uint32_t getLiveRangeStartRelativeVirtualAddress() const override;
- codeview::RegisterId getLocalBasePointerRegisterId() const override;
- SymIndexId getLowerBoundId() const override;
- uint32_t getMemorySpaceKind() const override;
- std::string getName() const override;
- uint32_t getNumberOfAcceleratorPointerTags() const override;
- uint32_t getNumberOfColumns() const override;
- uint32_t getNumberOfModifiers() const override;
- uint32_t getNumberOfRegisterIndices() const override;
- uint32_t getNumberOfRows() const override;
- std::string getObjectFileName() const override;
- uint32_t getOemId() const override;
- SymIndexId getOemSymbolId() const override;
- uint32_t getOffsetInUdt() const override;
- PDB_Cpu getPlatform() const override;
- uint32_t getRank() const override;
- codeview::RegisterId getRegisterId() const override;
- uint32_t getRegisterType() const override;
- uint32_t getRelativeVirtualAddress() const override;
- uint32_t getSamplerSlot() const override;
- uint32_t getSignature() const override;
- uint32_t getSizeInUdt() const override;
- uint32_t getSlot() const override;
- std::string getSourceFileName() const override;
- std::unique_ptr<IPDBLineNumber> getSrcLineOnTypeDefn() const override;
- uint32_t getStride() const override;
- SymIndexId getSubTypeId() const override;
- std::string getSymbolsFileName() const override;
- SymIndexId getSymIndexId() const override;
- uint32_t getTargetOffset() const override;
- uint32_t getTargetRelativeVirtualAddress() const override;
- uint64_t getTargetVirtualAddress() const override;
- uint32_t getTargetSection() const override;
- uint32_t getTextureSlot() const override;
- uint32_t getTimeStamp() const override;
- uint32_t getToken() const override;
- SymIndexId getTypeId() const override;
- uint32_t getUavSlot() const override;
- std::string getUndecoratedName() const override;
- std::string getUndecoratedNameEx(PDB_UndnameFlags Flags) const override;
- SymIndexId getUnmodifiedTypeId() const override;
- SymIndexId getUpperBoundId() const override;
- Variant getValue() const override;
- uint32_t getVirtualBaseDispIndex() const override;
- uint32_t getVirtualBaseOffset() const override;
- SymIndexId getVirtualTableShapeId() const override;
- std::unique_ptr<PDBSymbolTypeBuiltin>
- getVirtualBaseTableType() const override;
- PDB_DataKind getDataKind() const override;
- PDB_SymType getSymTag() const override;
- codeview::GUID getGuid() const override;
- int32_t getOffset() const override;
- int32_t getThisAdjust() const override;
- int32_t getVirtualBasePointerOffset() const override;
- PDB_LocType getLocationType() const override;
- PDB_Machine getMachineType() const override;
- codeview::ThunkOrdinal getThunkOrdinal() const override;
- uint64_t getLength() const override;
- uint64_t getLiveRangeLength() const override;
- uint64_t getVirtualAddress() const override;
- PDB_UdtType getUdtKind() const override;
- bool hasConstructor() const override;
- bool hasCustomCallingConvention() const override;
- bool hasFarReturn() const override;
- bool isCode() const override;
- bool isCompilerGenerated() const override;
- bool isConstType() const override;
- bool isEditAndContinueEnabled() const override;
- bool isFunction() const override;
- bool getAddressTaken() const override;
- bool getNoStackOrdering() const override;
- bool hasAlloca() const override;
- bool hasAssignmentOperator() const override;
- bool hasCTypes() const override;
- bool hasCastOperator() const override;
- bool hasDebugInfo() const override;
- bool hasEH() const override;
- bool hasEHa() const override;
- bool hasInlAsm() const override;
- bool hasInlineAttribute() const override;
- bool hasInterruptReturn() const override;
- bool hasFramePointer() const override;
- bool hasLongJump() const override;
- bool hasManagedCode() const override;
- bool hasNestedTypes() const override;
- bool hasNoInlineAttribute() const override;
- bool hasNoReturnAttribute() const override;
- bool hasOptimizedCodeDebugInfo() const override;
- bool hasOverloadedOperator() const override;
- bool hasSEH() const override;
- bool hasSecurityChecks() const override;
- bool hasSetJump() const override;
- bool hasStrictGSCheck() const override;
- bool isAcceleratorGroupSharedLocal() const override;
- bool isAcceleratorPointerTagLiveRange() const override;
- bool isAcceleratorStubFunction() const override;
- bool isAggregated() const override;
- bool isIntroVirtualFunction() const override;
- bool isCVTCIL() const override;
- bool isConstructorVirtualBase() const override;
- bool isCxxReturnUdt() const override;
- bool isDataAligned() const override;
- bool isHLSLData() const override;
- bool isHotpatchable() const override;
- bool isIndirectVirtualBaseClass() const override;
- bool isInterfaceUdt() const override;
- bool isIntrinsic() const override;
- bool isLTCG() const override;
- bool isLocationControlFlowDependent() const override;
- bool isMSILNetmodule() const override;
- bool isMatrixRowMajor() const override;
- bool isManagedCode() const override;
- bool isMSILCode() const override;
- bool isMultipleInheritance() const override;
- bool isNaked() const override;
- bool isNested() const override;
- bool isOptimizedAway() const override;
- bool isPacked() const override;
- bool isPointerBasedOnSymbolValue() const override;
- bool isPointerToDataMember() const override;
- bool isPointerToMemberFunction() const override;
- bool isPureVirtual() const override;
- bool isRValueReference() const override;
- bool isRefUdt() const override;
- bool isReference() const override;
- bool isRestrictedType() const override;
- bool isReturnValue() const override;
- bool isSafeBuffers() const override;
- bool isScoped() const override;
- bool isSdl() const override;
- bool isSingleInheritance() const override;
- bool isSplitted() const override;
- bool isStatic() const override;
- bool hasPrivateSymbols() const override;
- bool isUnalignedType() const override;
- bool isUnreached() const override;
- bool isValueUdt() const override;
- bool isVirtual() const override;
- bool isVirtualBaseClass() const override;
- bool isVirtualInheritance() const override;
- bool isVolatileType() const override;
- bool wasInlined() const override;
- std::string getUnused() const override;
- protected:
- NativeSession &Session;
- PDB_SymType Tag;
- SymIndexId SymbolId;
- };
- } // end namespace pdb
- } // end namespace llvm
- #endif // LLVM_DEBUGINFO_PDB_NATIVE_NATIVERAWSYMBOL_H
- #ifdef __GNUC__
- #pragma GCC diagnostic pop
- #endif
|