From f5b1706b3086f685bb4819d41b92e82b6f8fc18b Mon Sep 17 00:00:00 2001 From: Alexey Sedunov Date: Thu, 18 Apr 2013 16:10:41 +0400 Subject: [PATCH] Extract 'assertNotNull' method --- .../BranchedFoldingUtils.java | 69 ++++++++++++------- .../BranchedUnfoldingUtils.java | 28 +++++--- 2 files changed, 61 insertions(+), 36 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedFoldingUtils.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedFoldingUtils.java index fdcf12eafeb..f22bf545edd 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedFoldingUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedFoldingUtils.java @@ -158,12 +158,16 @@ public class BranchedFoldingUtils { public static final String FOLD_WITHOUT_CHECK = "Expression must be checked before folding"; + private static void assertNotNull(JetExpression expression) { + assert expression != null : FOLD_WITHOUT_CHECK; + } + public static void foldIfExpressionWithAssignments(JetIfExpression ifExpression) { Project project = ifExpression.getProject(); JetBinaryExpression thenAssignment = getFoldableBranchedAssignment(ifExpression.getThen()); - assert thenAssignment != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenAssignment); String op = thenAssignment.getOperationReference().getText(); JetSimpleNameExpression lhs = (JetSimpleNameExpression) thenAssignment.getLeft(); @@ -171,21 +175,24 @@ public class BranchedFoldingUtils { JetBinaryExpression assignment = JetPsiFactory.createBinaryExpression(project, lhs, op, ifExpression); JetIfExpression newIfExpression = (JetIfExpression)assignment.getRight(); - assert newIfExpression != null : FOLD_WITHOUT_CHECK; + assertNotNull(newIfExpression); + //noinspection ConstantConditions thenAssignment = getFoldableBranchedAssignment(newIfExpression.getThen()); JetBinaryExpression elseAssignment = getFoldableBranchedAssignment(newIfExpression.getElse()); - assert thenAssignment != null : FOLD_WITHOUT_CHECK; - assert elseAssignment != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenAssignment); + assertNotNull(elseAssignment); JetExpression thenRhs = thenAssignment.getRight(); JetExpression elseRhs = elseAssignment.getRight(); - assert thenRhs != null : FOLD_WITHOUT_CHECK; - assert elseRhs != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenRhs); + assertNotNull(elseRhs); + //noinspection ConstantConditions thenAssignment.replace(thenRhs); + //noinspection ConstantConditions elseAssignment.replace(elseRhs); ifExpression.replace(assignment); @@ -197,21 +204,24 @@ public class BranchedFoldingUtils { JetReturnExpression newReturnExpression = JetPsiFactory.createReturn(project, ifExpression); JetIfExpression newIfExpression = (JetIfExpression)newReturnExpression.getReturnedExpression(); - assert newIfExpression != null; + assertNotNull(newIfExpression); + //noinspection ConstantConditions JetReturnExpression thenReturn = getFoldableBranchedReturn(newIfExpression.getThen()); JetReturnExpression elseReturn = getFoldableBranchedReturn(newIfExpression.getElse()); - assert thenReturn != null : FOLD_WITHOUT_CHECK; - assert elseReturn != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenReturn); + assertNotNull(elseReturn); JetExpression thenExpr = thenReturn.getReturnedExpression(); JetExpression elseExpr = elseReturn.getReturnedExpression(); - assert thenExpr != null : FOLD_WITHOUT_CHECK; - assert elseExpr != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenExpr); + assertNotNull(elseExpr); + //noinspection ConstantConditions thenReturn.replace(thenExpr); + //noinspection ConstantConditions elseReturn.replace(elseExpr); ifExpression.replace(newReturnExpression); @@ -224,36 +234,41 @@ public class BranchedFoldingUtils { JetExpression thenRoot = ifExpression.getThen(); JetExpression elseRoot = (JetExpression)JetPsiUtil.skipTrailingWhitespacesAndComments(ifExpression); - assert condition != null : FOLD_WITHOUT_CHECK; - assert thenRoot != null : FOLD_WITHOUT_CHECK; - assert elseRoot != null : FOLD_WITHOUT_CHECK; + assertNotNull(condition); + assertNotNull(thenRoot); + assertNotNull(elseRoot); + //noinspection ConstantConditions JetIfExpression newIfExpression = JetPsiFactory.createIf(project, condition, thenRoot, elseRoot); JetReturnExpression newReturnExpression = JetPsiFactory.createReturn(project, newIfExpression); newIfExpression = (JetIfExpression)newReturnExpression.getReturnedExpression(); - assert newIfExpression != null : FOLD_WITHOUT_CHECK; + assertNotNull(newIfExpression); + //noinspection ConstantConditions JetReturnExpression thenReturn = getFoldableBranchedReturn(newIfExpression.getThen()); JetReturnExpression elseReturn = getFoldableBranchedReturn(newIfExpression.getElse()); - assert thenReturn != null : FOLD_WITHOUT_CHECK; - assert elseReturn != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenReturn); + assertNotNull(elseReturn); JetExpression thenExpr = thenReturn.getReturnedExpression(); JetExpression elseExpr = elseReturn.getReturnedExpression(); - assert thenExpr != null : FOLD_WITHOUT_CHECK; - assert elseExpr != null : FOLD_WITHOUT_CHECK; + assertNotNull(thenExpr); + assertNotNull(elseExpr); + //noinspection ConstantConditions thenReturn.replace(thenExpr); + //noinspection ConstantConditions elseReturn.replace(elseExpr); elseRoot.delete(); ifExpression.replace(newReturnExpression); } + @SuppressWarnings("ConstantConditions") public static void foldWhenExpressionWithAssignments(JetWhenExpression whenExpression) { Project project = whenExpression.getProject(); @@ -261,7 +276,7 @@ public class BranchedFoldingUtils { JetBinaryExpression firstAssignment = getFoldableBranchedAssignment(whenExpression.getEntries().get(0).getExpression()); - assert firstAssignment != null : FOLD_WITHOUT_CHECK; + assertNotNull(firstAssignment); String op = firstAssignment.getOperationReference().getText(); JetSimpleNameExpression lhs = (JetSimpleNameExpression) firstAssignment.getLeft(); @@ -269,16 +284,16 @@ public class BranchedFoldingUtils { JetBinaryExpression assignment = JetPsiFactory.createBinaryExpression(project, lhs, op, whenExpression); JetWhenExpression newWhenExpression = (JetWhenExpression)assignment.getRight(); - assert newWhenExpression != null : FOLD_WITHOUT_CHECK; + assertNotNull(newWhenExpression); for (JetWhenEntry entry : newWhenExpression.getEntries()) { JetBinaryExpression currAssignment = getFoldableBranchedAssignment(entry.getExpression()); - assert currAssignment != null : FOLD_WITHOUT_CHECK; + assertNotNull(currAssignment); JetExpression currRhs = currAssignment.getRight(); - assert currRhs != null : FOLD_WITHOUT_CHECK; + assertNotNull(currRhs); currAssignment.replace(currRhs); } @@ -294,17 +309,19 @@ public class BranchedFoldingUtils { JetReturnExpression newReturnExpression = JetPsiFactory.createReturn(project, whenExpression); JetWhenExpression newWhenExpression = (JetWhenExpression)newReturnExpression.getReturnedExpression(); - assert newWhenExpression != null : FOLD_WITHOUT_CHECK; + assertNotNull(newWhenExpression); + //noinspection ConstantConditions for (JetWhenEntry entry : newWhenExpression.getEntries()) { JetReturnExpression currReturn = getFoldableBranchedReturn(entry.getExpression()); - assert currReturn != null : FOLD_WITHOUT_CHECK; + assertNotNull(currReturn); JetExpression currExpr = currReturn.getReturnedExpression(); - assert currExpr != null : FOLD_WITHOUT_CHECK; + assertNotNull(currExpr); + //noinspection ConstantConditions currReturn.replace(currExpr); } diff --git a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java index d9b1c9c4e2d..f680d7524ac 100644 --- a/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java +++ b/idea/src/org/jetbrains/jet/plugin/codeInsight/codeTransformations/branchedTransformations/BranchedUnfoldingUtils.java @@ -54,21 +54,26 @@ public class BranchedUnfoldingUtils { public static final String UNFOLD_WITHOUT_CHECK = "Expression must be checked before unfolding"; + private static void assertNotNull(JetExpression expression) { + assert expression != null : UNFOLD_WITHOUT_CHECK; + } + public static void unfoldAssignmentToIf(@NotNull JetBinaryExpression assignment) { Project project = assignment.getProject(); String op = assignment.getOperationReference().getText(); JetExpression lhs = assignment.getLeft(); JetIfExpression ifExpression = (JetIfExpression)assignment.getRight(); - assert ifExpression != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(ifExpression); + //noinspection ConstantConditions JetIfExpression newIfExpression = (JetIfExpression) ifExpression.copy(); JetExpression thenExpr = getOutermostLastBlockElement(newIfExpression.getThen()); JetExpression elseExpr = getOutermostLastBlockElement(newIfExpression.getElse()); - assert thenExpr != null : UNFOLD_WITHOUT_CHECK; - assert elseExpr != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(thenExpr); + assertNotNull(elseExpr); thenExpr.replace(JetPsiFactory.createBinaryExpression(project, lhs, op, thenExpr)); elseExpr.replace(JetPsiFactory.createBinaryExpression(project, lhs, op, elseExpr)); @@ -82,14 +87,15 @@ public class BranchedUnfoldingUtils { JetExpression lhs = assignment.getLeft(); JetWhenExpression whenExpression = (JetWhenExpression)assignment.getRight(); - assert whenExpression != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(whenExpression); + //noinspection ConstantConditions JetWhenExpression newWhenExpression = (JetWhenExpression) whenExpression.copy(); for (JetWhenEntry entry : newWhenExpression.getEntries()) { JetExpression currExpr = getOutermostLastBlockElement(entry.getExpression()); - assert currExpr != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(currExpr); currExpr.replace(JetPsiFactory.createBinaryExpression(project, lhs, op, currExpr)); } @@ -101,15 +107,16 @@ public class BranchedUnfoldingUtils { Project project = returnExpression.getProject(); JetIfExpression ifExpression = (JetIfExpression)returnExpression.getReturnedExpression(); - assert ifExpression != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(ifExpression); + //noinspection ConstantConditions JetIfExpression newIfExpression = (JetIfExpression) ifExpression.copy(); JetExpression thenExpr = getOutermostLastBlockElement(newIfExpression.getThen()); JetExpression elseExpr = getOutermostLastBlockElement(newIfExpression.getElse()); - assert thenExpr != null : UNFOLD_WITHOUT_CHECK; - assert elseExpr != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(thenExpr); + assertNotNull(elseExpr); thenExpr.replace(JetPsiFactory.createReturn(project, thenExpr)); elseExpr.replace(JetPsiFactory.createReturn(project, elseExpr)); @@ -121,14 +128,15 @@ public class BranchedUnfoldingUtils { Project project = returnExpression.getProject(); JetWhenExpression whenExpression = (JetWhenExpression)returnExpression.getReturnedExpression(); - assert whenExpression != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(whenExpression); + //noinspection ConstantConditions JetWhenExpression newWhenExpression = (JetWhenExpression) whenExpression.copy(); for (JetWhenEntry entry : newWhenExpression.getEntries()) { JetExpression currExpr = getOutermostLastBlockElement(entry.getExpression()); - assert currExpr != null : UNFOLD_WITHOUT_CHECK; + assertNotNull(currExpr); currExpr.replace(JetPsiFactory.createReturn(project, currExpr)); }