From 572b58012cf438a6c3809d26e832f8d6c293179c Mon Sep 17 00:00:00 2001 From: Evgeny Gerashchenko Date: Mon, 17 Sep 2012 14:04:36 +0400 Subject: [PATCH] Replaced if-else-if chain with visitor. --- .../plugin/refactoring/JetNameSuggester.java | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java b/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java index 17c5ae91847..be59483b93d 100644 --- a/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java +++ b/idea/src/org/jetbrains/jet/plugin/refactoring/JetNameSuggester.java @@ -189,31 +189,36 @@ public class JetNameSuggester { return matcher.replaceAll(""); } - private static void addNamesForExpression(ArrayList result, JetExpression expression, JetNameValidator validator) { - if (expression instanceof JetQualifiedExpression) { - JetQualifiedExpression qualifiedExpression = (JetQualifiedExpression) expression; - JetExpression selectorExpression = qualifiedExpression.getSelectorExpression(); - addNamesForExpression(result, selectorExpression, validator); - } - else if (expression instanceof JetSimpleNameExpression) { - JetSimpleNameExpression reference = (JetSimpleNameExpression) expression; - String referenceName = reference.getReferencedName(); - if (referenceName == null) return; - if (referenceName.equals(referenceName.toUpperCase())) { - addName(result, referenceName, validator); + private static void addNamesForExpression(final ArrayList result, JetExpression expression, final JetNameValidator validator) { + expression.accept(new JetVisitorVoid() { + @Override + public void visitQualifiedExpression(JetQualifiedExpression expression) { + JetExpression selectorExpression = expression.getSelectorExpression(); + addNamesForExpression(result, selectorExpression, validator); } - else { - addCamelNames(result, referenceName, validator); + + @Override + public void visitSimpleNameExpression(JetSimpleNameExpression expression) { + String referenceName = expression.getReferencedName(); + if (referenceName == null) return; + if (referenceName.equals(referenceName.toUpperCase())) { + addName(result, referenceName, validator); + } + else { + addCamelNames(result, referenceName, validator); + } } - } - else if (expression instanceof JetCallExpression) { - JetCallExpression call = (JetCallExpression) expression; - addNamesForExpression(result, call.getCalleeExpression(), validator); - } - else if (expression instanceof JetPostfixExpression) { - JetPostfixExpression postfixExpression = (JetPostfixExpression) expression; - addNamesForExpression(result, postfixExpression.getBaseExpression(), validator); - } + + @Override + public void visitCallExpression(JetCallExpression expression) { + addNamesForExpression(result, expression.getCalleeExpression(), validator); + } + + @Override + public void visitPostfixExpression(JetPostfixExpression expression) { + addNamesForExpression(result, expression.getBaseExpression(), validator); + } + }); } public static boolean isIdentifier(String name) {