LIEF: Library to Instrument Executable Formats Version 0.16.0
|
Class which represents a DEX::Method. More...
#include <Method.hpp>
Public Types | |
using | access_flags_list_t = std::vector<ACCESS_FLAGS> |
using | bytecode_t = std::vector<uint8_t> |
Public Types inherited from LIEF::Object | |
template<class T > | |
using | output_t = add_pointer_t<decay_t<T>> |
template<class T > | |
using | output_const_t = add_pointer_t<add_const_t<decay_t<T>>> |
Public Member Functions | |
Method () | |
Method (std::string name, Class *parent=nullptr) | |
Method (const Method &) | |
Method & | operator= (const Method &) |
const std::string & | name () const |
Name of the Method. | |
bool | has_class () const |
True if a class is associated with this method. | |
const Class * | cls () const |
DEX::Class associated with this Method or a nullptr if not resolved. | |
Class * | cls () |
uint64_t | code_offset () const |
Offset to the Dalvik Bytecode. | |
const bytecode_t & | bytecode () const |
Dalvik Bytecode as bytes. | |
size_t | index () const |
Index in the DEX Methods pool. | |
bool | is_virtual () const |
True if this method is a virtual one. i.e. not static, private, finale or constructor. | |
const Prototype * | prototype () const |
Method's prototype or a nullptr if it is not resolved. | |
Prototype * | prototype () |
void | insert_dex2dex_info (uint32_t pc, uint32_t index) |
void | accept (Visitor &visitor) const override |
const dex2dex_method_info_t & | dex2dex_info () const |
bool | has (ACCESS_FLAGS f) const |
Check if the current method has the given ACCESS_FLAGS. | |
access_flags_list_t | access_flags () const |
ACCESS_FLAGS as an std::set. | |
~Method () override | |
Public Member Functions inherited from LIEF::Object | |
Object () | |
Object (const Object &other) | |
Object & | operator= (const Object &other) |
template<class T > | |
output_t< T > | as () |
template<class T > | |
output_const_t< T > | as () const |
virtual bool | operator== (const Object &other) const |
virtual bool | operator!= (const Object &other) const |
virtual | ~Object () |
Class which represents a DEX::Method.
using LIEF::DEX::Method::access_flags_list_t = std::vector<ACCESS_FLAGS> |
using LIEF::DEX::Method::bytecode_t = std::vector<uint8_t> |
LIEF::DEX::Method::Method | ( | ) |
LIEF::DEX::Method::Method | ( | std::string | name, |
Class * | parent = nullptr ) |
LIEF::DEX::Method::Method | ( | const Method & | ) |
|
override |
|
overridevirtual |
Implements LIEF::Object.
access_flags_list_t LIEF::DEX::Method::access_flags | ( | ) | const |
ACCESS_FLAGS as an std::set.
const bytecode_t & LIEF::DEX::Method::bytecode | ( | ) | const |
Dalvik Bytecode as bytes.
Class * LIEF::DEX::Method::cls | ( | ) |
const Class * LIEF::DEX::Method::cls | ( | ) | const |
DEX::Class associated with this Method or a nullptr if not resolved.
uint64_t LIEF::DEX::Method::code_offset | ( | ) | const |
Offset to the Dalvik Bytecode.
const dex2dex_method_info_t & LIEF::DEX::Method::dex2dex_info | ( | ) | const |
bool LIEF::DEX::Method::has | ( | ACCESS_FLAGS | f | ) | const |
Check if the current method has the given ACCESS_FLAGS.
bool LIEF::DEX::Method::has_class | ( | ) | const |
True if a class is associated with this method.
size_t LIEF::DEX::Method::index | ( | ) | const |
Index in the DEX Methods pool.
void LIEF::DEX::Method::insert_dex2dex_info | ( | uint32_t | pc, |
uint32_t | index ) |
bool LIEF::DEX::Method::is_virtual | ( | ) | const |
True if this method is a virtual one. i.e. not static, private, finale or constructor.
const std::string & LIEF::DEX::Method::name | ( | ) | const |
Name of the Method.
Prototype * LIEF::DEX::Method::prototype | ( | ) |
const Prototype * LIEF::DEX::Method::prototype | ( | ) | const |
Method's prototype or a nullptr if it is not resolved.