public class TypeStateUtils extends Object
| Constructor and Description |
|---|
TypeStateUtils() |
| Modifier and Type | Method and Description |
|---|---|
static BitSet |
and(BitSet bs1,
BitSet bs2)
Logical AND two bit sets without modifying the source.
|
static BitSet |
andNot(BitSet bs1,
BitSet bs2)
Logical AND-NOT of the two bit sets, i.e., clearing all bits in first operand whose
corresponding bits are set in the second one, without modifying the source.
|
static BitSet |
clear(BitSet bs1,
int bitIndex)
Sets the bit specified by the index to
false without modifying the source. |
static boolean |
closeToAllInstantiated(BigBang bb,
List<AnalysisType> state) |
static boolean |
closeToAllInstantiated(BigBang bb,
TypeState state) |
static AnalysisObject[] |
concat(AnalysisObject[] oa1,
AnalysisObject[] oa2) |
static long[] |
extractBitSetField(BitSet bitSet)
This method gives access to the java.lang.BitSet's array of bytes.
|
static boolean |
getSizeIsSticky(BitSet bitSet) |
static int |
getWordsInUse(BitSet bitSet) |
static boolean |
holdsSingleTypeState(AnalysisObject[] objects) |
static boolean |
holdsSingleTypeState(AnalysisObject[] objects,
int size) |
static boolean |
isContextInsensitiveTypeState(BigBang bb,
TypeState state)
Check if a type state contains only context insensitive objects, i.e., the only information
it stores is the set of types.
|
static boolean |
isSuperset(BitSet first,
BitSet second)
Return true if
first is a superset of second. |
static boolean |
needsTrim(BitSet bitSet) |
static BitSet |
newBitSet(int index1,
int index2)
Create a new bit set with the bits of the inputs IDs set.
|
static BitSet |
or(BitSet bs1,
BitSet bs2)
Logical OR two bit sets without modifying the source.
|
static BitSet |
set(BitSet bs1,
int bitIndex)
Sets the bit specified by the index to
true without modifying the source. |
static AnalysisObject[] |
union(PointsToAnalysis bb,
AnalysisObject[] a1,
AnalysisObject[] a2)
Returns the union of the two analysis object arrays of the same type.
|
public static long[] extractBitSetField(BitSet bitSet)
bitSet - to be intrudedpublic static int getWordsInUse(BitSet bitSet)
public static boolean getSizeIsSticky(BitSet bitSet)
public static boolean needsTrim(BitSet bitSet)
public static boolean isSuperset(BitSet first, BitSet second)
first is a superset of second.public static AnalysisObject[] concat(AnalysisObject[] oa1, AnalysisObject[] oa2)
public static AnalysisObject[] union(PointsToAnalysis bb, AnalysisObject[] a1, AnalysisObject[] a2)
public static boolean isContextInsensitiveTypeState(BigBang bb, TypeState state)
public static boolean holdsSingleTypeState(AnalysisObject[] objects)
public static boolean holdsSingleTypeState(AnalysisObject[] objects, int size)
public static BitSet or(BitSet bs1, BitSet bs2)
public static BitSet and(BitSet bs1, BitSet bs2)
public static BitSet andNot(BitSet bs1, BitSet bs2)
public static BitSet clear(BitSet bs1, int bitIndex)
false without modifying the source.public static BitSet set(BitSet bs1, int bitIndex)
true without modifying the source.public static BitSet newBitSet(int index1, int index2)
public static boolean closeToAllInstantiated(BigBang bb, List<AnalysisType> state)