@Internal public class AddBoolBeforeReturnRewriter extends Object implements CodeRewriter
FunctionSplitter
.
Add a boolean variable before each return statement so that when the function is split, the outer function can determine whether to return early with this boolean variable.
The name of the variable is stored in a list of map. Index of list is the index of class (outer class is 0, 1st inner class is 1, 2nd inner class is 2, etc.), key of map is function name and its parameters.
Before
public class Example {
public void myFun(int[] a) {
if (a[0] > 0) {
a[0] += 5;
return;
}
a[0] -= 5;
return;
}
}
After
public class Example {
boolean myFunHasReturned$0;
public void myFun(int[] a) {
if (a[0] > 0) {
a[0] += 5;
{
myFunHasReturned$0 = true;
return;
}
}
a[0] -= 5;
{
myFunHasReturned$0 = true;
return;
}
}
}
Constructor and Description |
---|
AddBoolBeforeReturnRewriter(String code,
int maxMethodLength) |
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.