1 19 20 25 26 package soot.jimple.toolkits.annotation.tags; 27 28 import soot.*; 29 30 import java.util.*; 31 import java.io.*; 32 33 35 public class ArrayCheckTag implements OneByteCodeTag 36 { 37 private final static String NAME = "ArrayCheckTag"; 38 39 private boolean lowerCheck = true; 40 private boolean upperCheck = true; 41 42 46 public ArrayCheckTag(boolean lower, boolean upper) 47 { 48 lowerCheck = lower; 49 upperCheck = upper; 50 } 51 52 56 public byte[] getValue() 57 { 58 byte[] value = new byte[1]; 59 60 value[0] = 0; 61 62 if (lowerCheck) 63 value[0] |= 0x01; 64 65 if (upperCheck) 66 value[0] |= 0x02; 67 68 return value; 69 } 70 71 73 public boolean isCheckUpper() 74 { 75 return upperCheck; 76 } 77 78 80 public boolean isCheckLower() 81 { 82 return lowerCheck; 83 } 84 85 public String getName() 86 { 87 return NAME; 88 } 89 90 public String toString() 91 { 92 return (lowerCheck ? "[potentially unsafe lower bound]": "[safe lower bound]") +"" + (upperCheck ? "[potentially unsafe upper bound]":"[safe upper bound]"); 93 } 94 } 95 96 97 | Popular Tags |