From b2db98d0a2e240e3d800f89a06454633f2651e85 Mon Sep 17 00:00:00 2001 From: Bas Leijdekkers Date: Wed, 30 May 2012 11:17:15 +0200 Subject: [PATCH] fix for polyadic expressions --- .../SimpleStringConcatenationPredicate.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java index b32dc9455d33..49386e4f4f3d 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java @@ -1,5 +1,5 @@ /* - * Copyright 2003-2011 Dave Griffith, Bas Leijdekkers + * Copyright 2003-2012 Dave Griffith, Bas Leijdekkers * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -16,9 +16,9 @@ package com.siyeh.ipp.concatenation; import com.intellij.psi.PsiArrayInitializerMemberValue; -import com.intellij.psi.PsiBinaryExpression; import com.intellij.psi.PsiElement; import com.intellij.psi.PsiNameValuePair; +import com.intellij.psi.PsiPolyadicExpression; import com.siyeh.ipp.base.PsiElementPredicate; import com.siyeh.ipp.psiutils.ConcatenationUtils; import com.siyeh.ipp.psiutils.ErrorUtil; @@ -43,14 +43,10 @@ class SimpleStringConcatenationPredicate } private static boolean isInsideAnnotation(PsiElement element) { - for (int i = 0; i < 20 && element instanceof PsiBinaryExpression; i++) { - // optimization: don't check deep string concatenations more than 20 levels up. - element = element.getParent(); - if (element instanceof PsiNameValuePair || - element instanceof PsiArrayInitializerMemberValue) { - return true; - } + if (!(element instanceof PsiPolyadicExpression)) { + return false; } - return false; + final PsiElement parent = element.getParent(); + return parent instanceof PsiNameValuePair || parent instanceof PsiArrayInitializerMemberValue; } }