wrap long with Math.intToExact(): check that convertible argument is long (IDEA-146770) dbe/171.1042
authorDmitry Batkovich <dmitry.batkovich@jetbrains.com>
Thu, 17 Nov 2016 09:46:49 +0000 (12:46 +0300)
committerDmitry Batkovich <dmitry.batkovich@jetbrains.com>
Thu, 17 Nov 2016 09:47:47 +0000 (12:47 +0300)
java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/quickfix/WrapLongWithMathToIntExactFix.java

index f0a34ce3d9539eca1f1eb19b9cd6f97796895f09..76c4d6a530bbef263c268634558efd3f7d93961a 100644 (file)
@@ -114,7 +114,7 @@ public class WrapLongWithMathToIntExactFix extends LocalQuickFixAndIntentionActi
     @Nullable
     @Override
     protected PsiExpression getModifiedArgument(final PsiExpression expression, final PsiType toType) throws IncorrectOperationException {
     @Nullable
     @Override
     protected PsiExpression getModifiedArgument(final PsiExpression expression, final PsiType toType) throws IncorrectOperationException {
-      return areSameTypes(toType, PsiType.INT) ? (PsiExpression)getModifiedExpression(expression) : null;
+      return areSameTypes(expression.getType(), PsiType.LONG) && areSameTypes(toType, PsiType.INT) ? (PsiExpression)getModifiedExpression(expression) : null;
     }
 
     @Override
     }
 
     @Override