Specification of the class analysis, this class contains fields, strings, methods...
More...
|
| ClassAnalysis (std::variant< ClassDef *, ExternalClass * > class_def) |
|
void | add_method (MethodAnalysis *method_analysis) |
| add a method to the current class
|
|
size_t | get_nb_methods () const |
|
size_t | get_nb_fields () const |
|
std::variant< ClassDef *, ExternalClass * > | get_class_definition () const |
| Get the class definition object.
|
|
bool | is_class_external () const |
| Is the current class an external class?
|
|
std::string & | extends () const |
|
std::string & | name () const |
|
std::vector< DVMClass * > & | implements () |
| Return a vector of implemented interfaces, in the case of external class raise exception.
|
|
const std::unordered_map< std::string, MethodAnalysis * > & | get_methods () const |
| get a constant reference to the methods
|
|
std::unordered_map< std::string, MethodAnalysis * > & | get_methods () |
| get a reference to the methods
|
|
const std::unordered_map< EncodedField *, std::unique_ptr< FieldAnalysis > > & | get_fields () const |
|
std::unordered_map< EncodedField *, std::unique_ptr< FieldAnalysis > > & | get_fields () |
|
MethodAnalysis * | get_method_analysis (std::variant< EncodedMethod *, ExternalMethod * > method) |
| Given an Encoded or ExternalMethod returns a MethodAnalysis pointer.
|
|
FieldAnalysis * | get_field_analysis (EncodedField *field) |
| Given an encoded field return a FieldAnalysis pointer.
|
|
void | add_field_xref_read (MethodAnalysis *method, ClassAnalysis *classobj, EncodedField *field, std::uint64_t off) |
|
void | add_field_xref_write (MethodAnalysis *method, ClassAnalysis *classobj, EncodedField *field, std::uint64_t off) |
|
void | add_method_xref_to (MethodAnalysis *method1, ClassAnalysis *classobj, MethodAnalysis *method2, std::uint64_t off) |
|
void | add_method_xref_from (MethodAnalysis *method1, ClassAnalysis *classobj, MethodAnalysis *method2, std::uint64_t off) |
|
void | add_xref_to (TYPES::REF_TYPE ref_kind, ClassAnalysis *classobj, MethodAnalysis *methodobj, std::uint64_t offset) |
|
void | add_xref_from (TYPES::REF_TYPE ref_kind, ClassAnalysis *classobj, MethodAnalysis *methodobj, std::uint64_t offset) |
|
void | add_xref_new_instance (MethodAnalysis *methodobj, std::uint64_t offset) |
|
void | add_xref_const_class (MethodAnalysis *methodobj, std::uint64_t offset) |
|
const classxref & | get_xrefto () const |
|
classxref & | get_xrefto () |
|
const classxref & | get_xreffrom () const |
|
classxref & | get_xreffrom () |
|
const std::vector< std::pair< MethodAnalysis *, std::uint64_t > > | get_xrefnewinstance () const |
|
std::vector< std::pair< MethodAnalysis *, std::uint64_t > > | get_xrefnewinstance () |
|
const std::vector< std::pair< MethodAnalysis *, std::uint64_t > > | get_xrefconstclass () const |
|
std::vector< std::pair< MethodAnalysis *, std::uint64_t > > | get_xrefconstclass () |
|
Specification of the class analysis, this class contains fields, strings, methods...