X-Git-Url: http://git.megacz.com/?p=org.ibex.classgen.git;a=blobdiff_plain;f=src%2Forg%2Fibex%2Fclassgen%2FMethodGen.java;fp=src%2Forg%2Fibex%2Fclassgen%2FMethodGen.java;h=d0cfee3a931929a22696d6e165b615c378f14954;hp=ef40595c82287c4be889e97590ec72c3023c970f;hb=8475b9cbaddccb3f2b9bd72ff81638ffee9cb3d5;hpb=ce0a7ff6d02f039cb92cb382034f2d83bdafba4e diff --git a/src/org/ibex/classgen/MethodGen.java b/src/org/ibex/classgen/MethodGen.java index ef40595..d0cfee3 100644 --- a/src/org/ibex/classgen/MethodGen.java +++ b/src/org/ibex/classgen/MethodGen.java @@ -24,6 +24,36 @@ public class MethodGen extends Type.Class.Method.Body { private Object[] arg; private ConstantPool.Ent[] cparg; + public void insertBlank(int idx) { + for(int i=0;i= idx) si.setDefaultTarget(pos+1); + for(int j=0;j= idx) si.setTarget(j, pos+1); + } + break; + } + default: + if (OP_BRANCH(op[i])) { + int pos = ((Integer)arg[i]).intValue(); + if (pos >= idx) arg[i] = N(pos+1); + } + break; + } + } + size++; + for(int i=size; i>idx; i--) { + op[i] = op[i-1]; + arg[i] = arg[i-1]; + cparg = null; + } + } + // Constructors //////////////////////////////////////////////////////////////////////////////