diff --git a/plugins/devkit/src/inspections/TitleCapitalizationInspection.java b/plugins/devkit/src/inspections/TitleCapitalizationInspection.java index 2de34c1856de..593cb176e7cc 100644 --- a/plugins/devkit/src/inspections/TitleCapitalizationInspection.java +++ b/plugins/devkit/src/inspections/TitleCapitalizationInspection.java @@ -159,6 +159,9 @@ public class TitleCapitalizationInspection extends BaseJavaLocalInspectionTool { if (arg instanceof PsiMethodCallExpression) { PsiMethod psiMethod = ((PsiMethodCallExpression)arg).resolveMethod(); PsiExpression returnValue = PropertyUtil.getGetterReturnExpression(psiMethod); + if (arg == returnValue) { + return null; + } if (returnValue != null) { return getTitleValue(returnValue); } diff --git a/plugins/devkit/testData/inspections/capitalization/RecursiveMethod.java b/plugins/devkit/testData/inspections/capitalization/RecursiveMethod.java new file mode 100644 index 000000000000..b852a3373328 --- /dev/null +++ b/plugins/devkit/testData/inspections/capitalization/RecursiveMethod.java @@ -0,0 +1,8 @@ +import org.jetbrains.annotations.Nls; + +class RecursiveMethod { + @Nls(capitalization = Nls.Capitalization.Title) + public String getName() { + return getName(); + } +} \ No newline at end of file diff --git a/plugins/devkit/testSources/inspections/CapitalizationInspectionTest.java b/plugins/devkit/testSources/inspections/CapitalizationInspectionTest.java index 51b181a7ae84..2177ebfc3ea1 100644 --- a/plugins/devkit/testSources/inspections/CapitalizationInspectionTest.java +++ b/plugins/devkit/testSources/inspections/CapitalizationInspectionTest.java @@ -37,6 +37,11 @@ public class CapitalizationInspectionTest extends LightCodeInsightFixtureTestCas doTest(); } + public void testRecursiveMethod() throws Exception { + myFixture.testHighlighting(getTestName(false) + ".java"); + assertEmpty(myFixture.filterAvailableIntentions("Properly capitalize")); + } + public void doTest() { myFixture.testHighlighting(getTestName(false) + ".java"); final IntentionAction action = myFixture.filterAvailableIntentions("Properly capitalize").get(0);