Class CstKnownNull
java.lang.Object
com.android.dx.rop.cst.Constant
com.android.dx.rop.cst.TypedConstant
com.android.dx.rop.cst.CstLiteralBits
com.android.dx.rop.cst.CstKnownNull
- All Implemented Interfaces:
TypeBearer, ToHuman, Comparable<Constant>
Constant type to represent a known-
null value.-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final CstKnownNullnon-null;unique instance of this class -
Method Summary
Modifier and TypeMethodDescriptionprotected intcompareTo0(Constant other) Compare the values of this and another instance, which are guaranteed to be of the same class.booleanbooleanReturns whether or not this instance's value may be accurately represented as anint.intGets the value asintbits.longGets the value aslongbits.getType()Gets the type associated with this instance.inthashCode()booleanReturnstrueif this instance is a category-2 constant, meaning it takes up two slots in the constant pool, orfalseif this instance is category-1.toHuman()Return the "human" string form of this instance.toString()typeName()Returns the human name for the particular type of constant this instance is.Methods inherited from class CstLiteralBits
fitsIn16Bits, fitsIn8BitsMethods inherited from class TypedConstant
getBasicFrameType, getBasicType, getFrameType, isConstant
-
Field Details
-
THE_ONE
non-null;unique instance of this class
-
-
Method Details
-
equals
-
hashCode
-
compareTo0
Compare the values of this and another instance, which are guaranteed to be of the same class. Subclasses must implement this.- Specified by:
compareTo0in classConstant- Parameters:
other-non-null;the instance to compare to- Returns:
-1,0, or1, as usual for a comparison
-
toString
-
getType
-
typeName
-
isCategory2
public boolean isCategory2()Returnstrueif this instance is a category-2 constant, meaning it takes up two slots in the constant pool, orfalseif this instance is category-1.- Specified by:
isCategory2in classConstant- Returns:
trueiff this instance is category-2
-
toHuman
Return the "human" string form of this instance. This is generally less "debuggy" thantoString().- Returns:
non-null;the human string form
-
fitsInInt
public boolean fitsInInt()Returns whether or not this instance's value may be accurately represented as anint. The rule is that if there is anintwhich may be sign-extended to yield this instance's value, then this method returnstrue. Otherwise, it returnsfalse.- Specified by:
fitsInIntin classCstLiteralBits- Returns:
trueiff this instance fits in anint
-
getIntBits
public int getIntBits()Gets the value asintbits. If this instance contains more bits than fit in anint, then this returns only the low-order bits. As "literal bits," a known-null is always represented as the number zero.- Specified by:
getIntBitsin classCstLiteralBits- Returns:
- the bits
-
getLongBits
public long getLongBits()Gets the value aslongbits. If this instance contains fewer bits than fit in along, then the result of this method is the sign extension of the value. As "literal bits," a known-null is always represented as the number zero.- Specified by:
getLongBitsin classCstLiteralBits- Returns:
- the bits
-