私はいくつかのJavaバイトコードを見てきましたが、合理的なJava構造に変換できないように見える奇妙なパターンを見つけ続けています。
if ( <cond1> )
goto Label;
do {
<code1>
Label:
<code2>
} while ( <cond2> );
これを逆コンパイルできる妥当なJava構造はありますか?私が考えることができるのは、それがループの最初の反復であるかどうかを追跡するために余分な状態を導入する非常に複雑なパターンです。