package com.eslint.utils;
import com.intellij.lang.ASTNode;
import com.intellij.lang.javascript.JSTokenTypes;
import com.intellij.lang.javascript.psi.JSBinaryExpression;
import com.intellij.openapi.util.Condition;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.TokenSet;
import com.intellij.psi.util.PsiTreeUtil;
public final class JSBinaryExpressionUtil {
private static final TokenSet BINARY_OPERATIONS = TokenSet.orSet(JSTokenTypes.OPERATIONS, JSTokenTypes.RELATIONAL_OPERATIONS);
private JSBinaryExpressionUtil() {}
public static ASTNode getOperator(PsiElement element) {
PsiElement binary = PsiTreeUtil.findFirstParent(element, new Condition<PsiElement>() {
@Override
public boolean value(PsiElement psiElement) {
return psiElement instanceof JSBinaryExpression;
}
});
return binary == null ? null : binary.getNode().getChildren(BINARY_OPERATIONS)[0];
}
}