disable add type cast fix for non-denotable types (IDEA-149787)

This commit is contained in:
Anna Kozlova
2015-12-29 16:46:58 +01:00
parent 72f0bc5e0c
commit ec2128de5a
2 changed files with 12 additions and 1 deletions
@@ -33,6 +33,7 @@ import com.intellij.openapi.project.Project;
import com.intellij.psi.*;
import com.intellij.psi.codeStyle.CodeStyleManager;
import com.intellij.psi.codeStyle.JavaCodeStyleManager;
import com.intellij.psi.util.PsiTypesUtil;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.util.TypeConversionUtil;
import org.jetbrains.annotations.NotNull;
@@ -65,7 +66,10 @@ public class AddTypeCastFix extends LocalQuickFixAndIntentionActionOnPsiElement
@NotNull PsiFile file,
@NotNull PsiElement startElement,
@NotNull PsiElement endElement) {
return myType.isValid() && startElement.isValid() && startElement.getManager().isInProject(startElement);
return myType.isValid() &&
PsiTypesUtil.isDenotableType(myType) &&
startElement.isValid() &&
startElement.getManager().isInProject(startElement);
}
@Override
@@ -0,0 +1,7 @@
// "Cast to '?'" "false"
class Scope<T> {
T val;
void f(Scope<?> s) {
s.val = <caret>"";
}
}