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)
 
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 ( )

◆ Field() [2/3]

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

◆ Field() [3/3]

LIEF::DEX::Field::Field ( const 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.

◆ operator=()

Field & LIEF::DEX::Field::operator= ( const 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: