From 6e27f2ab3dd3c8eca324c10d02b64d0bfa866632 Mon Sep 17 00:00:00 2001 From: pTalanov Date: Wed, 29 Feb 2012 19:23:36 +0400 Subject: [PATCH] TODO fixes: refactor --- .../k2js/translate/utils/JsAstUtils.java | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java index 1467e908220..661d7d25cd4 100644 --- a/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java +++ b/js/js.translator/src/org/jetbrains/k2js/translate/utils/JsAstUtils.java @@ -98,24 +98,23 @@ public final class JsAstUtils { return new JsBinaryOperation(JsBinaryOperator.OR, op1, op2); } - //TODO refactor public static void setQualifier(@NotNull JsExpression selector, @Nullable JsExpression receiver) { + assert (selector instanceof JsInvocation || selector instanceof JsNameRef); if (selector instanceof JsInvocation) { setQualifier(((JsInvocation) selector).getQualifier(), receiver); return; } - if (selector instanceof JsNameRef) { - JsNameRef nameRef = (JsNameRef) selector; - JsExpression qualifier = nameRef.getQualifier(); - if (qualifier == null) { - nameRef.setQualifier(receiver); - } - else { - setQualifier(qualifier, receiver); - } - return; + setQualifierForNameRef((JsNameRef) selector, receiver); + } + + private static void setQualifierForNameRef(@NotNull JsNameRef selector, @Nullable JsExpression receiver) { + JsExpression qualifier = selector.getQualifier(); + if (qualifier == null) { + selector.setQualifier(receiver); + } + else { + setQualifier(qualifier, receiver); } - throw new AssertionError("Set qualifier should be applied only to JsInvocation or JsNameRef instances"); } public static JsNameRef qualified(@NotNull JsName selector, @Nullable JsExpression qualifier) {