#include "gtest/gtest.h"
#include <vector>
#include "Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.h"
#include "lldb/Core/Address.h"
#include "lldb/Core/AddressRange.h"
#include "lldb/Symbol/UnwindPlan.h"
#include "lldb/Target/UnwindAssembly.h"
#include "lldb/Utility/ArchSpec.h"
#include "Plugins/Disassembler/LLVMC/DisassemblerLLVMC.h"
#include "Plugins/Instruction/ARM64/EmulateInstructionARM64.h"
#include "Plugins/Process/Utility/lldb-arm64-register-enums.h"
#include "llvm/Support/TargetSelect.h"
usingnamespacelldb;
usingnamespacelldb_private;
class TestArm64InstEmulation : public testing::Test { … };
void TestArm64InstEmulation::SetUpTestCase() { … }
void TestArm64InstEmulation::TearDownTestCase() { … }
TEST_F(TestArm64InstEmulation, TestSimpleDarwinFunction) { … }
TEST_F(TestArm64InstEmulation, TestMediumDarwinFunction) { … }
TEST_F(TestArm64InstEmulation, TestFramelessThreeEpilogueFunction) { … }
TEST_F(TestArm64InstEmulation, TestRegisterSavedTwice) { … }
TEST_F(TestArm64InstEmulation, TestRegisterDoubleSpills) { … }
TEST_F(TestArm64InstEmulation, TestCFARegisterTrackedAcrossJumps) { … }
TEST_F(TestArm64InstEmulation, TestCFAResetToSP) { … }