diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageProcessor.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageProcessor.java index 553c36df5d13..02db17d61298 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageProcessor.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageProcessor.java @@ -885,8 +885,9 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr } for (UsageInfo usageInfo : usagesSet) { + final PsiElement element = usageInfo.getElement(); if (usageInfo instanceof OverriderUsageInfo) { - final PsiMethod method = (PsiMethod)usageInfo.getElement(); + final PsiMethod method = (PsiMethod)element; final PsiMethod baseMethod = ((OverriderUsageInfo)usageInfo).getBaseMethod(); final int delta = baseMethod.getParameterList().getParametersCount() - method.getParameterList().getParametersCount(); if (delta > 0) { @@ -895,6 +896,8 @@ public class JavaChangeSignatureUsageProcessor implements ChangeSignatureUsagePr conflictDescriptions.putValue(baseMethod, "Implicit last parameter should not be deleted"); } } + } else if (element instanceof PsiMethodReferenceExpression) { + conflictDescriptions.putValue(element, "Changed method is used in method reference"); } } diff --git a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageSearcher.java b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageSearcher.java index 80fd509f233e..7ab6ce98004a 100644 --- a/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageSearcher.java +++ b/java/java-impl/src/com/intellij/refactoring/changeSignature/JavaChangeSignatureUsageSearcher.java @@ -266,6 +266,9 @@ class JavaChangeSignatureUsageSearcher { else if (element instanceof XmlElement) { result.add(new MoveRenameUsageInfo(reference, method)); } + else if (element instanceof PsiMethodReferenceExpression) { + result.add(new UsageInfo(reference)); + } } }