16#ifndef LIEF_OAT_CLASS_H
17#define LIEF_OAT_CLASS_H
40 using methods_t = std::vector<Method*>;
41 using it_methods = ref_iterator<methods_t&>;
42 using it_const_methods = const_ref_iterator<const methods_t&>;
47 Class(OAT_CLASS_STATUS status, OAT_CLASS_TYPES type,
48 DEX::Class* dex_class, std::vector<uint32_t> bitmap = {});
66 const std::vector<uint32_t>&
bitmap()
const;
79 void accept(Visitor& visitor)
const override;
88 DEX::Class* dex_class_ =
nullptr;
93 std::vector<uint32_t> method_bitmap_;
Class which represents a DEX Class (i.e. a Java/Kotlin class)
Definition DEX/Class.hpp:36
Definition OAT/Class.hpp:36
OAT_CLASS_TYPES type() const
bool is_quickened(uint32_t relative_index) const
uint32_t method_offsets_index(const DEX::Method &m) const
uint32_t method_offsets_index(uint32_t relative_index) const
uint32_t relative_index(const DEX::Method &m) const
Class & operator=(const Class &)
void accept(Visitor &visitor) const override
const std::vector< uint32_t > & bitmap() const
bool is_quickened(const DEX::Method &m) const
OAT_CLASS_STATUS status() const
DEX::dex2dex_class_info_t dex2dex_info() const
uint32_t relative_index(uint32_t method_absolute_index) const
const DEX::Class * dex_class() const
it_const_methods methods() const
const std::string & fullname() const
Class(OAT_CLASS_STATUS status, OAT_CLASS_TYPES type, DEX::Class *dex_class, std::vector< uint32_t > bitmap={})
friend std::ostream & operator<<(std::ostream &os, const Class &cls)
bool has_dex_class() const
Definition OAT/Method.hpp:34
Class to parse an OAT file to produce an OAT::Binary.
Definition OAT/Parser.hpp:38
Definition DEX/Class.hpp:30
Definition ELF/Parser.hpp:32
OAT_CLASS_TYPES
Definition OAT/enums.hpp:22
OAT_CLASS_STATUS
Definition OAT/enums.hpp:29
LIEF namespace.
Definition Abstract/Binary.hpp:36
#define LIEF_API
Definition visibility.h:41