Fix EA-47308

Don't always cast PsiFile to JetFile, first check if it really is a Kotlin
source
This commit is contained in:
Alexander Udalov
2013-06-24 23:09:33 +04:00
parent 69dffe8358
commit 9b3115a10b
@@ -58,9 +58,10 @@ public class CastExpressionFix extends JetIntentionAction<JetExpression> {
@Override
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
if (!super.isAvailable(project, editor, file)) return false;
BindingContext context = AnalyzerFacadeWithCache.analyzeFileWithCache((JetFile) file).getBindingContext();
JetType expressionType = context.get(BindingContext.EXPRESSION_TYPE, element);
return super.isAvailable(project, editor, file) && expressionType != null && JetTypeChecker.INSTANCE.isSubtypeOf(type, expressionType);
return expressionType != null && JetTypeChecker.INSTANCE.isSubtypeOf(type, expressionType);
}
@Override