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

public final Class CstType

extends TypedConstant
Class Inheritance
Imports
org.droidparts.dexmaker.dx.rop.type.Type, java.util.HashMap

Constants that represent an arbitrary type (reference or primitive).

Field Summary

Modifier and TypeField and Description
public static final CstType
BOOLEAN

non-null; instance corresponding to the class Boolean

public static final CstType
BOOLEAN_ARRAY

non-null; instance corresponding to the type boolean[]

public static final CstType
BYTE

non-null; instance corresponding to the class Byte

public static final CstType
BYTE_ARRAY

non-null; instance corresponding to the type byte[]

public static final CstType
CHAR_ARRAY

non-null; instance corresponding to the type char[]

public static final CstType
CHARACTER

non-null; instance corresponding to the class Character

private CstString
descriptor

null-ok; the type descriptor corresponding to this instance, if calculated

public static final CstType
DOUBLE

non-null; instance corresponding to the class Double

public static final CstType
DOUBLE_ARRAY

non-null; instance corresponding to the type double[]

public static final CstType
FLOAT

non-null; instance corresponding to the class Float

public static final CstType
FLOAT_ARRAY

non-null; instance corresponding to the type float[]

public static final CstType
INT_ARRAY

non-null; instance corresponding to the type int[]

public static final CstType
INTEGER

non-null; instance corresponding to the class Integer

private static final HashMap<Type, CstType>
interns

non-null; map of interned types

public static final CstType
LONG

non-null; instance corresponding to the class Long

public static final CstType
LONG_ARRAY

non-null; instance corresponding to the type long[]

public static final CstType
OBJECT

non-null; instance corresponding to the class Object

public static final CstType
SHORT

non-null; instance corresponding to the class Short

public static final CstType
SHORT_ARRAY

non-null; instance corresponding to the type short[]

private final Type
type

non-null; the underlying type

public static final CstType
VOID

non-null; instance corresponding to the class Void

Constructor Summary

AccessConstructor and Description
public
CstType(Type
non-null; the underlying type
type
)

Constructs an instance.

Method Summary

Modifier and TypeMethod and Description
protected int
compareTo0(Constant
non-null; the instance to compare to
other
)

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.compareTo0.

Compare the values of this and another instance, which are guaranteed to be of the same class.
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 static CstType

Returns:

non-null; the corresponding wrapper class
forBoxedPrimitiveType
(Type
non-null; the primitive type
primitiveType
)

Returns an instance of this class that represents the wrapper class corresponding to a given primitive type.

public Type

Returns:

non-null; the type corresponding to the name
getClassType
()

Gets the underlying type (as opposed to the type corresponding to this instance as a constant, which is always Class).

public CstString

Returns:

non-null; the descriptor
getDescriptor
()

Gets the type descriptor for this instance.

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 CstType

Returns:

non-null; an appropriately-constructed instance
intern
(Type
non-null; the underlying type
type
)

Returns an interned instance of this class for the given type.

public boolean
isCategory2()

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.isCategory2.

Returns true if this instance is a category-2 constant, meaning it takes up two slots in the constant pool, or false if this instance is category-1.
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.
public String
typeName()

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.typeName.

Returns the human name for the particular type of constant this instance is.
Inherited from org.droidparts.dexmaker.dx.rop.cst.TypedConstant:
getBasicFrameTypegetBasicTypegetFrameTypeisConstant

Field Detail

BOOLEANback to summary
public static final CstType BOOLEAN

non-null; instance corresponding to the class Boolean

BOOLEAN_ARRAYback to summary
public static final CstType BOOLEAN_ARRAY

non-null; instance corresponding to the type boolean[]

BYTEback to summary
public static final CstType BYTE

non-null; instance corresponding to the class Byte

BYTE_ARRAYback to summary
public static final CstType BYTE_ARRAY

non-null; instance corresponding to the type byte[]

CHAR_ARRAYback to summary
public static final CstType CHAR_ARRAY

non-null; instance corresponding to the type char[]

CHARACTERback to summary
public static final CstType CHARACTER

non-null; instance corresponding to the class Character

descriptorback to summary
private CstString descriptor

null-ok; the type descriptor corresponding to this instance, if calculated

DOUBLEback to summary
public static final CstType DOUBLE

non-null; instance corresponding to the class Double

DOUBLE_ARRAYback to summary
public static final CstType DOUBLE_ARRAY

non-null; instance corresponding to the type double[]

FLOATback to summary
public static final CstType FLOAT

non-null; instance corresponding to the class Float

FLOAT_ARRAYback to summary
public static final CstType FLOAT_ARRAY

non-null; instance corresponding to the type float[]

INT_ARRAYback to summary
public static final CstType INT_ARRAY

non-null; instance corresponding to the type int[]

INTEGERback to summary
public static final CstType INTEGER

non-null; instance corresponding to the class Integer

internsback to summary
private static final HashMap<Type, CstType> interns

non-null; map of interned types

LONGback to summary
public static final CstType LONG

non-null; instance corresponding to the class Long

LONG_ARRAYback to summary
public static final CstType LONG_ARRAY

non-null; instance corresponding to the type long[]

OBJECTback to summary
public static final CstType OBJECT

non-null; instance corresponding to the class Object

SHORTback to summary
public static final CstType SHORT

non-null; instance corresponding to the class Short

SHORT_ARRAYback to summary
public static final CstType SHORT_ARRAY

non-null; instance corresponding to the type short[]

typeback to summary
private final Type type

non-null; the underlying type

VOIDback to summary
public static final CstType VOID

non-null; instance corresponding to the class Void

Constructor Detail

CstTypeback to summary
public CstType(Type type)

Constructs an instance.

Parameters
type:Type

non-null; the underlying type

Method Detail

compareTo0back to summary
protected int compareTo0(Constant other)

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.compareTo0.

Doc from org.droidparts.dexmaker.dx.rop.cst.Constant.compareTo0.

Compare the values of this and another instance, which are guaranteed to be of the same class. Subclasses must implement this.

Parameters
other:Constant

non-null; the instance to compare to

Returns:int

-1, 0, or 1, as usual for a comparison

Annotations
@Override
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
forBoxedPrimitiveTypeback to summary
public static CstType forBoxedPrimitiveType(Type primitiveType)

Returns an instance of this class that represents the wrapper class corresponding to a given primitive type. For example, if given Type#INT, this method returns the class reference java.lang.Integer.

Parameters
primitiveType:Type

non-null; the primitive type

Returns:CstType

non-null; the corresponding wrapper class

getClassTypeback to summary
public Type getClassType()

Gets the underlying type (as opposed to the type corresponding to this instance as a constant, which is always Class).

Returns:Type

non-null; the type corresponding to the name

getDescriptorback to summary
public CstString getDescriptor()

Gets the type descriptor for this instance.

Returns:CstString

non-null; the descriptor

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 CstType intern(Type type)

Returns an interned instance of this class for the given type.

Parameters
type:Type

non-null; the underlying type

Returns:CstType

non-null; an appropriately-constructed instance

isCategory2back to summary
public boolean isCategory2()

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.isCategory2.

Doc from org.droidparts.dexmaker.dx.rop.cst.Constant.isCategory2.

Returns true if this instance is a category-2 constant, meaning it takes up two slots in the constant pool, or false if this instance is category-1.

Returns:boolean

true iff this instance is category-2

Annotations
@Override
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
typeNameback to summary
public String typeName()

Implements abstract org.droidparts.dexmaker.dx.rop.cst.Constant.typeName.

Doc from org.droidparts.dexmaker.dx.rop.cst.Constant.typeName.

Returns the human name for the particular type of constant this instance is.

Returns:String

non-null; the name

Annotations
@Override