7 #ifndef RETDEC_BIN2LLVMIR_OPTIMIZATIONS_DECODER_JUMP_TARGETS_H
8 #define RETDEC_BIN2LLVMIR_OPTIMIZATIONS_DECODER_JUMP_TARGETS_H
63 std::optional<std::size_t> sz = std::nullopt);
69 std::optional<std::size_t>
getSize()
const;
81 std::optional<std::size_t>
_size;
87 mutable cs_mode
_mode = CS_MODE_BIG_ENDIAN;
103 std::size_t
size()
const;
113 std::optional<std::size_t> sz = std::nullopt);
x86 specialization of translator's abstract public interface.
Common public interface for translators converting bytes to LLVM IR.
Definition: jump_targets.h:27
friend std::ostream & operator<<(std::ostream &out, const JumpTarget &jt)
Definition: jump_targets.cpp:102
eType _type
Definition: jump_targets.h:83
eType getType() const
Definition: jump_targets.cpp:82
eType
Definition: jump_targets.h:34
@ CONTROL_FLOW_RETURN_TARGET
@ CONTROL_FLOW_SWITCH_CASE
@ CONTROL_FLOW_CALL_TARGET
static Config * config
Definition: jump_targets.h:90
std::optional< std::size_t > _size
Definition: jump_targets.h:81
bool operator<(const JumpTarget &o) const
Definition: jump_targets.cpp:48
JumpTarget()
Definition: jump_targets.cpp:23
bool hasSize() const
Definition: jump_targets.cpp:72
retdec::common::Address getAddress() const
Definition: jump_targets.cpp:67
cs_mode getMode() const
Definition: jump_targets.cpp:92
cs_mode _mode
Disassembler mode that should be used for this jump target.
Definition: jump_targets.h:87
retdec::common::Address getFromAddress() const
Definition: jump_targets.cpp:87
retdec::common::Address _address
Definition: jump_targets.h:79
std::optional< std::size_t > getSize() const
Definition: jump_targets.cpp:77
void setMode(cs_mode m) const
Definition: jump_targets.cpp:97
retdec::common::Address _fromAddress
Address from which this jump target was created.
Definition: jump_targets.h:85
Definition: jump_targets.h:97
friend std::ostream & operator<<(std::ostream &out, const JumpTargets &jts)
Definition: jump_targets.cpp:258
static Config * config
Definition: jump_targets.h:121
const JumpTarget & top()
Definition: jump_targets.cpp:238
const JumpTarget * push(retdec::common::Address a, JumpTarget::eType t, cs_mode m, retdec::common::Address f, std::optional< std::size_t > sz=std::nullopt)
Definition: jump_targets.cpp:183
std::size_t size() const
Definition: jump_targets.cpp:223
bool empty()
Definition: jump_targets.cpp:233
auto begin()
Definition: jump_targets.cpp:248
auto end()
Definition: jump_targets.cpp:253
void pop()
Definition: jump_targets.cpp:243
void clear()
Definition: jump_targets.cpp:228
std::set< JumpTarget > _data
Definition: jump_targets.h:118
Address, address pair and other derived class representation.
Decode input binary into LLVM IR.
The frontend-end part of the decompiler.
Definition: archive_wrapper.h:19