类 InstructionOffsetValue
- java.lang.Object
-
- proguard.evaluation.value.Value
-
- proguard.evaluation.value.Category1Value
-
- proguard.evaluation.value.InstructionOffsetValue
-
public class InstructionOffsetValue extends Category1Value
Representation of a partially evaluated instruction offset. It can contain 0 or more specific instruction offsets. Each instruction offset can be flagged as an ordinary offset, a method parameter, a method return value, a field value, a new instance value, or an exception handler.
-
-
字段概要
字段 修饰符和类型 字段 说明 static intCASTstatic InstructionOffsetValueEMPTY_VALUEstatic intEXCEPTION_HANDLERstatic intFIELD_VALUEstatic intINSTRUCTION_OFFSET_MASKstatic intMETHOD_PARAMETERstatic intMETHOD_RETURN_VALUEstatic intNEW_INSTANCE-
从类继承的字段 proguard.evaluation.value.Value
ALWAYS, MAYBE, NEVER, TYPE_DOUBLE, TYPE_FLOAT, TYPE_INSTRUCTION_OFFSET, TYPE_INTEGER, TYPE_LONG, TYPE_REFERENCE, TYPE_TOP, TYPE_UNKNOWN
-
-
构造器概要
构造器 构造器 说明 InstructionOffsetValue(int value)Creates a new InstructionOffsetValue with the given instruction offset.InstructionOffsetValue(int[] values)Creates a new InstructionOffsetValue with the given list of instruction offsets.
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 InstructionOffsetValueadd(int value)Returns an InstructionOffsetValue that contains the instructions offsets of this value and the given instruction offset.intcomputationalType()Returns the computational type of this Value.booleancontains(int value)Returns whether the given value is present in this list of instruction offsets.booleanequals(java.lang.Object object)InstructionOffsetValuegeneralize(InstructionOffsetValue other)Returns the generalization of this InstructionOffsetValue and the given other InstructionOffsetValue.Valuegeneralize(Value other)Returns the generalization of this Value and the given other Value.inthashCode()intinstructionOffset(int index)Returns the specified instruction offset of this value.intinstructionOffsetCount()Returns the number of instruction offsets of this value.InstructionOffsetValueinstructionOffsetValue()Returns this Value as an InstructionOffsetValue.java.lang.StringinternalType()Returns the internal type of this Value.booleanisCast(int index)Returns whether the specified instruction offset corresponds to a cast.booleanisExceptionHandler(int index)Returns whether the specified instruction offset corresponds to an exception handler.booleanisFieldValue(int index)Returns whether the specified instruction offset corresponds to a field value.booleanisMethodParameter(int index)Returns whether the specified instruction offset corresponds to a method parameter.booleanisMethodReturnValue(int index)Returns whether the specified instruction offset corresponds to a method return value.booleanisNewinstance(int index)Returns whether the specified instruction offset corresponds to a new instance.booleanisParticular()Returns whether this Value represents a single particular (known) value.booleanisSpecific()Returns whether this Value represents a single specific (but possibly unknown) value.intmaximumValue()Returns the maximum value from this list of instruction offsets.intmethodParameter(int index)Returns the specified method parameter (assuming it is one).intminimumValue()Returns the minimum value from this list of instruction offsets.booleanoverlaps(int startOffset, int endOffset)Return true if any instruction in the currentInstructionOffsetValueoverlaps with the given instruction range.InstructionOffsetValueremove(int value)Returns an InstructionOffsetValue that contains the instructions offsets of this value but not the given instruction offset.java.lang.StringtoString()-
从类继承的方法 proguard.evaluation.value.Category1Value
category1Value, isCategory2
-
从类继承的方法 proguard.evaluation.value.Value
category2Value, copyIfMutable, doubleValue, floatValue, integerValue, longValue, referenceValue
-
-
-
-
字段详细资料
-
EMPTY_VALUE
public static final InstructionOffsetValue EMPTY_VALUE
-
INSTRUCTION_OFFSET_MASK
public static final int INSTRUCTION_OFFSET_MASK
- 另请参阅:
- 常量字段值
-
METHOD_PARAMETER
public static final int METHOD_PARAMETER
- 另请参阅:
- 常量字段值
-
METHOD_RETURN_VALUE
public static final int METHOD_RETURN_VALUE
- 另请参阅:
- 常量字段值
-
FIELD_VALUE
public static final int FIELD_VALUE
- 另请参阅:
- 常量字段值
-
NEW_INSTANCE
public static final int NEW_INSTANCE
- 另请参阅:
- 常量字段值
-
CAST
public static final int CAST
- 另请参阅:
- 常量字段值
-
EXCEPTION_HANDLER
public static final int EXCEPTION_HANDLER
- 另请参阅:
- 常量字段值
-
-
方法详细资料
-
instructionOffsetCount
public int instructionOffsetCount()
Returns the number of instruction offsets of this value.
-
instructionOffset
public int instructionOffset(int index)
Returns the specified instruction offset of this value.
-
contains
public boolean contains(int value)
Returns whether the given value is present in this list of instruction offsets.
-
minimumValue
public int minimumValue()
Returns the minimum value from this list of instruction offsets. ReturnsInteger.MAX_VALUEif the list is empty.
-
maximumValue
public int maximumValue()
Returns the maximum value from this list of instruction offsets. ReturnsInteger.MIN_VALUEif the list is empty.
-
isMethodParameter
public boolean isMethodParameter(int index)
Returns whether the specified instruction offset corresponds to a method parameter.
-
methodParameter
public int methodParameter(int index)
Returns the specified method parameter (assuming it is one).
-
isMethodReturnValue
public boolean isMethodReturnValue(int index)
Returns whether the specified instruction offset corresponds to a method return value.
-
isFieldValue
public boolean isFieldValue(int index)
Returns whether the specified instruction offset corresponds to a field value.
-
isNewinstance
public boolean isNewinstance(int index)
Returns whether the specified instruction offset corresponds to a new instance.
-
isCast
public boolean isCast(int index)
Returns whether the specified instruction offset corresponds to a cast.
-
isExceptionHandler
public boolean isExceptionHandler(int index)
Returns whether the specified instruction offset corresponds to an exception handler.
-
add
public InstructionOffsetValue add(int value)
Returns an InstructionOffsetValue that contains the instructions offsets of this value and the given instruction offset.
-
remove
public InstructionOffsetValue remove(int value)
Returns an InstructionOffsetValue that contains the instructions offsets of this value but not the given instruction offset.
-
generalize
public final InstructionOffsetValue generalize(InstructionOffsetValue other)
Returns the generalization of this InstructionOffsetValue and the given other InstructionOffsetValue. The values of the other InstructionOffsetValue are guaranteed to remain at the end of the list, in the same order.
-
overlaps
public boolean overlaps(int startOffset, int endOffset)Return true if any instruction in the currentInstructionOffsetValueoverlaps with the given instruction range.
-
instructionOffsetValue
public final InstructionOffsetValue instructionOffsetValue()
从类复制的说明:ValueReturns this Value as an InstructionOffsetValue.- 覆盖:
instructionOffsetValue在类中Value
-
isSpecific
public boolean isSpecific()
从类复制的说明:ValueReturns whether this Value represents a single specific (but possibly unknown) value.- 覆盖:
isSpecific在类中Value
-
isParticular
public boolean isParticular()
从类复制的说明:ValueReturns whether this Value represents a single particular (known) value.- 覆盖:
isParticular在类中Value
-
generalize
public final Value generalize(Value other)
从类复制的说明:ValueReturns the generalization of this Value and the given other Value.- 指定者:
generalize在类中Value
-
computationalType
public final int computationalType()
从类复制的说明:ValueReturns the computational type of this Value.- 指定者:
computationalType在类中Value- 返回:
TYPE_INTEGER,TYPE_LONG,TYPE_FLOAT,TYPE_DOUBLE,TYPE_REFERENCE, orTYPE_INSTRUCTION_OFFSET.
-
internalType
public final java.lang.String internalType()
从类复制的说明:ValueReturns the internal type of this Value.- 指定者:
internalType在类中Value- 返回:
TypeConstants.BOOLEAN,TypeConstants.BYTE,TypeConstants.CHAR,TypeConstants.SHORT,TypeConstants.INT,TypeConstants.LONG,TypeConstants.FLOAT,TypeConstants.DOUBLE,TypeConstants.CLASS_START ... TypeConstants.CLASS_END, or an array type containing any of these types (always as String).
-
equals
public boolean equals(java.lang.Object object)
- 覆盖:
equals在类中java.lang.Object
-
hashCode
public int hashCode()
- 覆盖:
hashCode在类中java.lang.Object
-
toString
public java.lang.String toString()
- 覆盖:
toString在类中java.lang.Object
-
-