Class TryCatchDetails


  • public class TryCatchDetails
    extends Object
    auxiliary used by CFG to store details of a specific try catch block
    • Constructor Detail

      • TryCatchDetails

        public TryCatchDetails​(CFG cfg,
                               org.objectweb.asm.Label start,
                               org.objectweb.asm.Label end,
                               org.objectweb.asm.Label handler,
                               String type,
                               boolean isTriggerHandler)
        construct a try catch details instance
        Parameters:
        cfg - the control flow graph
        start - the try block start
        end - the try block end
        handler - the handler block start
        type - the handled exception type
        isTriggerHandler - true if this handler handles Byteman errors
    • Method Detail

      • getStart

        public org.objectweb.asm.Label getStart()
      • getEnd

        public org.objectweb.asm.Label getEnd()
      • getHandler

        public org.objectweb.asm.Label getHandler()
      • getType

        public String getType()
      • isTriggerHandler

        public boolean isTriggerHandler()
      • addOpenEnter

        public void addOpenEnter​(CodeLocation openEnter)
        add a new monitor enter location to the list of open locations associated with this handler maintaining the reverse position ordering
        Parameters:
        openEnter - the location of the monitor enter
      • containsOpenEnter

        public boolean containsOpenEnter​(CodeLocation openEnter)
        check if a monitor enter location belongs to the list of open locations associated with this handler
        Parameters:
        openEnter - the location of the monitor enter
        Returns:
        true if it belongs ot the list
      • addOpenLocations

        public void addOpenLocations​(List<CodeLocation> openMonitorEnters)
        add all the open locations associated with this handler to the supplied list of open locations maintaining the reverse position ordering
        Parameters:
        openMonitorEnters - list of locations of the monitor enters
      • addShadowRegion

        public void addShadowRegion​(TryCatchDetails tryCatchDetails)
        add a shadowing region to the list of regions which shadow this one
        Parameters:
        tryCatchDetails - detaisl of a try catch block
      • hasShadowRegion

        public boolean hasShadowRegion​(TryCatchDetails tryCatchDetails)