llvm/lldb/source/Plugins/ObjectFile/PECOFF/PECallFrameInfo.cpp

#include "PECallFrameInfo.h"

#include "ObjectFilePECOFF.h"

#include "Plugins/Process/Utility/lldb-x86-register-enums.h"
#include "lldb/Symbol/UnwindPlan.h"
#include "llvm/Support/Win64EH.h"

usingnamespacelldb;
usingnamespacelldb_private;
usingnamespacellvm::Win64EH;

template <typename T>
static const T *TypedRead(const DataExtractor &data_extractor, offset_t &offset,
                          offset_t size = sizeof(T)) {}

struct EHInstruction {};

EHProgram;

class UnwindCodesIterator {};

UnwindCodesIterator::UnwindCodesIterator(ObjectFilePECOFF &object_file,
                                         uint32_t unwind_info_rva)
    :{}

bool UnwindCodesIterator::GetNext() {}

class EHProgramBuilder {};

EHProgramBuilder::EHProgramBuilder(ObjectFilePECOFF &object_file,
                                   uint32_t unwind_info_rva)
    :{}

bool EHProgramBuilder::Build() {}

uint32_t EHProgramBuilder::ConvertMachineToLLDBRegister(uint8_t machine_reg) {}

uint32_t EHProgramBuilder::ConvertXMMToLLDBRegister(uint8_t xmm_reg) {}

bool EHProgramBuilder::ProcessUnwindCode(UnwindCode code) {}

void EHProgramBuilder::Finalize() {}

bool EHProgramBuilder::ParseBigOrScaledFrameOffset(uint32_t &result, bool big,
                                                   uint32_t scale) {}

bool EHProgramBuilder::ParseBigFrameOffset(uint32_t &result) {}

bool EHProgramBuilder::ParseFrameOffset(uint32_t &result) {}

class EHProgramRange {};

EHProgramRange::EHProgramRange(EHProgram::const_iterator begin,
                               EHProgram::const_iterator end)
    :{}

std::unique_ptr<UnwindPlan::Row> EHProgramRange::BuildUnwindPlanRow() const {}

int32_t EHProgramRange::GetCFAFrameOffset() const {}

PECallFrameInfo::PECallFrameInfo(ObjectFilePECOFF &object_file,
                                 uint32_t exception_dir_rva,
                                 uint32_t exception_dir_size)
    :{}

bool PECallFrameInfo::GetAddressRange(Address addr, AddressRange &range) {}

bool PECallFrameInfo::GetUnwindPlan(const Address &addr,
                                    UnwindPlan &unwind_plan) {}

bool PECallFrameInfo::GetUnwindPlan(const AddressRange &range,
                                    UnwindPlan &unwind_plan) {}

const RuntimeFunction *PECallFrameInfo::FindRuntimeFunctionIntersectsWithRange(
    const AddressRange &range) const {}