You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
537 B
23 lines
537 B
3 years ago
|
#pragma once
|
||
|
#include <map>
|
||
|
#include <string>
|
||
|
#include <vector>
|
||
|
|
||
|
#include "symbol.hpp"
|
||
|
|
||
|
namespace theo::decomp {
|
||
|
class routine {
|
||
|
public:
|
||
|
explicit routine(coff::section_header_t scn_hdr,
|
||
|
std::vector<std::uint8_t>& rtn_data);
|
||
|
|
||
|
std::vector<decomp::symbol_t> syms();
|
||
|
coff::section_header_t scn_hdr();
|
||
|
std::vector<std::uint8_t> data();
|
||
|
private:
|
||
|
void decompose();
|
||
|
std::vector<std::uint8_t> m_data;
|
||
|
std::vector<decomp::symbol_t> m_orig_syms;
|
||
|
coff::section_header_t m_scn_hdr;
|
||
|
};
|
||
|
} // namespace theo::decomp
|