Package soot

Class TrapManager


  • public class TrapManager
    extends Object
    Utility methods for dealing with traps.
    • Constructor Detail

      • TrapManager

        public TrapManager()
    • Method Detail

      • isExceptionCaughtAt

        public static boolean isExceptionCaughtAt​(SootClass e,
                                                  Unit u,
                                                  Body b)
        If exception e is caught at unit u in body b, return true; otherwise, return false.
      • getTrapsAt

        public static List<Trap> getTrapsAt​(Unit unit,
                                            Body b)
        Returns the list of traps caught at Unit u in Body b.
      • getTrappedUnitsOf

        public static Set<Unit> getTrappedUnitsOf​(Body b)
        Returns a set of units which lie inside the range of any trap.
      • splitTrapsAgainst

        public static void splitTrapsAgainst​(Body b,
                                             Unit rangeStart,
                                             Unit rangeEnd)
        Splits all traps so that they do not cross the range rangeStart - rangeEnd. Note that rangeStart is inclusive, rangeEnd is exclusive.
      • getExceptionTypesOf

        public static List<RefType> getExceptionTypesOf​(Unit u,
                                                        Body body)
        Given a body and a unit handling an exception, returns the list of exception types possibly caught by the handler.