Top Description Fields Constructors Methods
org.droidparts.dexmaker.dx.rop.type

public final Class Type

extends Object
implements TypeBearer, Comparable<Type>
Class Inheritance
All Implemented Interfaces
java.lang.Comparable, org.droidparts.dexmaker.dx.rop.type.TypeBearer, org.droidparts.dexmaker.dx.util.ToHuman
Imports
org.droidparts.dexmaker.dx.util.Hex, java.util.HashMap

Representation of a value type, such as may appear in a field, in a local, on a stack, or in a method descriptor. Instances of this class are generally interned and may be usefully compared with each other using ==.

Field Summary

Modifier and TypeField and Description
public static final Type
ANNOTATION

non-null; instance representing java.lang.annotation.Annotation

private Type
arrayType

null-ok; the type corresponding to an array of this type, if calculated

private final int
basicType

basic type corresponding to this type; one of the BT_* constants

public static final Type
BOOLEAN

non-null; instance representing boolean

public static final Type
BOOLEAN_ARRAY

non-null; instance representing boolean[]

public static final Type
BOOLEAN_CLASS

non-null; instance representing java.lang.Boolean; the suffix on the name helps disambiguate this from the instance representing a primitive type

public static final int
BT_ADDR

basic type constant for a return address

public static final int
BT_BOOLEAN

basic type constant for boolean

public static final int
BT_BYTE

basic type constant for byte

public static final int
BT_CHAR

basic type constant for char

public static final int
BT_COUNT

count of basic type constants

public static final int
BT_DOUBLE

basic type constant for double

public static final int
BT_FLOAT

basic type constant for float

public static final int
BT_INT

basic type constant for int

public static final int
BT_LONG

basic type constant for long

public static final int
BT_OBJECT

basic type constant for Object

public static final int
BT_SHORT

basic type constant for short

public static final int
BT_VOID

basic type constant for void

public static final Type
BYTE

non-null; instance representing byte

public static final Type
BYTE_ARRAY

non-null; instance representing byte[]

public static final Type
BYTE_CLASS

non-null; instance representing java.lang.Byte; the suffix on the name helps disambiguate this from the instance representing a primitive type

public static final Type
CHAR

non-null; instance representing char

public static final Type
CHAR_ARRAY

non-null; instance representing char[]

public static final Type
CHARACTER_CLASS

non-null; instance representing java.lang.Character; the suffix on the name helps disambiguate this from the instance representing a primitive type

public static final Type
CLASS

non-null; instance representing java.lang.Class

private String
className

null-ok; the internal-form class name corresponding to this type, if calculated; only valid if this is a reference type and additionally not a return address

public static final Type
CLONEABLE

non-null; instance representing java.lang.Cloneable

private Type
componentType

null-ok; the type corresponding to elements of this type, if calculated; only valid if this is an array type

private final String
descriptor

non-null; field descriptor for the type

public static final Type
DOUBLE

non-null; instance representing double

public static final Type
DOUBLE_ARRAY

non-null; instance representing double[]

public static final Type
DOUBLE_CLASS

non-null; instance representing java.lang.Double; the suffix on the name helps disambiguate this from the instance representing a primitive type

public static final Type
FLOAT

non-null; instance representing float

public static final Type
FLOAT_ARRAY

non-null; instance representing float[]

public static final Type
FLOAT_CLASS

non-null; instance representing java.lang.Float; the suffix on the name helps disambiguate this from the instance representing a primitive type

private Type
initializedType

null-ok; the type corresponding to the initialized version of this type, if this instance is in fact an uninitialized type

public static final Type
INT

non-null; instance representing int

public static final Type
INT_ARRAY

non-null; instance representing int[]

public static final Type
INTEGER_CLASS

non-null; instance representing java.lang.Integer; the suffix on the name helps disambiguate this from the instance representing a primitive type

private static final HashMap<String, Type>
internTable

non-null; intern table mapping string descriptors to instances

public static final Type
KNOWN_NULL

non-null; instance representing a known-null

public static final Type
LONG

non-null; instance representing long

public static final Type
LONG_ARRAY

non-null; instance representing long[]

public static final Type
LONG_CLASS

non-null; instance representing java.lang.Long; the suffix on the name helps disambiguate this from the instance representing a primitive type

private final int
newAt

>= -1; for an uninitialized type, bytecode index that this instance was allocated at; Integer.MAX_VALUE if it was an incoming uninitialized instance; -1 if this is an inititialized instance

public static final Type
OBJECT

non-null; instance representing java.lang.Object

public static final Type
OBJECT_ARRAY

non-null; instance representing Object[]

public static final Type
RETURN_ADDRESS

non-null; instance representing a subroutine return address

public static final Type
SERIALIZABLE

non-null; instance representing java.io.Serializable

public static final Type
SHORT

non-null; instance representing short

public static final Type
SHORT_ARRAY

non-null; instance representing short[]

public static final Type
SHORT_CLASS

non-null; instance representing java.lang.Short; the suffix on the name helps disambiguate this from the instance representing a primitive type

public static final Type
STRING

non-null; instance representing java.lang.String

public static final Type
THROWABLE

non-null; instance representing java.lang.Throwable

public static final Type
VOID

non-null; instance representing void

public static final Type
VOID_CLASS

non-null; instance representing java.lang.Void; the suffix on the name helps disambiguate this from the instance representing a primitive type

Constructor Summary

AccessConstructor and Description
private
Type(String
non-null; the field descriptor for the type
descriptor
,
int
basic type corresponding to this type; one of the BT_* constants
basicType
,
int
>= -1; allocation bytecode index
newAt
)

Constructs an instance corresponding to an "uninitialized type." This is a private constructor; use one of the public static methods to get instances.

private
Type(String
non-null; the field descriptor for the type
descriptor
,
int
basic type corresponding to this type; one of the BT_* constants
basicType
)

Constructs an instance corresponding to an "initialized type." This is a private constructor; use one of the public static methods to get instances.

Method Summary

Modifier and TypeMethod and Description
public Type

Returns:

non-null; an appropriately-constructed instance
asUninitialized
(int
>= 0; the allocation bytecode index
newAt
)

Returns a new interned instance which is identical to this one, except it is indicated as uninitialized and allocated at the given bytecode index.

public int
compareTo(Type
the object to be compared.
other
)

Implements java.lang.Comparable.compareTo.

Compares this object with the specified object for order.
public boolean
equals(Object
the reference object with which to compare.
other
)

Overrides java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.
public Type

Returns:

non-null; the array type
getArrayType
()

Gets the type corresponding to an array of this type.

public int
getBasicFrameType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicFrameType.

Gets the basic type corresponding to this instance's frame type.
public int
getBasicType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicType.

Gets the basic type corresponding to this instance.
public int

Returns:

the category
getCategory
()

Gets the category.

public String

Returns:

non-null; the internal-form class name
getClassName
()

Gets the name of the class this type corresponds to, in internal form.

public Type

Returns:

non-null; the component type
getComponentType
()

Gets the component type of this type.

public String

Returns:

non-null; the descriptor
getDescriptor
()

Gets the descriptor.

public Type
getFrameType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getFrameType.

Gets the frame type corresponding to this type.
public Type

Returns:

non-null; the initialized type
getInitializedType
()

Gets the initialized type corresponding to this instance, but only if this instance is in fact an uninitialized object type.

public int

Returns:

>= -1; the allocation bytecode index
getNewAt
()

Gets the bytecode index at which this uninitialized type was allocated.

public Type
getType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getType.

Gets the type associated with this instance.
public int
hashCode()

Overrides java.lang.Object.hashCode.

Returns a hash code value for this object.
public static Type

Returns:

non-null; the corresponding instance
intern
(String
non-null; the descriptor
descriptor
)

Returns the unique instance corresponding to the type with the given descriptor.

public static Type

Returns:

non-null; the corresponding type
internClassName
(String
non-null; the name of the class whose type is desired
name
)

Returns the unique instance corresponding to the type of the class with the given name.

public static Type

Returns:

non-null; the corresponding instance
internReturnType
(String
non-null; the descriptor
descriptor
)

Returns the unique instance corresponding to the type with the given descriptor, allowing "V" to return the type for void.

public boolean

Returns:

whether this type is an array type
isArray
()

Gets whether this type is an array type.

public boolean

Returns:

whether this type is an array type
isArrayOrKnownNull
()

Gets whether this type is an array type or is a known-null, and hence is compatible with array types.

public boolean

Returns:

whether or not this is a category 1 type
isCategory1
()

Returns whether or not this is a category 1 type.

public boolean

Returns:

whether or not this is a category 2 type
isCategory2
()

Returns whether or not this is a category 2 type.

public boolean
isConstant()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.isConstant.

Returns whether this instance represents a constant value.
public boolean

Returns:

whether this type is "intlike"
isIntlike
()

Gets whether this type is "intlike." An intlike type is one which, when placed on a stack or in a local, is automatically converted to an int.

public boolean

Returns:

whether this type is primitive
isPrimitive
()

Gets whether this type is a primitive type.

public boolean

Returns:

whether this type is a normal reference type
isReference
()

Gets whether this type is a normal reference type.

public boolean

Returns:

whether this type is "uninitialized"
isUninitialized
()

Gets whether this type represents an uninitialized instance.

private static Type

Returns:

non-null; the actual interned object
putIntern
(Type
non-null; instance to make interned
type
)

Puts the given instance in the intern table if it's not already there.

public String
toHuman()

Implements org.droidparts.dexmaker.dx.util.ToHuman.toHuman.

Return the "human" string form of this instance.
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.
Inherited from java.lang.Object:
clonefinalizegetClassnotifynotifyAllwaitwaitwait

Field Detail

ANNOTATIONback to summary
public static final Type ANNOTATION

non-null; instance representing java.lang.annotation.Annotation

arrayTypeback to summary
private Type arrayType

null-ok; the type corresponding to an array of this type, if calculated

basicTypeback to summary
private final int basicType

basic type corresponding to this type; one of the BT_* constants

BOOLEANback to summary
public static final Type BOOLEAN

non-null; instance representing boolean

BOOLEAN_ARRAYback to summary
public static final Type BOOLEAN_ARRAY

non-null; instance representing boolean[]

BOOLEAN_CLASSback to summary
public static final Type BOOLEAN_CLASS

non-null; instance representing java.lang.Boolean; the suffix on the name helps disambiguate this from the instance representing a primitive type

BT_ADDRback to summary
public static final int BT_ADDR

basic type constant for a return address

BT_BOOLEANback to summary
public static final int BT_BOOLEAN

basic type constant for boolean

BT_BYTEback to summary
public static final int BT_BYTE

basic type constant for byte

BT_CHARback to summary
public static final int BT_CHAR

basic type constant for char

BT_COUNTback to summary
public static final int BT_COUNT

count of basic type constants

BT_DOUBLEback to summary
public static final int BT_DOUBLE

basic type constant for double

BT_FLOATback to summary
public static final int BT_FLOAT

basic type constant for float

BT_INTback to summary
public static final int BT_INT

basic type constant for int

BT_LONGback to summary
public static final int BT_LONG

basic type constant for long

BT_OBJECTback to summary
public static final int BT_OBJECT

basic type constant for Object

BT_SHORTback to summary
public static final int BT_SHORT

basic type constant for short

BT_VOIDback to summary
public static final int BT_VOID

basic type constant for void

BYTEback to summary
public static final Type BYTE

non-null; instance representing byte

BYTE_ARRAYback to summary
public static final Type BYTE_ARRAY

non-null; instance representing byte[]

BYTE_CLASSback to summary
public static final Type BYTE_CLASS

non-null; instance representing java.lang.Byte; the suffix on the name helps disambiguate this from the instance representing a primitive type

CHARback to summary
public static final Type CHAR

non-null; instance representing char

CHAR_ARRAYback to summary
public static final Type CHAR_ARRAY

non-null; instance representing char[]

CHARACTER_CLASSback to summary
public static final Type CHARACTER_CLASS

non-null; instance representing java.lang.Character; the suffix on the name helps disambiguate this from the instance representing a primitive type

CLASSback to summary
public static final Type CLASS

non-null; instance representing java.lang.Class

classNameback to summary
private String className

null-ok; the internal-form class name corresponding to this type, if calculated; only valid if this is a reference type and additionally not a return address

CLONEABLEback to summary
public static final Type CLONEABLE

non-null; instance representing java.lang.Cloneable

componentTypeback to summary
private Type componentType

null-ok; the type corresponding to elements of this type, if calculated; only valid if this is an array type

descriptorback to summary
private final String descriptor

non-null; field descriptor for the type

DOUBLEback to summary
public static final Type DOUBLE

non-null; instance representing double

DOUBLE_ARRAYback to summary
public static final Type DOUBLE_ARRAY

non-null; instance representing double[]

DOUBLE_CLASSback to summary
public static final Type DOUBLE_CLASS

non-null; instance representing java.lang.Double; the suffix on the name helps disambiguate this from the instance representing a primitive type

FLOATback to summary
public static final Type FLOAT

non-null; instance representing float

FLOAT_ARRAYback to summary
public static final Type FLOAT_ARRAY

non-null; instance representing float[]

FLOAT_CLASSback to summary
public static final Type FLOAT_CLASS

non-null; instance representing java.lang.Float; the suffix on the name helps disambiguate this from the instance representing a primitive type

initializedTypeback to summary
private Type initializedType

null-ok; the type corresponding to the initialized version of this type, if this instance is in fact an uninitialized type

INTback to summary
public static final Type INT

non-null; instance representing int

INT_ARRAYback to summary
public static final Type INT_ARRAY

non-null; instance representing int[]

INTEGER_CLASSback to summary
public static final Type INTEGER_CLASS

non-null; instance representing java.lang.Integer; the suffix on the name helps disambiguate this from the instance representing a primitive type

internTableback to summary
private static final HashMap<String, Type> internTable

non-null; intern table mapping string descriptors to instances

KNOWN_NULLback to summary
public static final Type KNOWN_NULL

non-null; instance representing a known-null

LONGback to summary
public static final Type LONG

non-null; instance representing long

LONG_ARRAYback to summary
public static final Type LONG_ARRAY

non-null; instance representing long[]

LONG_CLASSback to summary
public static final Type LONG_CLASS

non-null; instance representing java.lang.Long; the suffix on the name helps disambiguate this from the instance representing a primitive type

newAtback to summary
private final int newAt

>= -1; for an uninitialized type, bytecode index that this instance was allocated at; Integer.MAX_VALUE if it was an incoming uninitialized instance; -1 if this is an inititialized instance

OBJECTback to summary
public static final Type OBJECT

non-null; instance representing java.lang.Object

OBJECT_ARRAYback to summary
public static final Type OBJECT_ARRAY

non-null; instance representing Object[]

RETURN_ADDRESSback to summary
public static final Type RETURN_ADDRESS

non-null; instance representing a subroutine return address

SERIALIZABLEback to summary
public static final Type SERIALIZABLE

non-null; instance representing java.io.Serializable

SHORTback to summary
public static final Type SHORT

non-null; instance representing short

SHORT_ARRAYback to summary
public static final Type SHORT_ARRAY

non-null; instance representing short[]

SHORT_CLASSback to summary
public static final Type SHORT_CLASS

non-null; instance representing java.lang.Short; the suffix on the name helps disambiguate this from the instance representing a primitive type

STRINGback to summary
public static final Type STRING

non-null; instance representing java.lang.String

THROWABLEback to summary
public static final Type THROWABLE

non-null; instance representing java.lang.Throwable

VOIDback to summary
public static final Type VOID

non-null; instance representing void

VOID_CLASSback to summary
public static final Type VOID_CLASS

non-null; instance representing java.lang.Void; the suffix on the name helps disambiguate this from the instance representing a primitive type

Constructor Detail

Typeback to summary
private Type(String descriptor, int basicType, int newAt)

Constructs an instance corresponding to an "uninitialized type." This is a private constructor; use one of the public static methods to get instances.

Parameters
descriptor:String

non-null; the field descriptor for the type

basicType:int

basic type corresponding to this type; one of the BT_* constants

newAt:int

>= -1; allocation bytecode index

Typeback to summary
private Type(String descriptor, int basicType)

Constructs an instance corresponding to an "initialized type." This is a private constructor; use one of the public static methods to get instances.

Parameters
descriptor:String

non-null; the field descriptor for the type

basicType:int

basic type corresponding to this type; one of the BT_* constants

Method Detail

asUninitializedback to summary
public Type asUninitialized(int newAt)

Returns a new interned instance which is identical to this one, except it is indicated as uninitialized and allocated at the given bytecode index. This instance must be an initialized object type.

Parameters
newAt:int

>= 0; the allocation bytecode index

Returns:Type

non-null; an appropriately-constructed instance

compareToback to summary
public int compareTo(Type other)

Implements java.lang.Comparable.compareTo.

Doc from java.lang.Comparable.compareTo.

Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

The implementor must ensure signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if y.compareTo(x) throws an exception.)

The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

Finally, the implementor must ensure that x.compareTo(y)==0 implies that signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

Parameters
other:Type

the object to be compared.

Returns:int

a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

equalsback to summary
public boolean equals(Object other)

Overrides java.lang.Object.equals.

Doc from java.lang.Object.equals.

Indicates whether some other object is "equal to" this one.

The equals method implements an equivalence relation on non-null object references:

  • It is reflexive: for any non-null reference value x, x.equals(x) should return true.
  • It is symmetric: for any non-null reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any non-null reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.
  • It is consistent: for any non-null reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the objects is modified.
  • For any non-null reference value x, x.equals(null) should return false.

An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.

Parameters
other:Object

the reference object with which to compare.

Returns:boolean

true if this object is the same as the obj argument; false otherwise.

Annotations
@Override
getArrayTypeback to summary
public Type getArrayType()

Gets the type corresponding to an array of this type.

Returns:Type

non-null; the array type

getBasicFrameTypeback to summary
public int getBasicFrameType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicFrameType.

Doc from org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicFrameType.

Gets the basic type corresponding to this instance's frame type. This is equivalent to getFrameType().getBasicType(), and is the same as calling getFrameType() unless this instance is an int-like type, in which case this method returns BT_INT.

Returns:int

the basic frame type; one of the BT_* constants defined by Type

getBasicTypeback to summary
public int getBasicType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicType.

Doc from org.droidparts.dexmaker.dx.rop.type.TypeBearer.getBasicType.

Gets the basic type corresponding to this instance.

Returns:int

the basic type; one of the BT_* constants defined by Type

getCategoryback to summary
public int getCategory()

Gets the category. Most instances are category 1. long and double are the only category 2 types.

Returns:int

the category

See Also
isCategory1, isCategory2
getClassNameback to summary
public String getClassName()

Gets the name of the class this type corresponds to, in internal form. This method is only valid if this instance is for a normal reference type (that is, a reference type and additionally not a return address).

Returns:String

non-null; the internal-form class name

getComponentTypeback to summary
public Type getComponentType()

Gets the component type of this type. This method is only valid on array types.

Returns:Type

non-null; the component type

getDescriptorback to summary
public String getDescriptor()

Gets the descriptor.

Returns:String

non-null; the descriptor

getFrameTypeback to summary
public Type getFrameType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getFrameType.

Doc from org.droidparts.dexmaker.dx.rop.type.TypeBearer.getFrameType.

Gets the frame type corresponding to this type. This method returns this, except if Type#isIntlike on the underlying type returns true but the underlying type is not in fact Type#INT, in which case this method returns an instance whose underlying type is INT.

Returns:Type

non-null; the frame type for this instance

getInitializedTypeback to summary
public Type getInitializedType()

Gets the initialized type corresponding to this instance, but only if this instance is in fact an uninitialized object type.

Returns:Type

non-null; the initialized type

getNewAtback to summary
public int getNewAt()

Gets the bytecode index at which this uninitialized type was allocated. This returns Integer.MAX_VALUE if this type is an uninitialized incoming parameter (i.e., the this of an <init> method) or -1 if this type is in fact initialized.

Returns:int

>= -1; the allocation bytecode index

getTypeback to summary
public Type getType()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.getType.

Doc from org.droidparts.dexmaker.dx.rop.type.TypeBearer.getType.

Gets the type associated with this instance.

Returns:Type

non-null; the type

hashCodeback to summary
public int hashCode()

Overrides java.lang.Object.hashCode.

Doc from java.lang.Object.hashCode.

Returns a hash code value for this object. This method is supported for the benefit of hash tables such as those provided by java.util.HashMap.

The general contract of hashCode is:

  • Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application.
  • If two objects are equal according to the equals method, then calling the hashCode method on each of the two objects must produce the same integer result.
  • It is not required that if two objects are unequal according to the equals method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hash tables.
Returns:int

a hash code value for this object

Annotations
@Override
internback to summary
public static Type intern(String descriptor)

Returns the unique instance corresponding to the type with the given descriptor. See vmspec-2 sec4.3.2 for details on the field descriptor syntax. This method does not allow "V" (that is, type void) as a valid descriptor.

Parameters
descriptor:String

non-null; the descriptor

Returns:Type

non-null; the corresponding instance

Exceptions
IllegalArgumentException:
thrown if the descriptor has invalid syntax
internClassNameback to summary
public static Type internClassName(String name)

Returns the unique instance corresponding to the type of the class with the given name. Calling this method is equivalent to calling intern(name) if name begins with "[" and calling intern("L" + name + ";") in all other cases.

Parameters
name:String

non-null; the name of the class whose type is desired

Returns:Type

non-null; the corresponding type

Exceptions
IllegalArgumentException:
thrown if the name has invalid syntax
internReturnTypeback to summary
public static Type internReturnType(String descriptor)

Returns the unique instance corresponding to the type with the given descriptor, allowing "V" to return the type for void. Other than that one caveat, this method is identical to intern.

Parameters
descriptor:String

non-null; the descriptor

Returns:Type

non-null; the corresponding instance

Exceptions
IllegalArgumentException:
thrown if the descriptor has invalid syntax
isArrayback to summary
public boolean isArray()

Gets whether this type is an array type. If this method returns true, then it is safe to use getComponentType to determine the component type.

Returns:boolean

whether this type is an array type

isArrayOrKnownNullback to summary
public boolean isArrayOrKnownNull()

Gets whether this type is an array type or is a known-null, and hence is compatible with array types.

Returns:boolean

whether this type is an array type

isCategory1back to summary
public boolean isCategory1()

Returns whether or not this is a category 1 type.

Returns:boolean

whether or not this is a category 1 type

See Also
getCategory, isCategory2
isCategory2back to summary
public boolean isCategory2()

Returns whether or not this is a category 2 type.

Returns:boolean

whether or not this is a category 2 type

See Also
getCategory, isCategory1
isConstantback to summary
public boolean isConstant()

Implements org.droidparts.dexmaker.dx.rop.type.TypeBearer.isConstant.

Doc from org.droidparts.dexmaker.dx.rop.type.TypeBearer.isConstant.

Returns whether this instance represents a constant value.

Returns:boolean

true if this instance represents a constant value and false if not

isIntlikeback to summary
public boolean isIntlike()

Gets whether this type is "intlike." An intlike type is one which, when placed on a stack or in a local, is automatically converted to an int.

Returns:boolean

whether this type is "intlike"

isPrimitiveback to summary
public boolean isPrimitive()

Gets whether this type is a primitive type. All types are either primitive or reference types.

Returns:boolean

whether this type is primitive

isReferenceback to summary
public boolean isReference()

Gets whether this type is a normal reference type. A normal reference type is a reference type that is not a return address. This method is just convenient shorthand for getBasicType() == Type.BT_OBJECT.

Returns:boolean

whether this type is a normal reference type

isUninitializedback to summary
public boolean isUninitialized()

Gets whether this type represents an uninitialized instance. An uninitialized instance is what one gets back from the new opcode, and remains uninitialized until a valid constructor is invoked on it.

Returns:boolean

whether this type is "uninitialized"

putInternback to summary
private static Type putIntern(Type type)

Puts the given instance in the intern table if it's not already there. If a conflicting value is already in the table, then leave it. Return the interned value.

Parameters
type:Type

non-null; instance to make interned

Returns:Type

non-null; the actual interned object

toHumanback to summary
public String toHuman()

Implements org.droidparts.dexmaker.dx.util.ToHuman.toHuman.

Doc from org.droidparts.dexmaker.dx.util.ToHuman.toHuman.

Return the "human" string form of this instance. This is generally less "debuggy" than toString().

Returns:String

non-null; the human string form

toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object.

Returns:String

a string representation of the object

Annotations
@Override