1 19 20 25 26 27 28 29 30 package soot.baf.internal; 31 32 import soot.*; 33 import soot.baf.*; 34 import soot.util.*; 35 import java.util.*; 36 37 public abstract class BDupInst extends AbstractInst implements DupInst 38 { 39 40 public int getInCount() 41 { 42 return getUnderTypes().size() + getOpTypes().size(); 43 } 44 45 public int getInMachineCount() 46 { 47 int count = 0; 48 49 Iterator underTypesIt = getUnderTypes().iterator(); 50 while(underTypesIt.hasNext()) { 51 count += JasminClass.sizeOfType(((Type) underTypesIt.next())); 52 } 53 54 Iterator opTypesIt = getOpTypes().iterator(); 55 while(opTypesIt.hasNext()) { 56 count += JasminClass.sizeOfType(((Type) opTypesIt.next())); 57 } 58 59 60 return count; 61 } 62 63 public int getOutCount() 64 { 65 return getUnderTypes().size() + 2*getOpTypes().size(); 66 } 67 68 69 70 public int getOutMachineCount() 71 { 72 int count = 0; 73 74 Iterator underTypesIt = getUnderTypes().iterator(); 75 while(underTypesIt.hasNext()) { 76 count += JasminClass.sizeOfType(((Type) underTypesIt.next())); 77 } 78 79 Iterator opTypesIt = getOpTypes().iterator(); 80 while(opTypesIt.hasNext()) { 81 count += 2*JasminClass.sizeOfType(((Type) opTypesIt.next())); 82 } 83 return count; 84 } 85 86 87 88 public void apply(Switch sw) 89 { 90 throw new RuntimeException (); 91 } 92 93 } 94 95 96 97 | Popular Tags |