|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
Class which represents a DEX Class (i.e. a Java/Kotlin class). More...
#include <Class.hpp>


Public Types | |
| using | access_flags_list_t = std::vector<ACCESS_FLAGS> |
| using | methods_t = std::vector<Method*> |
| using | it_methods = ref_iterator<methods_t&> |
| using | it_const_methods = const_ref_iterator<const methods_t&> |
| using | fields_t = std::vector<Field*> |
| using | it_fields = ref_iterator<fields_t&> |
| using | it_const_fields = const_ref_iterator<const fields_t&> |
| using | it_named_methods = filter_iterator<methods_t&> |
| using | it_const_named_methods = const_filter_iterator<const methods_t&> |
| using | it_named_fields = filter_iterator<fields_t&> |
| using | it_const_named_fields = const_filter_iterator<const fields_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 | |
| Class () | |
| Class (const Class &)=delete | |
| Class & | operator= (const Class &)=delete |
| Class (std::string fullname, uint32_t access_flags=ACCESS_FLAGS::ACC_UNKNOWN, Class *parent=nullptr, std::string source_filename="") | |
| const std::string & | fullname () const |
| Mangled class name (e.g. Lcom/example/android/MyActivity;). | |
| std::string | package_name () const |
| Package Name. | |
| std::string | name () const |
| Class name. | |
| std::string | pretty_name () const |
| Demangled class name. | |
| bool | has (ACCESS_FLAGS f) const |
| Check if the class has the given access flag. | |
| access_flags_list_t | access_flags () const |
| Access flags used by this class. | |
| const std::string & | source_filename () const |
| Filename associated with this class (if any). | |
| bool | has_parent () const |
| True if the current class extends another one. | |
| const Class * | parent () const |
| Parent class. | |
| Class * | parent () |
| it_const_methods | methods () const |
| Methods implemented in this class. | |
| it_methods | methods () |
| it_named_methods | methods (const std::string &name) |
| Return Methods having the given name. | |
| it_const_named_methods | methods (const std::string &name) const |
| it_const_fields | fields () const |
| Fields implemented in this class. | |
| it_fields | fields () |
| it_named_fields | fields (const std::string &name) |
| Return Fields having the given name. | |
| it_const_named_fields | fields (const std::string &name) const |
| dex2dex_class_info_t | dex2dex_info () const |
| De-optimize information. | |
| size_t | index () const |
| Original index in the DEX class pool. | |
| void | accept (Visitor &visitor) const override |
| ~Class () 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 () |
Static Public Member Functions | |
| static std::string | package_normalized (const std::string &pkg_name) |
| static std::string | fullname_normalized (const std::string &pkg_cls) |
| static std::string | fullname_normalized (const std::string &pkg, const std::string &cls_name) |
| using LIEF::DEX::Class::access_flags_list_t = std::vector<ACCESS_FLAGS> |
| using LIEF::DEX::Class::fields_t = std::vector<Field*> |
| using LIEF::DEX::Class::it_const_fields = const_ref_iterator<const fields_t&> |
| using LIEF::DEX::Class::it_const_methods = const_ref_iterator<const methods_t&> |
| using LIEF::DEX::Class::it_const_named_fields = const_filter_iterator<const fields_t&> |
| using LIEF::DEX::Class::it_const_named_methods = const_filter_iterator<const methods_t&> |
| using LIEF::DEX::Class::it_fields = ref_iterator<fields_t&> |
| using LIEF::DEX::Class::methods_t = std::vector<Method*> |
| LIEF::DEX::Class::Class | ( | ) |
Referenced by Class(), Class(), operator<<, operator=(), parent(), parent(), and ~Class().
| LIEF::DEX::Class::Class | ( | std::string | fullname, |
| uint32_t | access_flags = ACCESS_FLAGS::ACC_UNKNOWN, | ||
| Class * | parent = nullptr, | ||
| std::string | source_filename = "" ) |
References LIEF::DEX::ACC_UNKNOWN, access_flags(), Class(), fullname(), parent(), and source_filename().
|
override |
References LIEF::DEX::ACC_UNKNOWN, and Class().
|
overridevirtual |
Implements LIEF::Object.
| access_flags_list_t LIEF::DEX::Class::access_flags | ( | ) | const |
Access flags used by this class.
Referenced by Class().
| dex2dex_class_info_t LIEF::DEX::Class::dex2dex_info | ( | ) | const |
De-optimize information.
| it_fields LIEF::DEX::Class::fields | ( | ) |
| it_const_fields LIEF::DEX::Class::fields | ( | ) | const |
Fields implemented in this class.
| it_named_fields LIEF::DEX::Class::fields | ( | const std::string & | name | ) |
Return Fields having the given name.
References name().
| it_const_named_fields LIEF::DEX::Class::fields | ( | const std::string & | name | ) | const |
References name().
| const std::string & LIEF::DEX::Class::fullname | ( | ) | const |
Mangled class name (e.g. Lcom/example/android/MyActivity;).
Referenced by Class().
|
static |
|
static |
| bool LIEF::DEX::Class::has | ( | ACCESS_FLAGS | f | ) | const |
Check if the class has the given access flag.
| bool LIEF::DEX::Class::has_parent | ( | ) | const |
True if the current class extends another one.
| size_t LIEF::DEX::Class::index | ( | ) | const |
Original index in the DEX class pool.
| it_methods LIEF::DEX::Class::methods | ( | ) |
| it_const_methods LIEF::DEX::Class::methods | ( | ) | const |
Methods implemented in this class.
| it_named_methods LIEF::DEX::Class::methods | ( | const std::string & | name | ) |
Return Methods having the given name.
References name().
| it_const_named_methods LIEF::DEX::Class::methods | ( | const std::string & | name | ) | const |
References name().
| std::string LIEF::DEX::Class::name | ( | ) | const |
| std::string LIEF::DEX::Class::package_name | ( | ) | const |
Package Name.
|
static |
| const Class * LIEF::DEX::Class::parent | ( | ) | const |
| std::string LIEF::DEX::Class::pretty_name | ( | ) | const |
Demangled class name.
| const std::string & LIEF::DEX::Class::source_filename | ( | ) | const |
Filename associated with this class (if any).
Referenced by Class().