public class StampFactory extends Object
| Constructor and Description |
|---|
StampFactory() |
| Modifier and Type | Method and Description |
|---|---|
static Stamp |
alwaysNull() |
static Stamp |
contradiction() |
static Stamp[] |
createParameterStamps(Assumptions assumptions,
ResolvedJavaMethod method) |
static Stamp[] |
createParameterStamps(Assumptions assumptions,
ResolvedJavaMethod method,
boolean trustInterfaceTypes) |
static Stamp |
empty(JavaKind kind) |
static Stamp |
forConstant(JavaConstant value) |
static Stamp |
forConstant(JavaConstant value,
MetaAccessProvider metaAccess) |
static StampPair |
forDeclaredType(Assumptions assumptions,
JavaType returnType,
boolean nonNull) |
static FloatStamp |
forFloat(JavaKind kind,
double lowerBound,
double upperBound,
boolean nonNaN) |
static IntegerStamp |
forInteger(int bits) |
static IntegerStamp |
forInteger(JavaKind kind,
long lowerBound,
long upperBound) |
static IntegerStamp |
forInteger(JavaKind kind,
long lowerBound,
long upperBound,
long downMask,
long upMask) |
static IntegerStamp |
forIntegerWithMask(int bits,
long newLowerBound,
long newUpperBound,
IntegerStamp maskStamp)
Create a new stamp use
newLowerBound and newUpperBound computing the
appropriate IntegerStamp.upMask and IntegerStamp.downMask and incorporating
any mask information from maskStamp. |
static IntegerStamp |
forIntegerWithMask(int bits,
long newLowerBound,
long newUpperBound,
long newDownMask,
long newUpMask) |
static Stamp |
forKind(JavaKind kind)
Return a stamp for a Java kind, as it would be represented on the bytecode stack.
|
static IntegerStamp |
forUnsignedInteger(int bits) |
static IntegerStamp |
forUnsignedInteger(int bits,
long unsignedLowerBound,
long unsignedUpperBound) |
static IntegerStamp |
forUnsignedInteger(int bits,
long unsignedLowerBound,
long unsignedUpperBound,
long downMask,
long upMask) |
static Stamp |
forVoid()
Return the stamp for the
void type. |
static Stamp |
intValue() |
static Stamp |
nonZeroInt() |
static Stamp |
nonZeroLong() |
static Stamp |
object() |
static ObjectStamp |
object(TypeReference type) |
static ObjectStamp |
object(TypeReference type,
boolean nonNull) |
static Stamp |
objectNonNull() |
static ObjectStamp |
objectNonNull(TypeReference type) |
static Stamp |
pointer() |
static Stamp |
positiveInt() |
static Stamp |
tautology() |
public static Stamp tautology()
public static Stamp contradiction()
public static Stamp forKind(JavaKind kind)
public static Stamp forVoid()
void type. This will return a singleton instance than can be
compared using ==.public static Stamp intValue()
public static Stamp positiveInt()
public static Stamp nonZeroInt()
public static Stamp nonZeroLong()
public static Stamp empty(JavaKind kind)
public static IntegerStamp forInteger(JavaKind kind, long lowerBound, long upperBound, long downMask, long upMask)
public static IntegerStamp forInteger(JavaKind kind, long lowerBound, long upperBound)
public static IntegerStamp forIntegerWithMask(int bits, long newLowerBound, long newUpperBound, IntegerStamp maskStamp)
newLowerBound and newUpperBound computing the
appropriate IntegerStamp.upMask and IntegerStamp.downMask and incorporating
any mask information from maskStamp.bits - newLowerBound - newUpperBound - maskStamp - public static IntegerStamp forIntegerWithMask(int bits, long newLowerBound, long newUpperBound, long newDownMask, long newUpMask)
public static IntegerStamp forInteger(int bits)
public static IntegerStamp forUnsignedInteger(int bits)
public static IntegerStamp forUnsignedInteger(int bits, long unsignedLowerBound, long unsignedUpperBound)
public static IntegerStamp forUnsignedInteger(int bits, long unsignedLowerBound, long unsignedUpperBound, long downMask, long upMask)
public static FloatStamp forFloat(JavaKind kind, double lowerBound, double upperBound, boolean nonNaN)
public static Stamp forConstant(JavaConstant value)
public static Stamp forConstant(JavaConstant value, MetaAccessProvider metaAccess)
public static Stamp object()
public static Stamp objectNonNull()
public static Stamp alwaysNull()
public static ObjectStamp object(TypeReference type)
public static ObjectStamp objectNonNull(TypeReference type)
public static ObjectStamp object(TypeReference type, boolean nonNull)
public static Stamp[] createParameterStamps(Assumptions assumptions, ResolvedJavaMethod method)
public static Stamp[] createParameterStamps(Assumptions assumptions, ResolvedJavaMethod method, boolean trustInterfaceTypes)
public static Stamp pointer()
public static StampPair forDeclaredType(Assumptions assumptions, JavaType returnType, boolean nonNull)