Class which represents a DEX type as described in the format specifications: https://source.android.com/devices/tech/dalvik/dex-format#typedescriptor.
More...
#include <Type.hpp>
|
enum class | TYPES { UNKNOWN = 0
, PRIMITIVE = 1
, CLASS = 2
, ARRAY = 3
} |
|
enum class | PRIMITIVES {
VOID_T = 0x01
, BOOLEAN = 0x02
, BYTE = 0x03
, SHORT = 0x04
,
CHAR = 0x05
, INT = 0x06
, LONG = 0x07
, FLOAT = 0x08
,
DOUBLE = 0x09
} |
|
using | array_t = std::vector<Type> |
|
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>>> |
|
◆ array_t
◆ PRIMITIVES
Enumerator |
---|
VOID_T | |
BOOLEAN | |
BYTE | |
SHORT | |
CHAR | |
INT | |
LONG | |
FLOAT | |
DOUBLE | |
◆ TYPES
Enumerator |
---|
UNKNOWN | |
PRIMITIVE | |
CLASS | |
ARRAY | |
◆ Type() [1/3]
LIEF::DEX::Type::Type |
( |
| ) |
|
◆ Type() [2/3]
LIEF::DEX::Type::Type |
( |
const std::string & | mangled | ) |
|
◆ Type() [3/3]
LIEF::DEX::Type::Type |
( |
const Type & | other | ) |
|
◆ ~Type()
LIEF::DEX::Type::~Type |
( |
| ) |
|
|
override |
◆ accept()
void LIEF::DEX::Type::accept |
( |
Visitor & | visitor | ) |
const |
|
overridevirtual |
◆ array() [1/2]
array_t & LIEF::DEX::Type::array |
( |
| ) |
|
IF the current type is a TYPES::ARRAY, return the associated array. Otherwise the returned value is undefined.
◆ array() [2/2]
const array_t & LIEF::DEX::Type::array |
( |
| ) |
const |
◆ cls() [1/2]
Class & LIEF::DEX::Type::cls |
( |
| ) |
|
IF the current type is a TYPES::CLASS, return the associated DEX::CLASS. Otherwise the returned value is undefined.
◆ cls() [2/2]
const Class & LIEF::DEX::Type::cls |
( |
| ) |
const |
◆ dim()
size_t LIEF::DEX::Type::dim |
( |
| ) |
const |
Return the array dimension if the current type is an array. Otherwise it returns 0.
◆ pretty_name()
static std::string LIEF::DEX::Type::pretty_name |
( |
PRIMITIVES | p | ) |
|
|
static |
◆ primitive() [1/2]
IF the current type is a TYPES::PRIMITIVE, return the associated PRIMITIVES. Otherwise the returned value is undefined.
◆ primitive() [2/2]
const PRIMITIVES & LIEF::DEX::Type::primitive |
( |
| ) |
const |
◆ type()
TYPES LIEF::DEX::Type::type |
( |
| ) |
const |
Whether it is a primitive type, a class, ...
◆ underlying_array_type() [1/2]
Type & LIEF::DEX::Type::underlying_array_type |
( |
| ) |
|
◆ underlying_array_type() [2/2]
const Type & LIEF::DEX::Type::underlying_array_type |
( |
| ) |
const |
◆ array_
◆ basic_
◆ cls_
Class* LIEF::DEX::Type::cls_ {nullptr} |
The documentation for this class was generated from the following file: