Class WatchDogTimer

  • All Implemented Interfaces:
    soot.HasPhaseOptions

    public class WatchDogTimer
    extends soot.SceneTransformer
    implements soot.HasPhaseOptions
    A transformer that calls System.exit() after a certain amount of time. This transformer is useful for killing tests that are in tight loops. We use a transformer instead of building this directly into the KernelMain class to get parameter handling for free.
    Since:
    Ptolemy II 2.0
    Version:
    $Id$
    Author:
    Stephen Neuendorffer, Christopher Hylands
    Pt.AcceptedRating:
    Red (cxh)
    Pt.ProposedRating:
    Red (cxh)
    • Method Detail

      • cancel

        public void cancel()
      • getPhaseName

        public java.lang.String getPhaseName()
        Specified by:
        getPhaseName in interface soot.HasPhaseOptions
      • getDefaultOptions

        public java.lang.String getDefaultOptions()
        Specified by:
        getDefaultOptions in interface soot.HasPhaseOptions
      • getDeclaredOptions

        public java.lang.String getDeclaredOptions()
        Specified by:
        getDeclaredOptions in interface soot.HasPhaseOptions
      • internalTransform

        protected void internalTransform​(java.lang.String phaseName,
                                         java.util.Map options)
        Start up a watch dog timer that will call System.exit(). Sample option arguments:
                -p wjtp.watchDogTimer time:10000
          
        means that exit will be called in 10,000 ms, or 10 seconds
        Specified by:
        internalTransform in class soot.SceneTransformer
        Parameters:
        phaseName - The name of the phase, for example wjtp.watchDogTimer.
        options - The options Map. This method uses the time option to specify the number of milliseconds until System.exit() should be called.