From 9d59b9ced1d189099465c74c2af096bda3f281aa Mon Sep 17 00:00:00 2001 From: jochen Date: Thu, 22 Jul 1999 10:24:54 +0000 Subject: [PATCH] a finally block is handled like a no return block in mapStackToLocal This is because we know, that finally block will make the old stack again, but we don't check it because if the jsr analysis didn't succeed, it is better to ignore this error. git-svn-id: https://svn.code.sf.net/p/jode/code/trunk@1110 379699f6-c40d-0410-875b-85095c16579e --- jode/jode/flow/FinallyBlock.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jode/jode/flow/FinallyBlock.java b/jode/jode/flow/FinallyBlock.java index f03a9e2..2938984 100644 --- a/jode/jode/flow/FinallyBlock.java +++ b/jode/jode/flow/FinallyBlock.java @@ -67,6 +67,18 @@ public class FinallyBlock extends StructuredBlock { return new StructuredBlock[] { subBlock }; } + /** + * A finally block starts with empty stack. It must return with empty + * stack too, but that need not to be checked. If the JSR's aren't + * correctly determined this may even not be true. + * + * @param stack the stack before the instruction is called + * @return stack the stack afterwards. */ + public VariableStack mapStackToLocal(VariableStack stack) { + super.mapStackToLocal(stack); + return null; + } + /** * Returns the block where the control will normally flow to, when * the given sub block is finished (not ignoring the jump