update jump.stackMap

give return address a type


git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@505 379699f6-c40d-0410-875b-85095c16579e
stable
jochen 26 years ago
parent 69db3adb88
commit 23e89665b7
  1. 12
      jode/jode/flow/JsrBlock.java

@ -1,4 +1,4 @@
/* JsrBlock Copyright (C) 1997-1998 Jochen Hoenicke. /* JsrBlock Copyright (C) 1998-1999 Jochen Hoenicke.
* *
* This program is free software; you can redistribute it and/or modify * This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by * it under the terms of the GNU General Public License as published by
@ -16,8 +16,10 @@
* *
* $Id$ * $Id$
*/ */
package jode.flow; package jode.flow;
import jode.decompiler.LocalInfo; import jode.decompiler.LocalInfo;
import jode.Type;
/** /**
* This block represents a jsr instruction. A jsr instruction is * This block represents a jsr instruction. A jsr instruction is
@ -74,7 +76,13 @@ public class JsrBlock extends StructuredBlock {
/* The innerBlock is startet with a new stack entry (return address) /* The innerBlock is startet with a new stack entry (return address)
* It should GOTO immediately and never complete. * It should GOTO immediately and never complete.
*/ */
innerBlock.mapStackToLocal(stack.push(new LocalInfo())); LocalInfo retAddr = new LocalInfo();
retAddr.setType(Type.tUObject);
innerBlock.mapStackToLocal(stack.push(retAddr));
if (jump != null) {
jump.stackMap = stack;
return null;
}
return stack; return stack;
} }

Loading…
Cancel
Save