diff --git a/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java b/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java index 1b5e41ed0fb7..8393cbd955bf 100644 --- a/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java +++ b/plugins/IntentionPowerPak/src/com/siyeh/ipp/concatenation/SimpleStringConcatenationPredicate.java @@ -16,7 +16,9 @@ package com.siyeh.ipp.concatenation; import com.intellij.codeInsight.AnnotationUtil; +import com.intellij.psi.PsiAnnotationMethod; import com.intellij.psi.PsiElement; +import com.intellij.psi.util.PsiTreeUtil; import com.siyeh.ig.psiutils.ExpressionUtils; import com.siyeh.ipp.base.PsiElementPredicate; @@ -33,6 +35,7 @@ class SimpleStringConcatenationPredicate implements PsiElementPredicate { if (!ExpressionUtils.isConcatenation(element)) { return false; } - return !(excludeConcatenationsInsideAnnotations && AnnotationUtil.isInsideAnnotation(element)); + return !(excludeConcatenationsInsideAnnotations && (AnnotationUtil.isInsideAnnotation(element) || + PsiTreeUtil.getParentOfType(element, PsiAnnotationMethod.class) != null)); } } diff --git a/plugins/IntentionPowerPak/test/com/siyeh/ipp/concatenation/string_builder/ConstantRequiredInsideAnnotationMethod.java b/plugins/IntentionPowerPak/test/com/siyeh/ipp/concatenation/string_builder/ConstantRequiredInsideAnnotationMethod.java new file mode 100644 index 000000000000..c69e724452dd --- /dev/null +++ b/plugins/IntentionPowerPak/test/com/siyeh/ipp/concatenation/string_builder/ConstantRequiredInsideAnnotationMethod.java @@ -0,0 +1,5 @@ +package com.siyeh.ipp.concatenation.string_builder; + +public @interface ConstantRequiredInsideAnnotationMethod { + String val() default "hey," + ""; +} \ No newline at end of file diff --git a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/concatenation/ReplaceConcatenationWithStringBufferIntentionTest.java b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/concatenation/ReplaceConcatenationWithStringBufferIntentionTest.java index 82ee9ca4b93e..3baa064bf8c8 100644 --- a/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/concatenation/ReplaceConcatenationWithStringBufferIntentionTest.java +++ b/plugins/IntentionPowerPak/testSrc/com/siyeh/ipp/concatenation/ReplaceConcatenationWithStringBufferIntentionTest.java @@ -10,6 +10,7 @@ public class ReplaceConcatenationWithStringBufferIntentionTest extends IPPTestCa public void testNonStringConcatenationStart() { doTest(); } public void testConcatenationInsideAppend() { doTest(); } + public void testConstantRequiredInsideAnnotationMethod() { assertIntentionNotAvailable(); } @Override protected String getIntentionName() {