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 }