com.pnfsoftware.jeb.core.units.code.android.dex.IDexClass |
This interface represents a DEX class_def_item
object. All internal DEX types
implement this interface, it is not limited to actual class types. Retrieved via
getClasses()
.
[Expand]
Inherited Constants | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract int |
getAccessFlags()
Get the access flags for the class.
| ||||||||||
abstract Map<String, IDexValue> |
getAnnotationDefaults()
A convenience method used to retrieve the list of annotation default values, if this type is
an annotation type.
| ||||||||||
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()
Helper method to determine whether this type is an annotation.
| ||||||||||
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()
Helper method to determine whether this type is an enumeration.
| ||||||||||
abstract boolean |
isInterface()
Helper method to determine whether this type is an interface.
| ||||||||||
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()
Helper method to determine whether this type is marked as synthetic, that is, auto-generated
by a compiler.
| ||||||||||
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
A convenience method used to retrieve the list of annotation default values, if this type is an annotation type.
an annotation type
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.
Helper method to determine whether this type is an annotation.
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.).
Helper method to determine whether this type is an enumeration.
Helper method to determine whether this type is an interface.
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.).
Helper method to determine whether this type is marked as synthetic, that is, auto-generated by a compiler. This hint should not be trusted.
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 |
---|