After JODE completes its analysis, all of the bytecode instructions it has read from the class files are discarded. This is a problem for building tools on top of JODE that need the bytecode data, such as WCET analyzers.
The attached patch fixes that problem, based on advice from Jochen. See: http://sourceforge.net/forum/message.php?msg_id=4050121
The patch simply modifies StructuredBlock.java so that it holds a list of bytecode instructions corresponding to the block. It also modifies Opcodes.java so that when blocks are created, a handle to the bytecode instruction is passed to it. This required changing several subclasses of StructuredBlock to take in an instruction parameter. Finally, the StrucutredBlock.moveDefinitions function was implemented to copy the instructions so that they are preserved during transformations.
(The moveDefinitions function should probably be renamed copyBytecode or something so that it better reflects the purpose of the function. But I left that alone for now.)