mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
redundant cast: ignore incorrect types, e.g. in templates
This commit is contained in:
@@ -464,12 +464,15 @@ public class RedundantCastUtil {
|
||||
PsiType opType = operand.getType();
|
||||
final PsiType expectedTypeByParent = PsiTypesUtil.getExpectedTypeByParent(typeCast);
|
||||
if (expectedTypeByParent != null) {
|
||||
final PsiDeclarationStatement declarationStatement =
|
||||
(PsiDeclarationStatement)JavaPsiFacade.getElementFactory(operand.getProject()).createStatementFromText(
|
||||
expectedTypeByParent.getCanonicalText() + " l = " + operand.getText() + ";", parent);
|
||||
final PsiExpression initializer = ((PsiLocalVariable)declarationStatement.getDeclaredElements()[0]).getInitializer();
|
||||
LOG.assertTrue(initializer != null, operand.getText());
|
||||
opType = initializer.getType();
|
||||
try {
|
||||
final PsiDeclarationStatement declarationStatement =
|
||||
(PsiDeclarationStatement)JavaPsiFacade.getElementFactory(operand.getProject()).createStatementFromText(
|
||||
expectedTypeByParent.getCanonicalText() + " l = " + operand.getText() + ";", parent);
|
||||
final PsiExpression initializer = ((PsiLocalVariable)declarationStatement.getDeclaredElements()[0]).getInitializer();
|
||||
LOG.assertTrue(initializer != null, operand.getText());
|
||||
opType = initializer.getType();
|
||||
}
|
||||
catch (IncorrectOperationException ignore) {}
|
||||
}
|
||||
|
||||
if (opType == null) return;
|
||||
|
||||
Reference in New Issue
Block a user