1 19 20 25 26 27 28 29 30 31 package soot.grimp.internal; 32 33 import soot.*; 34 import soot.grimp.*; 35 import soot.jimple.*; 36 import soot.jimple.internal.*; 37 import soot.util.*; 38 import java.util.*; 39 40 public class GCastExpr extends AbstractCastExpr implements Precedence 41 { 42 public GCastExpr(Value op, Type type) 43 { 44 super(Grimp.v().newExprBox(op), type); 45 } 46 47 public int getPrecedence() { return 850; } 48 49 private String toString(String leftString, Value op, String opString) 50 { 51 String rightOp = opString; 52 53 if (op instanceof Precedence && 54 ((Precedence)op).getPrecedence() < getPrecedence()) 55 rightOp = "(" + rightOp + ")"; 56 return leftString + rightOp; 57 } 58 59 public String toString() 60 { 61 return toString("(" + getCastType().toString() + ") ", getOp(), 62 getOp().toString()); 63 } 64 65 public Object clone() 66 { 67 return new GCastExpr(Grimp.cloneIfNecessary(getOp()), getCastType()); 68 } 69 70 } 71 | Popular Tags |