com.pnfsoftware.jeb.core.units.code.android.dex.IDexClass |
This interface represents a DEX class_def_item
object.
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract int |
getAccessFlags()
Get the access flags for the class.
| ||||||||||
abstract IDexAnnotationsDirectory |
getAnnotationsDirectory()
Get the annotations directory of the class.
| ||||||||||
abstract int |
getClassTypeIndex()
Get the type index for this class object.
| ||||||||||
abstract IDexClassData |
getData()
Get the class data.
| ||||||||||
abstract IDexField |
getField(boolean effective, String name, String fieldtype)
Retrieve a field defined in this class.
| ||||||||||
abstract List<? extends IDexField> |
getFields()
Get the list of fields that are defined in this class (super fields are not returned).
| ||||||||||
abstract String[] |
getInterfaceSignatures(boolean effective)
Get the list of interfaces implemented by this class.
| ||||||||||
abstract int[] |
getInterfaceTypeIndexes()
Get the type indexes of the interfaces implemented by this class.
| ||||||||||
abstract IDexMethod |
getMethod(boolean effective, String name, String... parameterTypes)
Retrieve a method defined in this class.
| ||||||||||
abstract List<? extends IDexMethod> |
getMethods()
Get the list of methods that are defined in this class (super methods are not returned).
| ||||||||||
abstract int |
getSourceStringIndex()
Get the string index of the file name containing the original source for this class.
| ||||||||||
abstract List<? extends IDexValue> |
getStaticInitializers()
Get the static initializers of the class.
| ||||||||||
abstract int |
getSuperTypeIndex()
Get the type index for the superclass of this class.
| ||||||||||
abstract String |
getSupertypeSignature(boolean effective)
Get the superclass of that class.
| ||||||||||
abstract boolean | isAnnotation() | ||||||||||
abstract boolean |
isAnonymousClass()
This higher-level method indicates if this class was determined as an actual member (nested)
class, specifically an anonymous member class.
| ||||||||||
abstract boolean | isEnumeration() | ||||||||||
abstract boolean | isInterface() | ||||||||||
abstract boolean |
isMemberClass()
This higher-level method indicates if this class is a member class (Dalvik terminology
equivalent of Java's "nested" class), that is, a class defined within another class or
method.
| ||||||||||
abstract boolean |
isNonStaticMemberClass()
This higher-level method indicates if this class was determined as an actual member (nested)
class, specifically a non-static member class, i.e.
| ||||||||||
abstract boolean |
isStaticMemberClass()
This higher-level method indicates if this class was determined as an actual member (nested)
class, specifically a static member class.
| ||||||||||
abstract boolean | isSynthetic() | ||||||||||
abstract boolean |
isTrueClass()
Determine if a class is a 'true' class, meaning a class which is neither an interface nor an
enumeration nor an annotation.
| ||||||||||
abstract boolean |
setName(String name)
Rename this class or type.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() | |||||||||||
![]() | |||||||||||
![]() |
Get the access flags for the class.
IDexUnit
Get the annotations directory of the class. The directory contains annotations for the class, methods, fields and methods' parameters.
Get the type index for this class object.
Get the class data.
Retrieve a field defined in this class.
effective | the provided name and type are effective names, as opposed to original names |
---|---|
name | field name |
fieldtype | field type (jvm notation) |
Get the list of fields that are defined in this class (super fields are not returned).
Get the list of interfaces implemented by this class.
Get the type indexes of the interfaces implemented by this class.
Retrieve a method defined in this class.
effective | the provided name and type signatures are effective names, as opposed to original names |
---|---|
name | method name |
parameterTypes | method parameter types (jvm notation) |
Get the list of methods that are defined in this class (super methods are not returned).
Get the string index of the file name containing the original source for this class.
Note: This is a debug/metadata field and should be used with caution.
Get the static initializers of the class.
Get the type index for the superclass of this class.
Get the superclass of that class. At least java.lang.Object.
This higher-level method indicates if this class was determined as an actual member (nested) class, specifically an anonymous member class.
It may not reflect underlying metadata information (such as class annotations, etc.).
This higher-level method indicates if this class is a member class (Dalvik terminology
equivalent of Java's "nested" class), that is, a class defined within another class or
method. A member class can be static
(nested inside a class), inner
(non-static, nested inside a class), local
(non-static, nested inside a method), or
anonymous
(always non-static, within a class or method). (Note that lambdas are not
considered here: native lambdas are invoked using specific bytecode; desugared lambdas are
implemented with standard member classes.)
This method does not necessarily reflect the underlying dex class data, in particular, the annotations metadata. If a publicized inner class is deemed improper, this method will return false regardless of what metadata say.
This higher-level method indicates if this class was determined as an actual member (nested) class, specifically a non-static member class, i.e. one of inner class, local class, or anonymous class.
It may not reflect underlying metadata information (such as class annotations, etc.).
This higher-level method indicates if this class was determined as an actual member (nested) class, specifically a static member class.
It may not reflect underlying metadata information (such as class annotations, etc.).
Determine if a class is a 'true' class, meaning a class which is neither an interface nor an enumeration nor an annotation.
Rename this class or type. This method does not notify changes on success: it is up to the
user to issue a UnitChange
notification.
This method is for convenience only: users can always use the associated unit's
RENAME
action (through the
executeAction
method) to rename an item generically.
name | the new name |
---|