public void prepareBuilder() {
b = new BlockBuilder(true);
}
@Test public void testReuseExpressionsFromUpperLevel() {
Expression x = b.append("x", Expressions.add(ONE, TWO));
BlockBuilder nested = new BlockBuilder(true, b);
Expression y = nested.append("y", Expressions.add(ONE, TWO));
nested.add(Expressions.return_(null, Expressions.add(y, y)));
b.add(nested.toBlock());
assertEquals(
"{
"
+ " final int x = 1 + 2;
"
+ " {
"
+ " return x + x;
"
+ " }
"
+ "}
",
b.toBlock().toString());
}
|