From ca344d93cd1ad1aa718b7fa2e87199d609b75f2c Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Fri, 8 Feb 2013 17:01:42 +0400 Subject: [PATCH] Got rid of super calls. --- .../jet/codegen/ExpressionCodegen.java | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java index 09ec347cb5c..2f051cf43f8 100644 --- a/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java +++ b/compiler/backend/src/org/jetbrains/jet/codegen/ExpressionCodegen.java @@ -619,6 +619,8 @@ public class ExpressionCodegen extends JetVisitor implem protected abstract void assignToLoopParameter(); + protected abstract void increment(); + public void body() { gen(forExpression.getBody(), Type.VOID_TYPE); } @@ -643,6 +645,8 @@ public class ExpressionCodegen extends JetVisitor implem } public void afterBody() { + increment(); + v.mark(bodyEnd); // e goes out of scope for (Runnable task : Lists.reverse(afterBodyLeaveVariableTasks)) { @@ -722,6 +726,10 @@ public class ExpressionCodegen extends JetVisitor implem //noinspection ConstantConditions v.store(loopParameterVar, asmType(nextCall.getResultingDescriptor().getReturnType())); } + + @Override + protected void increment() { + } } private class ForInArrayLoopGenerator extends AbstractForLoopGenerator { @@ -783,9 +791,8 @@ public class ExpressionCodegen extends JetVisitor implem } @Override - public void afterBody() { + protected void increment() { v.iinc(indexVar, 1); - super.afterBody(); } } @@ -855,7 +862,7 @@ public class ExpressionCodegen extends JetVisitor implem } @Override - public void afterBody() { + protected void increment() { int sort = asmElementType.getSort(); switch (sort) { case Type.INT: @@ -893,7 +900,6 @@ public class ExpressionCodegen extends JetVisitor implem default: throw new IllegalStateException("Unexpected range element type: " + asmElementType); } - super.afterBody(); } } @@ -938,9 +944,8 @@ public class ExpressionCodegen extends JetVisitor implem } @Override - public void afterBody() { + protected void increment() { v.iinc(loopParameterVar, 1); - super.afterBody(); } }