From cf963976ebe6feeab8530566cb9ca30f3e60ba76 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 18 Jul 2013 15:14:58 +0200 Subject: [PATCH] EquivalenceChecker: add logic from the deleted semi-duplicate --- .../siyeh/ig/psiutils/EquivalenceChecker.java | 23 ++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/EquivalenceChecker.java b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/EquivalenceChecker.java index b139854a66c2..c7a89934bece 100644 --- a/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/EquivalenceChecker.java +++ b/plugins/InspectionGadgets/InspectionGadgetsAnalysis/src/com/siyeh/ig/psiutils/EquivalenceChecker.java @@ -100,7 +100,28 @@ public class EquivalenceChecker { return false; } if (statement1.getClass() != statement2.getClass()) { - return false; + if (statement1 instanceof PsiBlockStatement && !(statement2 instanceof PsiBlockStatement)) { + final PsiBlockStatement blockStatement = (PsiBlockStatement)statement1; + final PsiStatement[] statements = blockStatement.getCodeBlock().getStatements(); + if (statements.length != 1) { + return false; + } + statement1 = statements[0]; + } + else if (!(statement1 instanceof PsiBlockStatement) && statement2 instanceof PsiBlockStatement) { + final PsiBlockStatement blockStatement = (PsiBlockStatement)statement2; + final PsiStatement[] statements = blockStatement.getCodeBlock().getStatements(); + if (statements.length != 1) { + return false; + } + statement2 = statements[0]; + } + else { + return false; + } + if (statement1.getClass() != statement2.getClass()) { + return false; + } } if (statement1 instanceof PsiAssertStatement) { return assertStatementsAreEquivalent((PsiAssertStatement)statement1, (PsiAssertStatement)statement2);