|
LIEF: Library to Instrument Executable Formats Version 1.0.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. | |
| const CodeInfo & | code_info () const |
| ~Method () override | |
| Public Member Functions inherited from LIEF::Object | |
| Object () | |
| Object (const Object &other) | |
| Object & | operator= (const Object &other) |
| Object (Object &&other) noexcept=default | |
| Object & | operator= (Object &&other) noexcept=default |
| 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 | ( | ) |
Referenced by Method(), operator<<, and operator=().
|
override |
References LIEF::DEX::ACC_UNKNOWN.
|
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.
| const CodeInfo & LIEF::DEX::Method::code_info | ( | ) | const |
| 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.
Referenced by insert_dex2dex_info().
| void LIEF::DEX::Method::insert_dex2dex_info | ( | uint32_t | pc, |
| uint32_t | index ) |
References index().
| bool LIEF::DEX::Method::is_virtual | ( | ) | const |
True if this method is a virtual one. i.e. not static, private, finale or constructor.
| Prototype * LIEF::DEX::Method::prototype | ( | ) |
| const Prototype * LIEF::DEX::Method::prototype | ( | ) | const |
Method's prototype or a nullptr if it is not resolved.