Package soot.util
Generally useful utility classes for Soot.
-
Interface Summary Interface Description Chain<E> Augmented data type guaranteeing O(1) insertion and removal from a set of ordered, unique elements.INumberedMap<K extends Numberable,V> Common interface for numbered mapsInvalidable A class implementing this interface can be invalidated.IterableNumberer<E> A numberer which also supports an iterator on newly-added objects.MultiMap<K,V> A map with sets as values.Numberable A class that numbers objects, so they can be placed in bitsets.Numberer<E> A numberer converts objects to unique non-negative integers, and vice-versa.Switch Basic interface used in the implementation of the Visitor design pattern.Switchable Basic interface used for visited objects in the Visitor design pattern. -
Class Summary Class Description AbstractMultiMap<K,V> ArrayNumberer<E extends Numberable> A class that numbers objects, so they can be placed in bitsets.ArraySet<E> Provides an implementation of the Set interface using an array.BitSetIterator A fast enumerator for sparse bit sets.BitVector This is the Soot internal implementation of java.util.BitSet with Felix and Jerome's clever efficient iterator.ConcurrentHashMultiMap<K,V> A concurrent version of theHashMultiMapCons<U,V> A Lisp-style cons cell.DeterministicHashMap<K,V> Implementation of HashMap which guarantees a stable (between executions) order for its elements upon iteration.EmptyChain<T> Class representing an unmodifiable empty chainEscapedReader A FilterReader which catches escaped characters (\\unnnn) in the input and de-escapes them.EscapedWriter A FilterWriter which catches to-be-escaped characters (\\unnnn) in the input and substitutes their escaped representation.FastStack<T> A fast, but simple stack implementation.HashChain<E> Reference implementation of the Chain interface, using a HashMap as the underlying structure.HashMultiMap<K,V> A map with sets as values, HashMap implementation.IdentityHashMultiMap<K,V> An identity-based version of the MultiMap.IdentityHashSet<E> Deprecated. can be replaced withjava.util.Collections.newSetFromMap(new java.util.IdentityHashMap()) IntegerNumberer A numberer that associates each number with the corresponding Long object.IterableMap<K,V> IterableMap.Mapping_Iterator<K,V> IterableSet<T> JasminOutputStream An output stream that wraps an existing output stream, and converts Jasmin code written into a class file that gets written to the original output stream.LargeNumberedMap<K extends Numberable,V> A java.util.Map with Numberable objects as the keys.LocalBitSetPacker Class for packing local numbers such that bit sets can easily be used to reference locals in bodiesMapNumberer<T> NumberedSet<N extends Numberable> Holds a set of Numberable objects.NumberedString A class that assigns integers to java.lang.Strings.PhaseDumper The PhaseDumper is a debugging aid.PriorityQueue<E> A fixed size priority queue based on bitsets.SharedBitSet SharedBitSetCache SharedCloseable<T extends Closeable> Reference counting wrapper for aCloseablethat closes the resource when the reference count reaches0.SingletonList<E> Deprecated. SmallNumberedMap<K extends Numberable,V> A java.util.Map with Numberable objects as the keys.StationaryArrayList<T> This class implements an ArrayList where the equality and hashCode use object equality, not list equality.StringNumberer A class that numbers strings, so they can be placed in bitsets.StringTools Utility methods for string manipulations commonly used in Soot.UnitMap<T> Maps each unit to the result ofmapTo.UnmodifiableIterableSet<E> An unmodifiable version of the IterableSet classWeakMapNumberer<T extends Numberable> A class that numbers objects but keeps weak references for garbage collection