1 19 20 21 22 26 27 package soot.dava.internal.javaRep; 28 29 import soot.*; 30 import soot.util.*; 31 import soot.grimp.*; 32 import soot.jimple.internal.*; 34 35 public class DNotExpr extends AbstractUnopExpr 36 { 37 public DNotExpr(Value op) 38 { 39 super(Grimp.v().newExprBox(op)); 40 } 41 42 public Object clone() 43 { 44 return new DNotExpr(Grimp.cloneIfNecessary(getOpBox().getValue())); 45 } 46 47 public void toString( UnitPrinter up ) { 48 up.literal( " ! (" ); 49 getOpBox().toString(up); 50 up.literal( ")" ); 51 } 52 53 public String toString() 54 { 55 return " ! (" + ( getOpBox().getValue()).toString() +")"; 56 } 57 58 59 public Type getType(){ 60 Value op = getOpBox().getValue(); 61 62 if(op.getType().equals(IntType.v()) || op.getType().equals(ByteType.v()) || 63 op.getType().equals(ShortType.v()) || op.getType().equals(BooleanType.v()) || 64 op.getType().equals(CharType.v())) 65 return IntType.v(); 66 else if(op.getType().equals(LongType.v())) 67 return LongType.v(); 68 else if(op.getType().equals(DoubleType.v())) 69 return DoubleType.v(); 70 else if(op.getType().equals(FloatType.v())) 71 return FloatType.v(); 72 else 73 return UnknownType.v(); 74 } 75 76 79 public void apply(Switch sw){ 80 } 81 82 83 84 85 86 87 88 89 90 91 92 public boolean equivTo(Object o) 93 { 94 if (o instanceof DNotExpr) 95 { 96 return getOpBox().getValue().equivTo(((DNotExpr)o).getOpBox().getValue()); 97 } 98 return false; 99 } 100 101 102 public int equivHashCode() 103 { 104 return getOpBox().getValue().equivHashCode(); 105 } 106 } 107 | Popular Tags |