1 15 16 package javassist.convert; 17 18 import javassist.CtMethod; 19 import javassist.NotFoundException; 20 import javassist.bytecode.*; 21 22 public class TransformAfter extends TransformBefore { 23 public TransformAfter(Transformer next, 24 CtMethod origMethod, CtMethod afterMethod) 25 throws NotFoundException 26 { 27 super(next, origMethod, afterMethod); 28 } 29 30 protected int match2(int pos, CodeIterator iterator) throws BadBytecode { 31 iterator.move(pos); 32 iterator.insert(saveCode); 33 iterator.insert(loadCode); 34 int p = iterator.insertGap(3); 35 iterator.insert(loadCode); 36 pos = iterator.next(); 37 iterator.writeByte(iterator.byteAt(pos), p); 38 iterator.write16bit(iterator.u16bitAt(pos + 1), p + 1); 39 iterator.writeByte(INVOKESTATIC, pos); 40 iterator.write16bit(newIndex, pos + 1); 41 iterator.move(p); 42 return iterator.next(); 43 } 44 } 45 | Popular Tags |