From 19d35b8ec6046a8e61012bb4b0f6b105b0126160 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 1 Sep 2014 11:12:39 +0400 Subject: [PATCH] Fix ClassCastException: PsiParameterImpl cannot be cast to JetParameter Fixes EA-59008. No new tests added, difficult to reproduce --- .../org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java index 098e29aa712..94beb6bdea1 100644 --- a/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java +++ b/idea/src/org/jetbrains/jet/plugin/quickfix/QuickFixUtil.java @@ -112,9 +112,12 @@ public class QuickFixUtil { } @Nullable - public static JetParameter getParameterDeclarationForValueArgument(@NotNull ResolvedCall resolvedCall, @Nullable ValueArgument valueArgument) { - ValueParameterDescriptor parameterDescriptor = CallUtilPackage.getParameterForArgument(resolvedCall, valueArgument); - return (JetParameter) safeGetDeclaration(parameterDescriptor); + public static JetParameter getParameterDeclarationForValueArgument( + @NotNull ResolvedCall resolvedCall, + @Nullable ValueArgument valueArgument + ) { + PsiElement declaration = safeGetDeclaration(CallUtilPackage.getParameterForArgument(resolvedCall, valueArgument)); + return declaration instanceof JetParameter ? (JetParameter) declaration : null; } private static boolean equalOrLastInThenOrElse(JetExpression thenOrElse, JetExpression expression) {