From cbe65f9df03d9e9879c3e991ef6cb4a0135aa337 Mon Sep 17 00:00:00 2001 From: anna Date: Mon, 25 Nov 2013 20:43:31 +0100 Subject: [PATCH] do not change parameter types in MethodSignature --- .../source/tree/java/PsiMethodReferenceExpressionImpl.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java index c6fb44b0d993..c25ba98b9d40 100644 --- a/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java +++ b/java/java-psi-impl/src/com/intellij/psi/impl/source/tree/java/PsiMethodReferenceExpressionImpl.java @@ -439,9 +439,12 @@ public class PsiMethodReferenceExpressionImpl extends PsiReferenceExpressionBase } } else { if (rightTypes.length != types.length || rightTypes[rightTypes.length - 1].getArrayDimensions() != types[types.length-1].getArrayDimensions()) { - types[types.length - 1] = ((PsiArrayType)types[types.length - 1]).getComponentType(); + boolean expandTypeArray = types.length < rightTypes.length; int min = Math.min(types.length, rightTypes.length); types = Arrays.copyOf(types, min); + if (expandTypeArray) { + types[types.length - 1] = ((PsiArrayType)types[types.length - 1]).getComponentType(); + } rightTypes = Arrays.copyOf(rightTypes, min); } }