1 19 20 25 26 27 28 29 30 31 package soot.jimple.internal; 32 33 import soot.tagkit.*; 34 import soot.*; 35 import soot.jimple.*; 36 import soot.util.*; 37 import java.util.*; 38 39 abstract public class AbstractJimpleFloatBinopExpr 40 extends AbstractFloatBinopExpr implements ConvertToBaf 41 { 42 AbstractJimpleFloatBinopExpr(Value op1, Value op2) 43 { 44 this(Jimple.v().newArgBox(op1), 45 Jimple.v().newArgBox(op2)); 46 } 47 48 protected AbstractJimpleFloatBinopExpr(ValueBox op1Box, ValueBox op2Box) 49 { 50 this.op1Box = op1Box; 51 this.op2Box = op2Box; 52 } 53 54 public void convertToBaf(JimpleToBafContext context, List out) 55 { 56 ((ConvertToBaf) this.getOp1()).convertToBaf(context, out); 57 ((ConvertToBaf) this.getOp2()).convertToBaf(context, out); 58 Unit u = (Unit)makeBafInst(this.getOp1().getType()); 59 out.add(u); 60 Iterator it = context.getCurrentUnit().getTags().iterator(); 61 while(it.hasNext()) { 62 u.addTag((Tag) it.next()); 63 } 64 } 65 66 abstract Object makeBafInst(Type opType); 67 } 68 | Popular Tags |