PsiUtil#isIncrementDecrementOperation: loosen argument contract to nullable;

RefactoringUtil#isPlusPlusOrMinusMinus is replaced everywhere with PsiUtil#isIncrementDecrementOperation (IDEA-CR-16815)
This commit is contained in:
Tagir Valeev
2016-12-15 14:25:39 +07:00
parent 3741495801
commit c770886a92
5 changed files with 9 additions and 16 deletions
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2015 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -173,7 +173,7 @@ public class EncapsulateFieldsProcessor extends BaseRefactoringProcessor {
PsiElement element = info.getElement();
if (element != null) {
PsiElement parent = element.getParent();
if (RefactoringUtil.isPlusPlusOrMinusMinus(parent) && !(parent.getParent() instanceof PsiExpressionStatement)) {
if (PsiUtil.isIncrementDecrementOperation(parent) && !(parent.getParent() instanceof PsiExpressionStatement)) {
conflicts.putValue(parent, "Unable to proceed with postfix/prefix expression when it's result type is used");
}
}
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2013 JetBrains s.r.o.
* Copyright 2000-2016 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -17,13 +17,10 @@ package com.intellij.refactoring.encapsulateFields;
import com.intellij.codeInsight.generation.GenerateMembersUtil;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.util.PropertyUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.refactoring.util.RefactoringUtil;
import com.intellij.util.IncorrectOperationException;
import com.intellij.util.VisibilityUtil;
import com.intellij.util.containers.ContainerUtil;
@@ -180,7 +177,7 @@ public class JavaEncapsulateFieldHelper extends EncapsulateFieldHelper {
}
}
}
else if (RefactoringUtil.isPlusPlusOrMinusMinus(parent)){
else if (PsiUtil.isIncrementDecrementOperation(parent)){
IElementType sign;
if (parent instanceof PsiPrefixExpression){
sign = ((PsiPrefixExpression)parent).getOperationTokenType();
@@ -25,7 +25,6 @@ import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.module.Module;
import com.intellij.openapi.module.ModuleUtil;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.Ref;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.psi.*;
@@ -40,6 +39,7 @@ import com.intellij.psi.tree.IElementType;
import com.intellij.psi.util.InheritanceUtil;
import com.intellij.psi.util.PropertyUtil;
import com.intellij.psi.util.PsiTreeUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.refactoring.MoveDestination;
import com.intellij.refactoring.RefactorJBundle;
import com.intellij.refactoring.extractclass.usageInfo.*;
@@ -630,7 +630,7 @@ public class ExtractClassProcessor extends FixableUsagesRefactoringProcessor {
if (element instanceof PsiReferenceExpression) {
final PsiReferenceExpression exp = (PsiReferenceExpression)element;
if (RefactoringUtil.isPlusPlusOrMinusMinus(exp.getParent())) {
if (PsiUtil.isIncrementDecrementOperation(exp.getParent())) {
usages.add(isStatic
? new ReplaceStaticVariableIncrementDecrement(exp, qualifiedName)
: new ReplaceInstanceVariableIncrementDecrement(exp, delegateFieldName, setter, getter, field.getName()));
@@ -424,11 +424,6 @@ public class RefactoringUtil {
return element instanceof PsiExpression && PsiUtil.isAccessedForWriting((PsiExpression)element);
}
@Contract("null -> false")
public static boolean isPlusPlusOrMinusMinus(PsiElement element) {
return PsiUtil.isIncrementDecrementOperation(element);
}
private static void removeFinalParameters(PsiMethod method) throws IncorrectOperationException {
PsiParameterList paramList = method.getParameterList();
PsiParameter[] params = paramList.getParameters();
@@ -633,7 +628,7 @@ public class RefactoringUtil {
return EXPR_COPY_PROHIBITED;
}
if (isPlusPlusOrMinusMinus(element)) {
if (PsiUtil.isIncrementDecrementOperation(element)) {
return EXPR_COPY_PROHIBITED;
}
@@ -330,7 +330,8 @@ public final class PsiUtil extends PsiUtilCore {
return codeBlock;
}
public static boolean isIncrementDecrementOperation(@NotNull PsiElement element) {
@Contract("null -> false")
public static boolean isIncrementDecrementOperation(@Nullable PsiElement element) {
if (element instanceof PsiPostfixExpression) {
final IElementType sign = ((PsiPostfixExpression)element).getOperationTokenType();
if (sign == JavaTokenType.PLUSPLUS || sign == JavaTokenType.MINUSMINUS)