TODO fixes: refactor
This commit is contained in:
@@ -98,24 +98,23 @@ public final class JsAstUtils {
|
|||||||
return new JsBinaryOperation(JsBinaryOperator.OR, op1, op2);
|
return new JsBinaryOperation(JsBinaryOperator.OR, op1, op2);
|
||||||
}
|
}
|
||||||
|
|
||||||
//TODO refactor
|
|
||||||
public static void setQualifier(@NotNull JsExpression selector, @Nullable JsExpression receiver) {
|
public static void setQualifier(@NotNull JsExpression selector, @Nullable JsExpression receiver) {
|
||||||
|
assert (selector instanceof JsInvocation || selector instanceof JsNameRef);
|
||||||
if (selector instanceof JsInvocation) {
|
if (selector instanceof JsInvocation) {
|
||||||
setQualifier(((JsInvocation) selector).getQualifier(), receiver);
|
setQualifier(((JsInvocation) selector).getQualifier(), receiver);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (selector instanceof JsNameRef) {
|
setQualifierForNameRef((JsNameRef) selector, receiver);
|
||||||
JsNameRef nameRef = (JsNameRef) selector;
|
}
|
||||||
JsExpression qualifier = nameRef.getQualifier();
|
|
||||||
if (qualifier == null) {
|
private static void setQualifierForNameRef(@NotNull JsNameRef selector, @Nullable JsExpression receiver) {
|
||||||
nameRef.setQualifier(receiver);
|
JsExpression qualifier = selector.getQualifier();
|
||||||
}
|
if (qualifier == null) {
|
||||||
else {
|
selector.setQualifier(receiver);
|
||||||
setQualifier(qualifier, receiver);
|
}
|
||||||
}
|
else {
|
||||||
return;
|
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) {
|
public static JsNameRef qualified(@NotNull JsName selector, @Nullable JsExpression qualifier) {
|
||||||
|
|||||||
Reference in New Issue
Block a user