Interface IDexField
- All Superinterfaces:
ICodeField
,ICodeItem
,IDexItem
This interface represents a Dex
field_id_item
object, that is, a reference to an
internal or external field used in the dex. Retrieved via IDexUnit
.-
Field Summary
Fields inherited from interface com.pnfsoftware.jeb.core.units.code.ICodeItem
FLAG_ABSTRACT, FLAG_ANNOTATION, FLAG_ANONYMOUS, FLAG_ARTIFICIAL, FLAG_BRIDGE, FLAG_CONSTRUCTOR, FLAG_DECLARED_SYNCHRONIZED, FLAG_DESTRUCTOR, FLAG_ENUM, FLAG_FINAL, FLAG_INNER, FLAG_INTERFACE, FLAG_INTERNAL, FLAG_NATIVE, FLAG_PRIVATE, FLAG_PROTECTED, FLAG_PUBLIC, FLAG_STATIC, FLAG_STRICT, FLAG_SYNCHRONIZED, FLAG_SYNTHETIC, FLAG_TRANSIENT, FLAG_VARARGS, FLAG_VIRTUAL, FLAG_VOLATILE
-
Method Summary
Modifier and TypeMethodDescriptionGet the type of the class holding this field.int
Get the containing class type index.getClassTypeSignature
(boolean effective) getData()
Get a reference to the field definition, if the field is internal.Get the field's type.int
Get the field type index.getFieldTypeSignature
(boolean effective) int
getIndex()
Get the index of this item in the Dex file's field list.getName
(boolean effective) Get the name for this field.int
Get the field name index.getSignature
(boolean effective) Get the signature for this field.getSignature
(boolean effective, boolean internal) Get the item signature.getSignature
(boolean effective, boolean internal, boolean includeFieldType) getSignature
(boolean effective, boolean internal, boolean includeFieldType, boolean qualifiedNames) Retrieve the initial value of this field if it is a static final class field.boolean
Rename this field.Methods inherited from interface com.pnfsoftware.jeb.core.units.code.ICodeItem
getAddress, getAddress, getGenericFlags, getItemId, getName, getSignature, isArtificial, isInternal
-
Method Details
-
getIndex
int getIndex()Get the index of this item in the Dex file's field list. -
getData
IDexFieldData getData()Get a reference to the field definition, if the field is internal.- Returns:
- the field data, null for external fields
-
getClassType
IDexType getClassType()Description copied from interface:ICodeField
Get the type of the class holding this field.- Specified by:
getClassType
in interfaceICodeField
- Returns:
-
getClassTypeIndex
int getClassTypeIndex()Get the containing class type index.- Returns:
- the class type index
-
getClassTypeSignature
-
getFieldType
IDexType getFieldType()Description copied from interface:ICodeField
Get the field's type.- Specified by:
getFieldType
in interfaceICodeField
- Returns:
-
getFieldTypeIndex
int getFieldTypeIndex()Get the field type index.- Returns:
- the type index
-
getFieldTypeSignature
-
getNameIndex
int getNameIndex()Get the field name index.- Returns:
- the name index
-
getName
Get the name for this field. -
getSignature
Get the signature for this field.Example: Lcom/xyz/Blob;->name:Ljava/lang/String;
- Specified by:
getSignature
in interfaceICodeItem
- Parameters:
effective
- true to get the actual signature, false to return the original signature (if the unit allows the modification of items)- Returns:
- the signature
-
getSignature
Description copied from interface:ICodeItem
Get the item signature.- Specified by:
getSignature
in interfaceICodeItem
- Parameters:
effective
- true to get the actual signature, false to return the original signature (if the unit allows the modification of items)internal
- true to generate internal names (default); false to generate user-friendly signatures (may be the same as the internal signatures)- Returns:
- the signature
-
getSignature
-
getSignature
String getSignature(boolean effective, boolean internal, boolean includeFieldType, boolean qualifiedNames) -
setName
Rename this field. This method does not notify changes on success: it is up to the user to issue aJ.UnitChange
notification.This method is for convenience only: users can always use the associated unit's
RENAME
action (through theexecuteAction
method) to rename an item generically.- Parameters:
name
- the new name- Returns:
- success indicator
-
getStaticInitializer
IDexValue getStaticInitializer()Retrieve the initial value of this field if it is a static final class field.- Returns:
- the initial field value, null if none or on error
-