There's a method in StructuredBlock called moveDefinitions. It has no code, and as far as I can tell it is never overridden. However, there are several places in JODE where the method is invoked. Why is this method called if it doesn't do anything? What is (or was) its intended purpose? Thanks.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Crawling through the logs, I found that it was used more than seven years ago, to compute the used variables of a structured block on the fly. The code was removed, but not its callers (I probably thought it may be useful for another purpose)
"I probably thought it may be useful for another purpose"
You were right! I discovered that adding a single statement to that method allows bytecode instructions to be preserved during transformations of StructuredBlocks. Thanks for thinking ahead...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
There's a method in StructuredBlock called moveDefinitions. It has no code, and as far as I can tell it is never overridden. However, there are several places in JODE where the method is invoked. Why is this method called if it doesn't do anything? What is (or was) its intended purpose? Thanks.
Crawling through the logs, I found that it was used more than seven years ago, to compute the used variables of a structured block on the fly. The code was removed, but not its callers (I probably thought it may be useful for another purpose)
http://jode.svn.sourceforge.net/viewvc/jode?view=rev&revision=790
"I probably thought it may be useful for another purpose"
You were right! I discovered that adding a single statement to that method allows bytecode instructions to be preserved during transformations of StructuredBlocks. Thanks for thinking ahead...