39 using methods_t = std::vector<Method*>;
46 Class(OAT_CLASS_STATUS status, OAT_CLASS_TYPES type,
47 DEX::Class* dex_class, std::vector<uint32_t> bitmap = {});
52 bool has_dex_class()
const;
56 OAT_CLASS_STATUS status()
const;
57 OAT_CLASS_TYPES type()
const;
59 const std::string& fullname()
const;
65 const std::vector<uint32_t>& bitmap()
const;
68 bool is_quickened(uint32_t relative_index)
const;
70 uint32_t method_offsets_index(
const DEX::Method& m)
const;
71 uint32_t method_offsets_index(uint32_t relative_index)
const;
73 uint32_t relative_index(
const DEX::Method& m)
const;
74 uint32_t relative_index(uint32_t method_absolute_index)
const;
76 DEX::dex2dex_class_info_t dex2dex_info()
const;
78 void accept(
Visitor& visitor)
const override;
81 LIEF_API
friend std::ostream& operator<<(std::ostream& os,
const Class& cls);
89 OAT_CLASS_STATUS status_ = OAT_CLASS_STATUS::STATUS_NOTREADY;
90 OAT_CLASS_TYPES type_ = OAT_CLASS_TYPES::OAT_CLASS_NONE_COMPILED;
92 std::vector<uint32_t> method_bitmap_;