次のような Java コードがあるとします。
public class MyClass {
public static Object doSmthg(Object A,Object B){
if(smthg){ //if is given has an example, it can be any thing else
doSmthg;
GOTO label;
}
doSmthg;
label;
dosmthg1(modifying A and B);
return an Object;
}
}
コードを自動的に生成しています。ジェネレーターが goto を生成する瞬間に到着したとき (かつ、それが if ブロックにあることを認識していない場合)、その後どうなるかはわかりません。
labels,break,continue を使用してみましたが、これは機能しません。
内部クラス (dosmthg1 を実行) を使用しようとしましたが、A と B を final と宣言する必要があります。問題は、A と B を変更する必要があることです。
他に解決策がない場合は、ジェネレーターでより多くの知識を広める必要があります。しかし、私はより簡単な解決策を好むでしょう。
何か案は ?
前もって感謝します。