package com.eslint.fixes;
import com.eslint.ESLintBundle;
import com.intellij.lang.javascript.psi.JSIfStatement;
import com.intellij.openapi.editor.Editor;
import com.intellij.openapi.project.Project;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiFile;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.util.IncorrectOperationException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
/**
* @author idok
*/
public class NoLonelyIfActionFix extends BaseActionFix {
public NoLonelyIfActionFix(PsiElement element) {
super(element);
}
@NotNull
@Override
public String getText() {
return ESLintBundle.message("inspection.fix.no-lonely-if");
}
@Override
public void invoke(@NotNull Project project, @NotNull PsiFile psiFile, @Nullable("is null when called from inspection") Editor editor, @NotNull PsiElement element, @NotNull PsiElement end) throws IncorrectOperationException {
JSIfStatement ifStatement = PsiTreeUtil.getParentOfType(element, JSIfStatement.class);
JSIfStatement parentIf = PsiTreeUtil.getParentOfType(ifStatement, JSIfStatement.class);
parentIf.getElse().replace(ifStatement);
}
}