001    package AST;
002    
003    import java.util.HashSet;
004    import java.io.File;
005    import java.util.*;
006    import beaver.*;
007    import java.util.ArrayList;
008    import java.util.zip.*;
009    import java.io.*;
010    import java.io.FileNotFoundException;
011    import java.util.Collection;
012    
013    /**
014      * @ast interface
015     * 
016     */
017    public interface BranchPropagation {
018    public void collectBranches(Collection c);
019    
020    public Stmt branchTarget(Stmt branchStmt);
021    
022    public void collectFinally(Stmt branchStmt, ArrayList list);
023    
024      /**
025       * @attribute syn
026       * @aspect BranchTarget
027       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:32
028       */
029      @SuppressWarnings({"unchecked", "cast"})
030      public Collection targetContinues();
031      /**
032       * @attribute syn
033       * @aspect BranchTarget
034       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:33
035       */
036      @SuppressWarnings({"unchecked", "cast"})
037      public Collection targetBreaks();
038      /**
039       * @attribute syn
040       * @aspect BranchTarget
041       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:34
042       */
043      @SuppressWarnings({"unchecked", "cast"})
044      public Collection targetBranches();
045      /**
046       * @attribute syn
047       * @aspect BranchTarget
048       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:35
049       */
050      @SuppressWarnings({"unchecked", "cast"})
051      public Collection escapedBranches();
052      /**
053       * @attribute syn
054       * @aspect BranchTarget
055       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:36
056       */
057      @SuppressWarnings({"unchecked", "cast"})
058      public Collection branches();
059      /**
060       * @attribute syn
061       * @aspect BranchTarget
062       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:39
063       */
064      @SuppressWarnings({"unchecked", "cast"})
065      public boolean targetOf(ContinueStmt stmt);
066      /**
067       * @attribute syn
068       * @aspect BranchTarget
069       * @declaredat /home/jesper/svn/JastAddJ/Java1.4Frontend/BranchTarget.jrag:40
070       */
071      @SuppressWarnings({"unchecked", "cast"})
072      public boolean targetOf(BreakStmt stmt);
073    }