Path: blob/main/contrib/llvm-project/llvm/lib/DebugInfo/PDB/Native/NativeRawSymbol.cpp
35293 views
//===- NativeRawSymbol.cpp - Native implementation of IPDBRawSymbol -------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//78#include "llvm/DebugInfo/PDB/Native/NativeRawSymbol.h"9#include "llvm/DebugInfo/PDB/IPDBLineNumber.h"10#include "llvm/DebugInfo/PDB/Native/NativeSession.h"11#include "llvm/DebugInfo/PDB/PDBSymbolTypeBuiltin.h"1213using namespace llvm;14using namespace llvm::pdb;1516NativeRawSymbol::NativeRawSymbol(NativeSession &PDBSession, PDB_SymType Tag,17SymIndexId SymbolId)18: Session(PDBSession), Tag(Tag), SymbolId(SymbolId) {}1920void NativeRawSymbol::dump(raw_ostream &OS, int Indent,21PdbSymbolIdField ShowIdFields,22PdbSymbolIdField RecurseIdFields) const {23dumpSymbolIdField(OS, "symIndexId", SymbolId, Indent, Session,24PdbSymbolIdField::SymIndexId, ShowIdFields,25RecurseIdFields);26dumpSymbolField(OS, "symTag", Tag, Indent);27}2829std::unique_ptr<IPDBEnumSymbols>30NativeRawSymbol::findChildren(PDB_SymType Type) const {31return std::make_unique<NullEnumerator<PDBSymbol>>();32}3334std::unique_ptr<IPDBEnumSymbols>35NativeRawSymbol::findChildren(PDB_SymType Type, StringRef Name,36PDB_NameSearchFlags Flags) const {37return std::make_unique<NullEnumerator<PDBSymbol>>();38}3940std::unique_ptr<IPDBEnumSymbols>41NativeRawSymbol::findChildrenByAddr(PDB_SymType Type, StringRef Name,42PDB_NameSearchFlags Flags, uint32_t Section, uint32_t Offset) const {43return std::make_unique<NullEnumerator<PDBSymbol>>();44}4546std::unique_ptr<IPDBEnumSymbols>47NativeRawSymbol::findChildrenByVA(PDB_SymType Type, StringRef Name,48PDB_NameSearchFlags Flags, uint64_t VA) const {49return std::make_unique<NullEnumerator<PDBSymbol>>();50}5152std::unique_ptr<IPDBEnumSymbols>53NativeRawSymbol::findChildrenByRVA(PDB_SymType Type, StringRef Name,54PDB_NameSearchFlags Flags, uint32_t RVA) const {55return std::make_unique<NullEnumerator<PDBSymbol>>();56}5758std::unique_ptr<IPDBEnumSymbols>59NativeRawSymbol::findInlineFramesByAddr(uint32_t Section,60uint32_t Offset) const {61return std::make_unique<NullEnumerator<PDBSymbol>>();62}6364std::unique_ptr<IPDBEnumSymbols>65NativeRawSymbol::findInlineFramesByRVA(uint32_t RVA) const {66return std::make_unique<NullEnumerator<PDBSymbol>>();67}6869std::unique_ptr<IPDBEnumSymbols>70NativeRawSymbol::findInlineFramesByVA(uint64_t VA) const {71return std::make_unique<NullEnumerator<PDBSymbol>>();72}7374std::unique_ptr<IPDBEnumLineNumbers>75NativeRawSymbol::findInlineeLines() const {76return std::make_unique<NullEnumerator<IPDBLineNumber>>();77}7879std::unique_ptr<IPDBEnumLineNumbers>80NativeRawSymbol::findInlineeLinesByAddr(uint32_t Section, uint32_t Offset,81uint32_t Length) const {82return std::make_unique<NullEnumerator<IPDBLineNumber>>();83}8485std::unique_ptr<IPDBEnumLineNumbers>86NativeRawSymbol::findInlineeLinesByRVA(uint32_t RVA, uint32_t Length) const {87return std::make_unique<NullEnumerator<IPDBLineNumber>>();88}8990std::unique_ptr<IPDBEnumLineNumbers>91NativeRawSymbol::findInlineeLinesByVA(uint64_t VA, uint32_t Length) const {92return std::make_unique<NullEnumerator<IPDBLineNumber>>();93}9495void NativeRawSymbol::getDataBytes(SmallVector<uint8_t, 32> &bytes) const {96bytes.clear();97}9899PDB_MemberAccess NativeRawSymbol::getAccess() const {100return PDB_MemberAccess::Private;101}102103uint32_t NativeRawSymbol::getAddressOffset() const {104return 0;105}106107uint32_t NativeRawSymbol::getAddressSection() const {108return 0;109}110111uint32_t NativeRawSymbol::getAge() const {112return 0;113}114115SymIndexId NativeRawSymbol::getArrayIndexTypeId() const { return 0; }116117void NativeRawSymbol::getBackEndVersion(VersionInfo &Version) const {118Version.Major = 0;119Version.Minor = 0;120Version.Build = 0;121Version.QFE = 0;122}123124uint32_t NativeRawSymbol::getBaseDataOffset() const {125return 0;126}127128uint32_t NativeRawSymbol::getBaseDataSlot() const {129return 0;130}131132SymIndexId NativeRawSymbol::getBaseSymbolId() const { return 0; }133134PDB_BuiltinType NativeRawSymbol::getBuiltinType() const {135return PDB_BuiltinType::None;136}137138uint32_t NativeRawSymbol::getBitPosition() const {139return 0;140}141142PDB_CallingConv NativeRawSymbol::getCallingConvention() const {143return PDB_CallingConv::FarStdCall;144}145146SymIndexId NativeRawSymbol::getClassParentId() const { return 0; }147148std::string NativeRawSymbol::getCompilerName() const {149return {};150}151152uint32_t NativeRawSymbol::getCount() const {153return 0;154}155156uint32_t NativeRawSymbol::getCountLiveRanges() const {157return 0;158}159160void NativeRawSymbol::getFrontEndVersion(VersionInfo &Version) const {161Version.Major = 0;162Version.Minor = 0;163Version.Build = 0;164Version.QFE = 0;165}166167PDB_Lang NativeRawSymbol::getLanguage() const {168return PDB_Lang::Cobol;169}170171SymIndexId NativeRawSymbol::getLexicalParentId() const { return 0; }172173std::string NativeRawSymbol::getLibraryName() const {174return {};175}176177uint32_t NativeRawSymbol::getLiveRangeStartAddressOffset() const {178return 0;179}180181uint32_t NativeRawSymbol::getLiveRangeStartAddressSection() const {182return 0;183}184185uint32_t NativeRawSymbol::getLiveRangeStartRelativeVirtualAddress() const {186return 0;187}188189codeview::RegisterId NativeRawSymbol::getLocalBasePointerRegisterId() const {190return codeview::RegisterId::EAX;191}192193SymIndexId NativeRawSymbol::getLowerBoundId() const { return 0; }194195uint32_t NativeRawSymbol::getMemorySpaceKind() const {196return 0;197}198199std::string NativeRawSymbol::getName() const {200return {};201}202203uint32_t NativeRawSymbol::getNumberOfAcceleratorPointerTags() const {204return 0;205}206207uint32_t NativeRawSymbol::getNumberOfColumns() const {208return 0;209}210211uint32_t NativeRawSymbol::getNumberOfModifiers() const {212return 0;213}214215uint32_t NativeRawSymbol::getNumberOfRegisterIndices() const {216return 0;217}218219uint32_t NativeRawSymbol::getNumberOfRows() const {220return 0;221}222223std::string NativeRawSymbol::getObjectFileName() const {224return {};225}226227uint32_t NativeRawSymbol::getOemId() const {228return 0;229}230231SymIndexId NativeRawSymbol::getOemSymbolId() const { return 0; }232233uint32_t NativeRawSymbol::getOffsetInUdt() const {234return 0;235}236237PDB_Cpu NativeRawSymbol::getPlatform() const {238return PDB_Cpu::Intel8080;239}240241uint32_t NativeRawSymbol::getRank() const {242return 0;243}244245codeview::RegisterId NativeRawSymbol::getRegisterId() const {246return codeview::RegisterId::EAX;247}248249uint32_t NativeRawSymbol::getRegisterType() const {250return 0;251}252253uint32_t NativeRawSymbol::getRelativeVirtualAddress() const {254return 0;255}256257uint32_t NativeRawSymbol::getSamplerSlot() const {258return 0;259}260261uint32_t NativeRawSymbol::getSignature() const {262return 0;263}264265uint32_t NativeRawSymbol::getSizeInUdt() const {266return 0;267}268269uint32_t NativeRawSymbol::getSlot() const {270return 0;271}272273std::string NativeRawSymbol::getSourceFileName() const {274return {};275}276277std::unique_ptr<IPDBLineNumber>278NativeRawSymbol::getSrcLineOnTypeDefn() const {279return nullptr;280}281282uint32_t NativeRawSymbol::getStride() const {283return 0;284}285286SymIndexId NativeRawSymbol::getSubTypeId() const { return 0; }287288std::string NativeRawSymbol::getSymbolsFileName() const { return {}; }289290SymIndexId NativeRawSymbol::getSymIndexId() const { return SymbolId; }291292uint32_t NativeRawSymbol::getTargetOffset() const {293return 0;294}295296uint32_t NativeRawSymbol::getTargetRelativeVirtualAddress() const {297return 0;298}299300uint64_t NativeRawSymbol::getTargetVirtualAddress() const {301return 0;302}303304uint32_t NativeRawSymbol::getTargetSection() const {305return 0;306}307308uint32_t NativeRawSymbol::getTextureSlot() const {309return 0;310}311312uint32_t NativeRawSymbol::getTimeStamp() const {313return 0;314}315316uint32_t NativeRawSymbol::getToken() const {317return 0;318}319320SymIndexId NativeRawSymbol::getTypeId() const { return 0; }321322uint32_t NativeRawSymbol::getUavSlot() const {323return 0;324}325326std::string NativeRawSymbol::getUndecoratedName() const {327return {};328}329330std::string NativeRawSymbol::getUndecoratedNameEx(331PDB_UndnameFlags Flags) const {332return {};333}334335SymIndexId NativeRawSymbol::getUnmodifiedTypeId() const { return 0; }336337SymIndexId NativeRawSymbol::getUpperBoundId() const { return 0; }338339Variant NativeRawSymbol::getValue() const {340return Variant();341}342343uint32_t NativeRawSymbol::getVirtualBaseDispIndex() const {344return 0;345}346347uint32_t NativeRawSymbol::getVirtualBaseOffset() const {348return 0;349}350351SymIndexId NativeRawSymbol::getVirtualTableShapeId() const { return 0; }352353std::unique_ptr<PDBSymbolTypeBuiltin>354NativeRawSymbol::getVirtualBaseTableType() const {355return nullptr;356}357358PDB_DataKind NativeRawSymbol::getDataKind() const {359return PDB_DataKind::Unknown;360}361362PDB_SymType NativeRawSymbol::getSymTag() const { return Tag; }363364codeview::GUID NativeRawSymbol::getGuid() const { return codeview::GUID{{0}}; }365366int32_t NativeRawSymbol::getOffset() const {367return 0;368}369370int32_t NativeRawSymbol::getThisAdjust() const {371return 0;372}373374int32_t NativeRawSymbol::getVirtualBasePointerOffset() const {375return 0;376}377378PDB_LocType NativeRawSymbol::getLocationType() const {379return PDB_LocType::Null;380}381382PDB_Machine NativeRawSymbol::getMachineType() const {383return PDB_Machine::Invalid;384}385386codeview::ThunkOrdinal NativeRawSymbol::getThunkOrdinal() const {387return codeview::ThunkOrdinal::Standard;388}389390uint64_t NativeRawSymbol::getLength() const {391return 0;392}393394uint64_t NativeRawSymbol::getLiveRangeLength() const {395return 0;396}397398uint64_t NativeRawSymbol::getVirtualAddress() const {399return 0;400}401402PDB_UdtType NativeRawSymbol::getUdtKind() const {403return PDB_UdtType::Struct;404}405406bool NativeRawSymbol::hasConstructor() const {407return false;408}409410bool NativeRawSymbol::hasCustomCallingConvention() const {411return false;412}413414bool NativeRawSymbol::hasFarReturn() const {415return false;416}417418bool NativeRawSymbol::isCode() const {419return false;420}421422bool NativeRawSymbol::isCompilerGenerated() const {423return false;424}425426bool NativeRawSymbol::isConstType() const {427return false;428}429430bool NativeRawSymbol::isEditAndContinueEnabled() const {431return false;432}433434bool NativeRawSymbol::isFunction() const {435return false;436}437438bool NativeRawSymbol::getAddressTaken() const {439return false;440}441442bool NativeRawSymbol::getNoStackOrdering() const {443return false;444}445446bool NativeRawSymbol::hasAlloca() const {447return false;448}449450bool NativeRawSymbol::hasAssignmentOperator() const {451return false;452}453454bool NativeRawSymbol::hasCTypes() const {455return false;456}457458bool NativeRawSymbol::hasCastOperator() const {459return false;460}461462bool NativeRawSymbol::hasDebugInfo() const {463return false;464}465466bool NativeRawSymbol::hasEH() const {467return false;468}469470bool NativeRawSymbol::hasEHa() const {471return false;472}473474bool NativeRawSymbol::hasInlAsm() const {475return false;476}477478bool NativeRawSymbol::hasInlineAttribute() const {479return false;480}481482bool NativeRawSymbol::hasInterruptReturn() const {483return false;484}485486bool NativeRawSymbol::hasFramePointer() const {487return false;488}489490bool NativeRawSymbol::hasLongJump() const {491return false;492}493494bool NativeRawSymbol::hasManagedCode() const {495return false;496}497498bool NativeRawSymbol::hasNestedTypes() const {499return false;500}501502bool NativeRawSymbol::hasNoInlineAttribute() const {503return false;504}505506bool NativeRawSymbol::hasNoReturnAttribute() const {507return false;508}509510bool NativeRawSymbol::hasOptimizedCodeDebugInfo() const {511return false;512}513514bool NativeRawSymbol::hasOverloadedOperator() const {515return false;516}517518bool NativeRawSymbol::hasSEH() const {519return false;520}521522bool NativeRawSymbol::hasSecurityChecks() const {523return false;524}525526bool NativeRawSymbol::hasSetJump() const {527return false;528}529530bool NativeRawSymbol::hasStrictGSCheck() const {531return false;532}533534bool NativeRawSymbol::isAcceleratorGroupSharedLocal() const {535return false;536}537538bool NativeRawSymbol::isAcceleratorPointerTagLiveRange() const {539return false;540}541542bool NativeRawSymbol::isAcceleratorStubFunction() const {543return false;544}545546bool NativeRawSymbol::isAggregated() const {547return false;548}549550bool NativeRawSymbol::isIntroVirtualFunction() const {551return false;552}553554bool NativeRawSymbol::isCVTCIL() const {555return false;556}557558bool NativeRawSymbol::isConstructorVirtualBase() const {559return false;560}561562bool NativeRawSymbol::isCxxReturnUdt() const {563return false;564}565566bool NativeRawSymbol::isDataAligned() const {567return false;568}569570bool NativeRawSymbol::isHLSLData() const {571return false;572}573574bool NativeRawSymbol::isHotpatchable() const {575return false;576}577578bool NativeRawSymbol::isIndirectVirtualBaseClass() const {579return false;580}581582bool NativeRawSymbol::isInterfaceUdt() const {583return false;584}585586bool NativeRawSymbol::isIntrinsic() const {587return false;588}589590bool NativeRawSymbol::isLTCG() const {591return false;592}593594bool NativeRawSymbol::isLocationControlFlowDependent() const {595return false;596}597598bool NativeRawSymbol::isMSILNetmodule() const {599return false;600}601602bool NativeRawSymbol::isMatrixRowMajor() const {603return false;604}605606bool NativeRawSymbol::isManagedCode() const {607return false;608}609610bool NativeRawSymbol::isMSILCode() const {611return false;612}613614bool NativeRawSymbol::isMultipleInheritance() const {615return false;616}617618bool NativeRawSymbol::isNaked() const {619return false;620}621622bool NativeRawSymbol::isNested() const {623return false;624}625626bool NativeRawSymbol::isOptimizedAway() const {627return false;628}629630bool NativeRawSymbol::isPacked() const {631return false;632}633634bool NativeRawSymbol::isPointerBasedOnSymbolValue() const {635return false;636}637638bool NativeRawSymbol::isPointerToDataMember() const {639return false;640}641642bool NativeRawSymbol::isPointerToMemberFunction() const {643return false;644}645646bool NativeRawSymbol::isPureVirtual() const {647return false;648}649650bool NativeRawSymbol::isRValueReference() const {651return false;652}653654bool NativeRawSymbol::isRefUdt() const {655return false;656}657658bool NativeRawSymbol::isReference() const {659return false;660}661662bool NativeRawSymbol::isRestrictedType() const {663return false;664}665666bool NativeRawSymbol::isReturnValue() const {667return false;668}669670bool NativeRawSymbol::isSafeBuffers() const {671return false;672}673674bool NativeRawSymbol::isScoped() const {675return false;676}677678bool NativeRawSymbol::isSdl() const {679return false;680}681682bool NativeRawSymbol::isSingleInheritance() const {683return false;684}685686bool NativeRawSymbol::isSplitted() const {687return false;688}689690bool NativeRawSymbol::isStatic() const {691return false;692}693694bool NativeRawSymbol::hasPrivateSymbols() const {695return false;696}697698bool NativeRawSymbol::isUnalignedType() const {699return false;700}701702bool NativeRawSymbol::isUnreached() const {703return false;704}705706bool NativeRawSymbol::isValueUdt() const {707return false;708}709710bool NativeRawSymbol::isVirtual() const {711return false;712}713714bool NativeRawSymbol::isVirtualBaseClass() const {715return false;716}717718bool NativeRawSymbol::isVirtualInheritance() const {719return false;720}721722bool NativeRawSymbol::isVolatileType() const {723return false;724}725726bool NativeRawSymbol::wasInlined() const {727return false;728}729730std::string NativeRawSymbol::getUnused() const {731return {};732}733734735