|
LIEF: Library to Instrument Executable Formats Version 1.0.0
|
This class represents an Objective-C class (@interface). More...
#include <Class.hpp>
Classes | |
| class | Iterator |
Public Types | |
| using | methods_t = iterator_range<Method::Iterator> |
| Iterator for the class's methods. | |
| using | protocols_t = iterator_range<Protocol::Iterator> |
| Iterator for the protocols implemented by this class. | |
| using | properties_t = iterator_range<Property::Iterator> |
| Iterator for the properties declared by this class. | |
| using | ivars_t = iterator_range<IVar::Iterator> |
| Iterator for the instance variables defined by this class. | |
Public Member Functions | |
| Class (std::unique_ptr< details::Class > impl) | |
| std::string | name () const |
| Name of the class. | |
| std::string | demangled_name () const |
| Demangled name of the class. | |
| std::unique_ptr< Class > | super_class () const |
| Parent class in case of inheritance. | |
| std::string | super_name () const |
| (raw) name of the superclass (empty for root classes or when it could not be resolved). | |
| std::string | demangled_super_name () const |
| Demangled name of the superclass. | |
| bool | is_meta () const |
| methods_t | methods () const |
| Iterator over the different methods defined by this class. | |
| protocols_t | protocols () const |
| Iterator over the different protocols implemented by this class. | |
| properties_t | properties () const |
| Iterator over the properties of this class. | |
| ivars_t | ivars () const |
| Iterator over the different instance variables defined in this class. | |
| std::string | to_decl (const DeclOpt &opt=DeclOpt()) const |
| Generate a header-like string for this specific class. | |
| ~Class () | |
This class represents an Objective-C class (@interface).
Iterator for the instance variables defined by this class.
Iterator for the class's methods.
Iterator for the properties declared by this class.
Iterator for the protocols implemented by this class.
| LIEF::objc::Class::Class | ( | std::unique_ptr< details::Class > | impl | ) |
Referenced by LIEF::objc::Class::Iterator::operator*(), LIEF::objc::Class::Iterator::operator->(), and ~Class().
| LIEF::objc::Class::~Class | ( | ) |
References Class().
| std::string LIEF::objc::Class::demangled_name | ( | ) | const |
Demangled name of the class.
| std::string LIEF::objc::Class::demangled_super_name | ( | ) | const |
Demangled name of the superclass.
References demangled_super_name().
Referenced by demangled_super_name().
| ivars_t LIEF::objc::Class::ivars | ( | ) | const |
Iterator over the different instance variables defined in this class.
References ivars(), and LIEF_LIFETIMEBOUND.
Referenced by ivars().
| methods_t LIEF::objc::Class::methods | ( | ) | const |
Iterator over the different methods defined by this class.
References LIEF_LIFETIMEBOUND, and methods().
Referenced by methods().
| std::string LIEF::objc::Class::name | ( | ) | const |
Name of the class.
| properties_t LIEF::objc::Class::properties | ( | ) | const |
Iterator over the properties of this class.
References LIEF_LIFETIMEBOUND, and properties().
Referenced by properties().
| protocols_t LIEF::objc::Class::protocols | ( | ) | const |
Iterator over the different protocols implemented by this class.
References LIEF_LIFETIMEBOUND, and protocols().
Referenced by protocols().
| std::unique_ptr< Class > LIEF::objc::Class::super_class | ( | ) | const |
Parent class in case of inheritance.
This returns the superclass object only when it is defined in the same binary. For root classes (e.g. NSObject) or superclasses imported from another image, it returns a null pointer even though the name can still be resolved through super_name() / demangled_super_name().
References LIEF_LIFETIMEBOUND.
| std::string LIEF::objc::Class::super_name | ( | ) | const |
(raw) name of the superclass (empty for root classes or when it could not be resolved).
References super_name().
Referenced by super_name().