Package soot.jimple.spark.geom.heapinsE
Class HeapInsIntervalManager
- java.lang.Object
-
- soot.jimple.spark.geom.geomPA.IFigureManager
-
- soot.jimple.spark.geom.heapinsE.HeapInsIntervalManager
-
public class HeapInsIntervalManager extends IFigureManager
An abstraction for the management of all the heap insensitive encoding figures. We employ the naive management strategy, which is a linked list based manager. For HeapIns analysis, we have four types of figures: Type | Index all-to-many | 0 many-to-all | 1 one-to-one | 2 all-to-all all-to-all is special because whenever it was presented, all others can be deleted (its semantics is context insensitive). The corresponding index means header[0] stores all the all-to-one figures, and so on.- Author:
- xiao
-
-
Field Summary
Fields Modifier and Type Field Description static intALL_TO_ALLstatic intALL_TO_MANYstatic intDivisionsstatic intMANY_TO_ALLstatic intONE_TO_ONE
-
Constructor Summary
Constructors Constructor Description HeapInsIntervalManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description SegmentNodeaddNewFigure(int code, RectangleNode pnew)voidclear()Delete all the shapes recorded.voidflush()SegmentNode[]getFigures()int[]getSizes()booleanisThereUnprocessedFigures()voidmergeFigures(int upperSize)voidremoveUselessSegments()-
Methods inherited from class soot.jimple.spark.geom.geomPA.IFigureManager
cleanCache, getRectangleNode, getSegmentNode, reclaimRectangleNode, reclaimSegmentNode
-
-
-
-
Field Detail
-
Divisions
public static int Divisions
-
ALL_TO_ALL
public static final int ALL_TO_ALL
- See Also:
- Constant Field Values
-
ALL_TO_MANY
public static final int ALL_TO_MANY
- See Also:
- Constant Field Values
-
MANY_TO_ALL
public static final int MANY_TO_ALL
- See Also:
- Constant Field Values
-
ONE_TO_ONE
public static final int ONE_TO_ONE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getFigures
public SegmentNode[] getFigures()
- Specified by:
getFiguresin classIFigureManager
-
getSizes
public int[] getSizes()
- Specified by:
getSizesin classIFigureManager
-
isThereUnprocessedFigures
public boolean isThereUnprocessedFigures()
- Specified by:
isThereUnprocessedFiguresin classIFigureManager
-
flush
public void flush()
- Specified by:
flushin classIFigureManager
-
clear
public void clear()
Delete all the shapes recorded.
-
addNewFigure
public SegmentNode addNewFigure(int code, RectangleNode pnew)
- Specified by:
addNewFigurein classIFigureManager
-
mergeFigures
public void mergeFigures(int upperSize)
- Specified by:
mergeFiguresin classIFigureManager
-
removeUselessSegments
public void removeUselessSegments()
- Specified by:
removeUselessSegmentsin classIFigureManager
-
-