bug fix in analyzeStack

git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@510 379699f6-c40d-0410-875b-85095c16579e
stable
jochen 26 years ago
parent 36834d3fcc
commit 72244b562e
  1. 10
      jode/jode/flow/TransformExceptionHandlers.java

@ -1,4 +1,4 @@
/* TransformExceptionHandlers Copyright (C) 1997-1998 Jochen Hoenicke. /* TransformExceptionHandlers 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,6 +16,7 @@
* *
* $Id$ * $Id$
*/ */
package jode.flow; package jode.flow;
import jode.AssertError; import jode.AssertError;
import jode.Decompiler; import jode.Decompiler;
@ -555,10 +556,8 @@ public class TransformExceptionHandlers {
/* Now remove the jump (after the throw) from the /* Now remove the jump (after the throw) from the
* catch block so that we can forget about it. * catch block so that we can forget about it.
*/ */
catchBlock.subBlocks[1]
.jump.destination.predecessors.removeElement(catchFlow);
catchFlow.removeSuccessor(catchBlock.subBlocks[1].jump);
ComplexExpression monexit = (ComplexExpression) ComplexExpression monexit = (ComplexExpression)
((InstructionBlock) catchBlock.subBlocks[0]).instr; ((InstructionBlock) catchBlock.subBlocks[0]).instr;
LocalInfo local = LocalInfo local =
@ -682,8 +681,7 @@ public class TransformExceptionHandlers {
} }
/* Remove the jump of the throw instruction. /* Remove the jump of the throw instruction.
*/ */
catchFlow.removeSuccessor catchFlow.removeSuccessor(catchBlock.getSubBlocks()[1].jump);
(catchBlock.getSubBlocks()[1].jump);
catchBlock.getSubBlocks()[1].removeJump(); catchBlock.getSubBlocks()[1].removeJump();
/* Replace the catchBlock with the finallyBlock. /* Replace the catchBlock with the finallyBlock.

Loading…
Cancel
Save