From e65779a8fb9bcc90ddea4ecfe83251516f5799e9 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Wed, 17 Jul 2013 18:28:37 +0400 Subject: [PATCH] do not suggest anonymous type --- .../decls/ChangeVariableTypeToRhsTypePredicate.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/decls/ChangeVariableTypeToRhsTypePredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/decls/ChangeVariableTypeToRhsTypePredicate.java index c639541d1c38..6201636dc1ad 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/decls/ChangeVariableTypeToRhsTypePredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/decls/ChangeVariableTypeToRhsTypePredicate.java @@ -46,7 +46,10 @@ class ChangeVariableTypeToRhsTypePredicate implements PsiElementPredicate { return false; } final PsiClassType initializerClassType = (PsiClassType)initializerType; - final PsiClass initializerClass = initializerClassType.resolve(); + PsiClass initializerClass = initializerClassType.resolve(); + if (initializerClass instanceof PsiAnonymousClass) { + initializerClass = initializerClass.getSuperClass(); + } if (initializerClass == null) { return false; } @@ -55,6 +58,12 @@ class ChangeVariableTypeToRhsTypePredicate implements PsiElementPredicate { if (variableClass == null) { return false; } - return initializerClass.isInheritor(variableClass, true); + if (variableClass.equals(initializerClass)) { + return false; + } + if (!initializerClass.isInheritor(variableClass, true)) { + return false; + } + return true; } }