From 8475b9cbaddccb3f2b9bd72ff81638ffee9cb3d5 Mon Sep 17 00:00:00 2001 From: adam Date: Sun, 10 Jul 2005 03:03:11 +0000 Subject: [PATCH] MethodGen.insertBlank(int) darcs-hash:20050710030311-5007d-6abd49f2e3be4a9e71447474eca355059d8fa545.gz --- src/org/ibex/classgen/MethodGen.java | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) 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 ////////////////////////////////////////////////////////////////////////////// -- 1.7.10.4