Issue #382 AS3 Fixed adding new method

This commit is contained in:
Jindra Pet��k
2013-09-28 08:42:42 +02:00
parent 8a187ab493
commit 2609cfa9e3
2 changed files with 18 additions and 2 deletions
@@ -67,8 +67,15 @@ public class ABC {
public int addMethodBody(MethodBody body) {
bodies = Arrays.copyOf(bodies, bodies.length + 1);
bodies[bodies.length - 1] = body;
bodyIdxFromMethodIdx = Arrays.copyOf(bodyIdxFromMethodIdx, bodyIdxFromMethodIdx.length + 1);
bodyIdxFromMethodIdx[bodyIdxFromMethodIdx.length - 1] = body.method_info;
if (body.method_info >= bodyIdxFromMethodIdx.length) {
int newlen = body.method_info + 1;
int oldlen = bodyIdxFromMethodIdx.length;
bodyIdxFromMethodIdx = Arrays.copyOf(bodyIdxFromMethodIdx, newlen);
for (int i = oldlen; i < newlen; i++) {
bodyIdxFromMethodIdx[i] = -1;
}
bodyIdxFromMethodIdx[body.method_info] = bodies.length - 1;
}
return bodies.length - 1;
}