public interface

IDexType

implements ICodeType IDexItem
com.pnfsoftware.jeb.core.units.code.android.dex.IDexType

Class Overview

This interface represents a reference to a dex type used in the dex. It may be internal or external. If the type is internal (defined in the dex), the implementation should be located in the associated IDexClass object. Types can be retrieved via IDexUnit.

See Also

Summary

[Expand]
Inherited Constants
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
Public Methods
abstract List<IDexType> getDependantTypes()
Retrieve the list of array types based on this type.
abstract int getDimensions()
Get the array type dimensions.
abstract IDexClass getImplementingClass()
Retrieve the implementation of this type, if it is internal.
abstract IDexType getMasterType()
Retrieve the base type of an array type.
abstract String getNonArrayClass()
Retrieve the non-array signature of a class or interface type.
abstract String getSignature()
Generate the type signature.
abstract String getSignature(boolean effective, boolean internal, boolean qualifiedNames)
Generate the type signature.
abstract String getSignature(boolean effective, boolean internal)
Generate the type signature.
abstract boolean isArray()
Determine whether the type is an array type.
abstract boolean isArrayOfPrimitive()
Determine whether the type is an array of primitives.
abstract boolean isClass()
Determine if the type is a class or interface (not an array, not a primitive type)
abstract boolean isPrimitive()
Determine whether the type is a primitive type.
[Expand]
Inherited Methods
From interface com.pnfsoftware.jeb.core.units.code.ICodeItem
From interface com.pnfsoftware.jeb.core.units.code.ICodeType
From interface com.pnfsoftware.jeb.core.units.code.android.dex.IDexItem

Public Methods

public abstract List<IDexType> getDependantTypes ()

Retrieve the list of array types based on this type.

public abstract int getDimensions ()

Get the array type dimensions.

Examples: [I (that is, int[]) will return 1, [[J (that is, long[][]) will return 2

Returns
  • the number of dimensions

public abstract IDexClass getImplementingClass ()

Retrieve the implementation of this type, if it is internal.

Returns
  • a class object, null if none

public abstract IDexType getMasterType ()

Retrieve the base type of an array type.

Example: if this type is [[I, the method will return the type object for I

public abstract String getNonArrayClass ()

Retrieve the non-array signature of a class or interface type. Will return null for primitives or arrays of primitives.

Example: type is [La/b/Foo the method will return La/b/Foo

public abstract String getSignature ()

Generate the type signature. The generated signature represents the effective name in internal form.

Returns
  • the effective signature

public abstract String getSignature (boolean effective, boolean internal, boolean qualifiedNames)

Generate the type signature.

Parameters
effective true to use the effective names (renames), false to use the original names
internal true to generate an internal signature (Lcom/abc/Foo;), false to generate a user-friendly signature (com.abc.Foo)
qualifiedNames true to generate qualified names (a.b.c.Foo), false to generate simple type names (Foo)
Returns
  • the type signature

public abstract String getSignature (boolean effective, boolean internal)

Generate the type signature.

Parameters
effective true to use the effective names (renames), false to use the original names
internal true to generate an internal signature (Lcom/abc/Foo;), false to generate a user-friendly signature (com.abc.Foo)
Returns
  • the type signature

public abstract boolean isArray ()

Determine whether the type is an array type.

public abstract boolean isArrayOfPrimitive ()

Determine whether the type is an array of primitives.

public abstract boolean isClass ()

Determine if the type is a class or interface (not an array, not a primitive type)

public abstract boolean isPrimitive ()

Determine whether the type is a primitive type.