diff --git a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java index 8f9c7422998..3eff79b88d4 100644 --- a/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java +++ b/compiler/frontend/src/org/jetbrains/jet/lang/cfg/JetControlFlowProcessor.java @@ -101,8 +101,8 @@ public class JetControlFlowProcessor { @Override public void visitWhenConditionInRange(JetWhenConditionInRange condition) { - value(condition.getRangeExpression(), CFPVisitor.this.inCondition); // TODO : inCondition? - value(condition.getOperationReference(), CFPVisitor.this.inCondition); // TODO : inCondition? + generateInstructions(condition.getRangeExpression(), CFPVisitor.this.inCondition); // TODO : inCondition? + generateInstructions(condition.getOperationReference(), CFPVisitor.this.inCondition); // TODO : inCondition? // TODO : read the call to contains()... } @@ -113,7 +113,7 @@ public class JetControlFlowProcessor { @Override public void visitWhenConditionWithExpression(JetWhenConditionWithExpression condition) { - value(condition.getExpression(), inCondition); + generateInstructions(condition.getExpression(), inCondition); } @Override @@ -133,7 +133,7 @@ public class JetControlFlowProcessor { this.inCondition = inCondition; } - private void value(@Nullable JetElement element, boolean inCondition) { + private void generateInstructions(@Nullable JetElement element, boolean inCondition) { if (element == null) return; CFPVisitor visitor; if (this.inCondition == inCondition) { @@ -151,7 +151,7 @@ public class JetControlFlowProcessor { JetExpression innerExpression = expression.getExpression(); if (innerExpression != null) { - value(innerExpression, inCondition); + generateInstructions(innerExpression, inCondition); } } @@ -188,7 +188,7 @@ public class JetControlFlowProcessor { private void visitLabeledExpression(@NotNull String labelName, @NotNull JetExpression labeledExpression) { JetExpression deparenthesized = JetPsiUtil.deparenthesizeWithNoTypeResolution(labeledExpression); if (deparenthesized != null) { - value(labeledExpression, inCondition); + generateInstructions(labeledExpression, inCondition); } } @@ -197,11 +197,11 @@ public class JetControlFlowProcessor { IElementType operationType = expression.getOperationReference().getReferencedNameElementType(); JetExpression right = expression.getRight(); if (operationType == JetTokens.ANDAND) { - value(expression.getLeft(), true); + generateInstructions(expression.getLeft(), true); Label resultLabel = builder.createUnboundLabel(); builder.jumpOnFalse(resultLabel); if (right != null) { - value(right, true); + generateInstructions(right, true); } builder.bindLabel(resultLabel); if (!inCondition) { @@ -209,11 +209,11 @@ public class JetControlFlowProcessor { } } else if (operationType == JetTokens.OROR) { - value(expression.getLeft(), true); + generateInstructions(expression.getLeft(), true); Label resultLabel = builder.createUnboundLabel(); builder.jumpOnTrue(resultLabel); if (right != null) { - value(right, true); + generateInstructions(right, true); } builder.bindLabel(resultLabel); if (!inCondition) { @@ -223,7 +223,7 @@ public class JetControlFlowProcessor { else if (operationType == JetTokens.EQ) { JetExpression left = JetPsiUtil.deparenthesizeWithNoTypeResolution(expression.getLeft()); if (right != null) { - value(right, false); + generateInstructions(right, false); } if (left instanceof JetSimpleNameExpression) { builder.write(expression, left); @@ -235,8 +235,8 @@ public class JetControlFlowProcessor { else if (left instanceof JetQualifiedExpression) { assert !(left instanceof JetHashQualifiedExpression) : left; // TODO JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) left; - value(qualifiedExpression.getReceiverExpression(), false); - value(expression.getOperationReference(), false); + generateInstructions(qualifiedExpression.getReceiverExpression(), false); + generateInstructions(expression.getOperationReference(), false); builder.write(expression, left); } else { @@ -246,13 +246,13 @@ public class JetControlFlowProcessor { else if (OperatorConventions.ASSIGNMENT_OPERATIONS.containsKey(operationType)) { JetExpression left = JetPsiUtil.deparenthesizeWithNoTypeResolution(expression.getLeft()); if (left != null) { - value(left, false); + generateInstructions(left, false); } if (right != null) { - value(right, false); + generateInstructions(right, false); } if (left instanceof JetSimpleNameExpression || left instanceof JetArrayAccessExpression) { - value(expression.getOperationReference(), false); + generateInstructions(expression.getOperationReference(), false); builder.write(expression, left); } else if (left != null) { @@ -261,31 +261,31 @@ public class JetControlFlowProcessor { } else if (operationType == JetTokens.ELVIS) { builder.read(expression); - value(expression.getLeft(), false); - value(expression.getOperationReference(), false); + generateInstructions(expression.getLeft(), false); + generateInstructions(expression.getOperationReference(), false); Label afterElvis = builder.createUnboundLabel(); builder.jumpOnTrue(afterElvis); if (right != null) { - value(right, false); + generateInstructions(right, false); } builder.bindLabel(afterElvis); } else { - value(expression.getLeft(), false); + generateInstructions(expression.getLeft(), false); if (right != null) { - value(right, false); + generateInstructions(right, false); } - value(expression.getOperationReference(), false); + generateInstructions(expression.getOperationReference(), false); builder.read(expression); } } private void visitAssignToArrayAccess(JetBinaryExpression expression, JetArrayAccessExpression arrayAccessExpression) { for (JetExpression index : arrayAccessExpression.getIndexExpressions()) { - value(index, false); + generateInstructions(index, false); } - value(arrayAccessExpression.getArrayExpression(), false); - value(expression.getOperationReference(), false); + generateInstructions(arrayAccessExpression.getArrayExpression(), false); + generateInstructions(expression.getOperationReference(), false); builder.write(expression, arrayAccessExpression); // TODO : ??? } @@ -301,8 +301,8 @@ public class JetControlFlowProcessor { visitLabeledExpression(referencedName.substring(1), baseExpression); } else { - value(baseExpression, false); - value(operationSign, false); + generateInstructions(baseExpression, false); + generateInstructions(operationSign, false); boolean incrementOrDecrement = isIncrementOrDecrement(operationType); if (incrementOrDecrement) { @@ -322,13 +322,13 @@ public class JetControlFlowProcessor { public void visitIfExpression(JetIfExpression expression) { JetExpression condition = expression.getCondition(); if (condition != null) { - value(condition, true); + generateInstructions(condition, true); } Label elseLabel = builder.createUnboundLabel(); builder.jumpOnFalse(elseLabel); JetExpression thenBranch = expression.getThen(); if (thenBranch != null) { - value(thenBranch, inCondition); + generateInstructions(thenBranch, inCondition); } else { builder.readUnit(expression); @@ -338,7 +338,7 @@ public class JetControlFlowProcessor { builder.bindLabel(elseLabel); JetExpression elseBranch = expression.getElse(); if (elseBranch != null) { - value(elseBranch, inCondition); + generateInstructions(elseBranch, inCondition); } else { builder.readUnit(expression); @@ -365,7 +365,7 @@ public class JetControlFlowProcessor { } startFinally = builder.createUnboundLabel("start finally"); builder.bindLabel(startFinally); - value(finalExpression, inCondition); + generateInstructions(finalExpression, inCondition); finishFinally = builder.createUnboundLabel("finish finally"); builder.bindLabel(finishFinally); } @@ -404,7 +404,7 @@ public class JetControlFlowProcessor { onExceptionToFinallyBlock = builder.createUnboundLabel("onExceptionToFinallyBlock"); builder.nondeterministicJump(onExceptionToFinallyBlock); } - value(expression.getTryBlock(), inCondition); + generateInstructions(expression.getTryBlock(), inCondition); Collection