16#ifndef LIEF_DEX_TYPE_H
17#define LIEF_DEX_TYPE_H
63 Type(
const std::string& mangled);
101 void parse(
const std::string& type);
103 TYPES type_{TYPES::UNKNOWN};
Class which represents a DEX Class (i.e. a Java/Kotlin class)
Definition DEX/Class.hpp:35
Class which parses a DEX file to produce a DEX::File object.
Definition DEX/Parser.hpp:38
Class which represents a DEX type as described in the format specifications: https://source....
Definition DEX/Type.hpp:33
Class & cls()
IF the current type is a TYPES::CLASS, return the associated DEX::CLASS. Otherwise the returned value...
const PRIMITIVES & primitive() const
PRIMITIVES
Definition DEX/Type.hpp:44
size_t dim() const
Return the array dimension if the current type is an array. Otherwise it returns 0.
void accept(Visitor &visitor) const override
Type(const std::string &mangled)
array_t * array_
Definition DEX/Type.hpp:106
std::vector< Type > array_t
Definition DEX/Type.hpp:56
const Type & underlying_array_type() const
In the case of a TYPES::ARRAY, return the array's type.
PRIMITIVES & primitive()
IF the current type is a TYPES::PRIMITIVE, return the associated PRIMITIVES. Otherwise the returned v...
array_t & array()
IF the current type is a TYPES::ARRAY, return the associated array. Otherwise the returned value is u...
friend std::ostream & operator<<(std::ostream &os, const Type &type)
PRIMITIVES * basic_
Definition DEX/Type.hpp:107
const Class & cls() const
static std::string pretty_name(PRIMITIVES p)
Type & underlying_array_type()
const array_t & array() const
TYPES
Definition DEX/Type.hpp:37
TYPES type() const
Whether it is a primitive type, a class, ...
Definition Visitor.hpp:224
LIEF namespace.
Definition Abstract/Binary.hpp:32
#define LIEF_API
Definition visibility.h:41