LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::DEX::Field Class Reference

Class which represent a DEX Field. More...

#include <Field.hpp>

Inheritance diagram for LIEF::DEX::Field:
Collaboration diagram for LIEF::DEX::Field:

Public Types

using access_flags_list_t = std::vector<ACCESS_FLAGS>
Public Types inherited from LIEF::Object
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>>>

Public Member Functions

 Field ()
 Field (std::string name, Class *parent=nullptr)
 Field (const Field &)
Fieldoperator= (const Field &)
const std::string & name () const
 Name of the Field.
bool has_class () const
 True if a class is associated with this field (which should be the case).
const Classcls () const
 Class associated with this Field.
Classcls ()
size_t index () const
 Index in the DEX Fields pool.
bool is_static () const
 True if this field is a static one.
const Typetype () const
 Field's prototype.
Typetype ()
void accept (Visitor &visitor) const override
bool has (ACCESS_FLAGS f) const
 Check if the field has the given ACCESS_FLAGS.
access_flags_list_t access_flags () const
 ACCESS_FLAGS as a list.
 ~Field () override
Public Member Functions inherited from LIEF::Object
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
template<class T>
output_t< T > as ()
template<class T>
output_const_t< T > as () const
virtual bool operator== (const Object &other) const
virtual bool operator!= (const Object &other) const
virtual ~Object ()

Detailed Description

Class which represent a DEX Field.

Member Typedef Documentation

◆ access_flags_list_t

Constructor & Destructor Documentation

◆ Field() [1/3]

LIEF::DEX::Field::Field ( )

Referenced by Field(), operator<<, and operator=().

◆ Field() [2/3]

LIEF::DEX::Field::Field ( std::string name,
Class * parent = nullptr )

References name().

◆ Field() [3/3]

LIEF::DEX::Field::Field ( const Field & )

References Field().

◆ ~Field()

LIEF::DEX::Field::~Field ( )
override

Member Function Documentation

◆ accept()

void LIEF::DEX::Field::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ access_flags()

access_flags_list_t LIEF::DEX::Field::access_flags ( ) const

ACCESS_FLAGS as a list.

◆ cls() [1/2]

Class * LIEF::DEX::Field::cls ( )

◆ cls() [2/2]

const Class * LIEF::DEX::Field::cls ( ) const

Class associated with this Field.

◆ has()

bool LIEF::DEX::Field::has ( ACCESS_FLAGS f) const

Check if the field has the given ACCESS_FLAGS.

◆ has_class()

bool LIEF::DEX::Field::has_class ( ) const

True if a class is associated with this field (which should be the case).

◆ index()

size_t LIEF::DEX::Field::index ( ) const

Index in the DEX Fields pool.

◆ is_static()

bool LIEF::DEX::Field::is_static ( ) const

True if this field is a static one.

◆ name()

const std::string & LIEF::DEX::Field::name ( ) const

Name of the Field.

Referenced by Field().

◆ operator=()

Field & LIEF::DEX::Field::operator= ( const Field & )

References Field().

◆ type() [1/2]

Type * LIEF::DEX::Field::type ( )

◆ type() [2/2]

const Type * LIEF::DEX::Field::type ( ) const

Field's prototype.


The documentation for this class was generated from the following file: