public static class OpcodeStack.Item extends Object
Modifier and Type | Class and Description |
---|---|
static interface |
OpcodeStack.Item.SpecialKind |
Modifier and Type | Field and Description |
---|---|
static int |
AVERAGE_COMPUTED_USING_DIVISION |
static int |
FILE_OPENED_IN_APPEND_MODE |
static int |
FILE_SEPARATOR_STRING |
static int |
FLOAT_MATH |
static int |
HASHCODE_INT |
static int |
HASHCODE_INT_REMAINDER |
static int |
INTEGER_SUM |
static int |
LOW_8_BITS_CLEAR |
static int |
MATH_ABS |
static int |
MATH_ABS_OF_HASHCODE |
static int |
MATH_ABS_OF_RANDOM |
static int |
NASTY_FLOAT_MATH |
static int |
NEWLY_ALLOCATED |
static int |
NON_NEGATIVE |
static int |
NONZERO_MEANS_NULL |
static int |
NOT_SPECIAL |
static int |
RANDOM_INT |
static int |
RANDOM_INT_REMAINDER |
static int |
RESULT_OF_I2L |
static int |
RESULT_OF_L2I |
static int |
SERVLET_OUTPUT |
static int |
SERVLET_REQUEST_TAINTED |
static int |
SIGNED_BYTE |
static HashMap<Integer,String> |
specialKindNames |
static int |
TYPE_ONLY |
static Object |
UNKNOWN |
static int |
ZERO_MEANS_NULL |
Constructor and Description |
---|
OpcodeStack.Item() |
OpcodeStack.Item(OpcodeStack.Item it) |
OpcodeStack.Item(OpcodeStack.Item it,
int reg) |
OpcodeStack.Item(OpcodeStack.Item it,
String signature) |
OpcodeStack.Item(String signature) |
OpcodeStack.Item(String signature,
FieldAnnotation f) |
OpcodeStack.Item(String signature,
FieldAnnotation f,
int fieldLoadedFromRegister) |
OpcodeStack.Item(String signature,
int constValue) |
OpcodeStack.Item(String signature,
Object constantValue) |
Modifier and Type | Method and Description |
---|---|
boolean |
checkForIntegerMinValue()
Value could be Integer.MIN_VALUE
|
void |
clearNewlyAllocated() |
OpcodeStack.Item |
cloneAndSetSpecialKind(int specialKind) |
boolean |
couldBeZero() |
static int |
defineNewSpecialKind(String name) |
boolean |
equals(Object o) |
Object |
getConstant()
Returns a constant value for this Item, if known.
|
String |
getElementSignature()
Deprecated.
|
FieldAnnotation |
getFieldAnnotation()
Deprecated.
|
int |
getFieldLoadedFromRegister()
If this value was loaded from an instance field,
give the register number containing the object that the field was loaded from.
|
String |
getHttpParameterName() |
int |
getInjectionPC() |
org.apache.bcel.classfile.JavaClass |
getJavaClass()
Returns null for primitive and arrays
|
int |
getPC() |
int |
getRegisterNumber() |
XMethod |
getReturnValueOf() |
String |
getSignature() |
int |
getSize() |
int |
getSpecialKind() |
int |
getSpecialKindForAbs() |
int |
getSpecialKindForRemainder() |
Object |
getUserValue()
gets the detector specified value for this item
|
XField |
getXField() |
boolean |
hasConstantValue(int value) |
boolean |
hasConstantValue(long value) |
int |
hashCode() |
static OpcodeStack.Item |
initialArgument(String signature,
int reg) |
boolean |
isArray() |
boolean |
isBooleanNullnessValue() |
boolean |
isInitialParameter() |
boolean |
isNewlyAllocated() |
boolean |
isNonNegative() |
boolean |
isNull() |
boolean |
isPrimitive() |
boolean |
isServletParameterTainted() |
boolean |
isServletWriter() |
boolean |
isWide() |
void |
makeCrossMethod() |
static OpcodeStack.Item |
merge(OpcodeStack.Item i1,
OpcodeStack.Item i2) |
boolean |
mightRarelyBeNegative()
The result of applying Math.abs to a checkForIntegerMinValue() value
|
boolean |
mustBeZero() |
static OpcodeStack.Item |
nullItem(String signature) |
boolean |
sameValue(OpcodeStack.Item that) |
void |
setCouldBeNegative() |
void |
setIsServletWriter() |
void |
setLoadedFromField(XField f,
int fieldLoadedFromRegister) |
void |
setPC(int pc) |
void |
setServletParameterTainted() |
void |
setSpecialKind(int specialKind) |
void |
setUserValue(Object value)
attaches a detector specified value to this item
to use this method, detector should be annotated with
CustomUserValue . |
String |
toString() |
static OpcodeStack.Item |
typeOnly(String signature) |
boolean |
usesTwoSlots() |
boolean |
valueCouldBeNegative() |
@OpcodeStack.Item.SpecialKind public static final int NOT_SPECIAL
@OpcodeStack.Item.SpecialKind public static final int SIGNED_BYTE
@OpcodeStack.Item.SpecialKind public static final int RANDOM_INT
@OpcodeStack.Item.SpecialKind public static final int LOW_8_BITS_CLEAR
@OpcodeStack.Item.SpecialKind public static final int HASHCODE_INT
@OpcodeStack.Item.SpecialKind public static final int INTEGER_SUM
@OpcodeStack.Item.SpecialKind public static final int AVERAGE_COMPUTED_USING_DIVISION
@OpcodeStack.Item.SpecialKind public static final int FLOAT_MATH
@OpcodeStack.Item.SpecialKind public static final int RANDOM_INT_REMAINDER
@OpcodeStack.Item.SpecialKind public static final int HASHCODE_INT_REMAINDER
@OpcodeStack.Item.SpecialKind public static final int FILE_SEPARATOR_STRING
@OpcodeStack.Item.SpecialKind public static final int MATH_ABS
@OpcodeStack.Item.SpecialKind public static final int MATH_ABS_OF_RANDOM
@OpcodeStack.Item.SpecialKind public static final int MATH_ABS_OF_HASHCODE
@OpcodeStack.Item.SpecialKind public static final int NON_NEGATIVE
@OpcodeStack.Item.SpecialKind public static final int NASTY_FLOAT_MATH
@OpcodeStack.Item.SpecialKind public static final int FILE_OPENED_IN_APPEND_MODE
@OpcodeStack.Item.SpecialKind public static final int SERVLET_REQUEST_TAINTED
@OpcodeStack.Item.SpecialKind public static final int NEWLY_ALLOCATED
@OpcodeStack.Item.SpecialKind public static final int ZERO_MEANS_NULL
@OpcodeStack.Item.SpecialKind public static final int NONZERO_MEANS_NULL
@OpcodeStack.Item.SpecialKind public static final int RESULT_OF_I2L
@OpcodeStack.Item.SpecialKind public static final int RESULT_OF_L2I
@OpcodeStack.Item.SpecialKind public static final int SERVLET_OUTPUT
@OpcodeStack.Item.SpecialKind public static final int TYPE_ONLY
@StaticConstant public static final HashMap<Integer,String> specialKindNames
public static final Object UNKNOWN
public OpcodeStack.Item(String signature, int constValue)
public OpcodeStack.Item(String signature)
public OpcodeStack.Item(OpcodeStack.Item it)
public OpcodeStack.Item(OpcodeStack.Item it, String signature)
public OpcodeStack.Item(OpcodeStack.Item it, int reg)
public OpcodeStack.Item(String signature, FieldAnnotation f)
public OpcodeStack.Item(String signature, FieldAnnotation f, int fieldLoadedFromRegister)
public OpcodeStack.Item()
@OpcodeStack.Item.SpecialKind public static int defineNewSpecialKind(String name)
public void makeCrossMethod()
public int getSize()
public int getPC()
public void setPC(int pc)
public boolean isWide()
public boolean usesTwoSlots()
public boolean sameValue(OpcodeStack.Item that)
public static OpcodeStack.Item merge(OpcodeStack.Item i1, OpcodeStack.Item i2)
public static OpcodeStack.Item initialArgument(String signature, int reg)
public static OpcodeStack.Item typeOnly(String signature)
public int getFieldLoadedFromRegister()
public void setLoadedFromField(XField f, int fieldLoadedFromRegister)
@CheckForNull public String getHttpParameterName()
public int getInjectionPC()
public void setCouldBeNegative()
public static OpcodeStack.Item nullItem(String signature)
@CheckForNull public org.apache.bcel.classfile.JavaClass getJavaClass() throws ClassNotFoundException
ClassNotFoundException
public boolean isArray()
@Deprecated public String getElementSignature()
public boolean isNonNegative()
public boolean isPrimitive()
public int getRegisterNumber()
public String getSignature()
public Object getConstant()
@Deprecated public FieldAnnotation getFieldAnnotation()
public XField getXField()
public void setSpecialKind(@OpcodeStack.Item.SpecialKind int specialKind)
specialKind
- The specialKind to set.public OpcodeStack.Item cloneAndSetSpecialKind(@OpcodeStack.Item.SpecialKind int specialKind)
@OpcodeStack.Item.SpecialKind public int getSpecialKind()
public boolean isBooleanNullnessValue()
public void setUserValue(@Nullable Object value)
attaches a detector specified value to this item
to use this method, detector should be annotated with CustomUserValue
.
value
- the custom value to setOpcodeStack.CustomUserValue
@CheckForNull public XMethod getReturnValueOf()
public boolean couldBeZero()
public boolean mustBeZero()
@Nullable public Object getUserValue()
public boolean isServletParameterTainted()
public void setServletParameterTainted()
public void setIsServletWriter()
public boolean isServletWriter()
public boolean valueCouldBeNegative()
@OpcodeStack.Item.SpecialKind public int getSpecialKindForAbs()
@OpcodeStack.Item.SpecialKind public int getSpecialKindForRemainder()
public boolean checkForIntegerMinValue()
public boolean mightRarelyBeNegative()
public boolean isInitialParameter()
public boolean isNull()
public void clearNewlyAllocated()
public boolean isNewlyAllocated()
public boolean hasConstantValue(int value)
public boolean hasConstantValue(long value)
Copyright © 2003–2015. All rights reserved.