Refactoring: move several utils from js module to frontend
This commit is contained in:
@@ -874,4 +874,16 @@ public class KtPsiUtil {
|
|||||||
public static boolean isStatement(@NotNull PsiElement element) {
|
public static boolean isStatement(@NotNull PsiElement element) {
|
||||||
return isStatementContainer(element.getParent());
|
return isStatementContainer(element.getParent());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isInOrNotInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
||||||
|
return isInOperation(binaryExpression) || isNotInOperation(binaryExpression);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static boolean isNotInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
||||||
|
return (binaryExpression.getOperationToken() == KtTokens.NOT_IN);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static boolean isInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
||||||
|
return (binaryExpression.getOperationToken() == KtTokens.IN_KEYWORD);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+4
-2
@@ -34,6 +34,7 @@ import org.jetbrains.kotlin.lexer.KtToken;
|
|||||||
import org.jetbrains.kotlin.lexer.KtTokens;
|
import org.jetbrains.kotlin.lexer.KtTokens;
|
||||||
import org.jetbrains.kotlin.psi.KtBinaryExpression;
|
import org.jetbrains.kotlin.psi.KtBinaryExpression;
|
||||||
import org.jetbrains.kotlin.psi.KtExpression;
|
import org.jetbrains.kotlin.psi.KtExpression;
|
||||||
|
import org.jetbrains.kotlin.psi.KtPsiUtil;
|
||||||
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
|
import org.jetbrains.kotlin.resolve.bindingContextUtil.BindingContextUtilsKt;
|
||||||
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
|
import org.jetbrains.kotlin.resolve.calls.callUtil.CallUtilKt;
|
||||||
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
|
import org.jetbrains.kotlin.resolve.calls.model.ResolvedCall;
|
||||||
@@ -47,7 +48,8 @@ import static org.jetbrains.kotlin.js.translate.operation.AssignmentTranslator.i
|
|||||||
import static org.jetbrains.kotlin.js.translate.operation.CompareToTranslator.isCompareToCall;
|
import static org.jetbrains.kotlin.js.translate.operation.CompareToTranslator.isCompareToCall;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getCallableDescriptorForOperationExpression;
|
import static org.jetbrains.kotlin.js.translate.utils.BindingUtils.getCallableDescriptorForOperationExpression;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.not;
|
import static org.jetbrains.kotlin.js.translate.utils.JsAstUtils.not;
|
||||||
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.*;
|
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.getOperationToken;
|
||||||
|
import static org.jetbrains.kotlin.js.translate.utils.PsiUtils.isNegatedOperation;
|
||||||
|
|
||||||
public final class BinaryOperationTranslator extends AbstractTranslator {
|
public final class BinaryOperationTranslator extends AbstractTranslator {
|
||||||
|
|
||||||
@@ -260,7 +262,7 @@ public final class BinaryOperationTranslator extends AbstractTranslator {
|
|||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
private JsExpression getReceiver() {
|
private JsExpression getReceiver() {
|
||||||
if (isInOrNotInOperation(expression)) {
|
if (KtPsiUtil.isInOrNotInOperation(expression)) {
|
||||||
return Translation.translateAsExpression(rightKtExpression, context());
|
return Translation.translateAsExpression(rightKtExpression, context());
|
||||||
} else {
|
} else {
|
||||||
return Translation.translateAsExpression(leftKtExpression, context());
|
return Translation.translateAsExpression(leftKtExpression, context());
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright 2010-2015 JetBrains s.r.o.
|
* Copyright 2010-2017 JetBrains s.r.o.
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
@@ -93,20 +93,8 @@ public final class PsiUtils {
|
|||||||
return (token == KtTokens.EQ);
|
return (token == KtTokens.EQ);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static boolean isInOrNotInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
|
||||||
return isInOperation(binaryExpression) || isNotInOperation(binaryExpression);
|
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isNotInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
|
||||||
return (binaryExpression.getOperationToken() == KtTokens.NOT_IN);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static boolean isNegatedOperation(@NotNull KtBinaryExpression binaryExpression) {
|
public static boolean isNegatedOperation(@NotNull KtBinaryExpression binaryExpression) {
|
||||||
return (binaryExpression.getOperationToken() == KtTokens.EXCLEQ) || isNotInOperation(binaryExpression);
|
return (binaryExpression.getOperationToken() == KtTokens.EXCLEQ) || KtPsiUtil.isNotInOperation(binaryExpression);
|
||||||
}
|
|
||||||
|
|
||||||
private static boolean isInOperation(@NotNull KtBinaryExpression binaryExpression) {
|
|
||||||
return (binaryExpression.getOperationToken() == KtTokens.IN_KEYWORD);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@NotNull
|
@NotNull
|
||||||
|
|||||||
Reference in New Issue
Block a user