public class

DexConstantLibrary

extends Object
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.android.DexConstantLibrary

Class Overview

A manager for constant and pseudo-constant fields of a dex unit.

Summary

Public Constructors
DexConstantLibrary(IDexUnit dex)
Public Methods
Collection<Integer> getFieldIndices(Object value)
Retrieve all fields with the provided value.
boolean setValue(Object value, int fieldIndex)
Record a field constant (for an internal static final field) or a pseudo constant (attached to an external field reference).
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public DexConstantLibrary (IDexUnit dex)

Public Methods

public Collection<Integer> getFieldIndices (Object value)

Retrieve all fields with the provided value.

Parameters
value a non-null value (must be a byte, char, short, int, long, float or double)
Returns
  • a collection of dex field indices, possibly empty

public boolean setValue (Object value, int fieldIndex)

Record a field constant (for an internal static final field) or a pseudo constant (attached to an external field reference).

Parameters
value a non-null value (must be a byte, char, short, int, long, float or double)
fieldIndex a field index, which can be:
- a static final field index initialized to the provided value (note that the dex unit is responsible for setting those up; clients do not need to do that, unless a constant is to be forcefully changed to another value)
- or any index to a pure field reference (external field) for whom a value is to be attached
Returns
  • true if the value was recorded