1 19 20 package soot.dava.internal.SET; 21 22 import java.util.*; 23 import soot.util.*; 24 import soot.jimple.*; 25 import soot.dava.internal.asg.*; 26 import soot.dava.internal.AST.*; 27 import soot.dava.internal.javaRep.*; 28 import soot.dava.toolkits.base.misc.*; 29 30 public class SETWhileNode extends SETCycleNode 31 { 32 public SETWhileNode( AugmentedStmt characterizingStmt, IterableSet body) 33 { 34 super( characterizingStmt, body); 35 36 IterableSet subBody = (IterableSet) body.clone(); 37 subBody.remove( characterizingStmt); 38 add_SubBody( subBody); 39 } 40 41 public IterableSet get_NaturalExits() 42 { 43 IterableSet c = new IterableSet(); 44 45 c.add( get_CharacterizingStmt()); 46 47 return c; 48 } 49 50 public ASTNode emit_AST() 51 { 52 return new ASTWhileNode( get_Label(), 53 (ConditionExpr) ((IfStmt) get_CharacterizingStmt().get_Stmt()).getCondition(), 54 emit_ASTBody( (IterableSet) body2childChain.get( subBodies.get(0)))); 55 } 56 57 public AugmentedStmt get_EntryStmt() 58 { 59 return get_CharacterizingStmt(); 60 } 61 } 62 | Popular Tags |