diff --git a/plugins/devkit/testData/inspections/capitalization/ConstructorArgument.java b/plugins/devkit/testData/inspections/capitalization/ConstructorArgument.java
new file mode 100644
index 000000000000..09a38a81d309
--- /dev/null
+++ b/plugins/devkit/testData/inspections/capitalization/ConstructorArgument.java
@@ -0,0 +1,10 @@
+import org.jetbrains.annotations.Nls;
+
+class ConstructorArgument {
+ ConstructorArgument(@Nls(capitalization = Nls.Capitalization.Title) String foo) {
+ }
+
+ public static void create() {
+ new ConstructorArgument("Foo bar");
+ }
+}
\ No newline at end of file
diff --git a/plugins/devkit/testData/inspections/capitalization/SuperConstructorArgument.java b/plugins/devkit/testData/inspections/capitalization/SuperConstructorArgument.java
new file mode 100644
index 000000000000..ef9c2e0d7a02
--- /dev/null
+++ b/plugins/devkit/testData/inspections/capitalization/SuperConstructorArgument.java
@@ -0,0 +1,13 @@
+import org.jetbrains.annotations.Nls;
+
+class SuperConstructorArgument {
+ SuperConstructorArgument(@Nls(capitalization = Nls.Capitalization.Title) String foo) {
+ }
+
+ public static class SubClass extends SuperConstructorArgument {
+ public SubClass() {
+ super("Foo bar");
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/plugins/java-i18n/src/com/intellij/codeInspection/capitalization/TitleCapitalizationInspection.java b/plugins/java-i18n/src/com/intellij/codeInspection/capitalization/TitleCapitalizationInspection.java
index a0b9c8203ff7..2cb3fb71919c 100644
--- a/plugins/java-i18n/src/com/intellij/codeInspection/capitalization/TitleCapitalizationInspection.java
+++ b/plugins/java-i18n/src/com/intellij/codeInspection/capitalization/TitleCapitalizationInspection.java
@@ -84,15 +84,18 @@ public class TitleCapitalizationInspection extends BaseJavaLocalInspectionTool {
}
@Override
- public void visitMethodCallExpression(PsiMethodCallExpression expression) {
+ public void visitCallExpression(PsiCallExpression expression) {
PsiMethod psiMethod = expression.resolveMethod();
if (psiMethod != null) {
- PsiExpression[] args = expression.getArgumentList().getExpressions();
- PsiParameter[] parameters = psiMethod.getParameterList().getParameters();
- for (int i = 0; i < Math.min(parameters.length, args.length); i++) {
- PsiParameter parameter = parameters[i];
- Nls.Capitalization capitalization = getCapitalizationFromAnno(parameter);
- checkCapitalization(args[i], holder, capitalization);
+ PsiExpressionList argumentList = expression.getArgumentList();
+ if (argumentList != null) {
+ PsiExpression[] args = argumentList.getExpressions();
+ PsiParameter[] parameters = psiMethod.getParameterList().getParameters();
+ for (int i = 0; i < Math.min(parameters.length, args.length); i++) {
+ PsiParameter parameter = parameters[i];
+ Nls.Capitalization capitalization = getCapitalizationFromAnno(parameter);
+ checkCapitalization(args[i], holder, capitalization);
+ }
}
}
}
diff --git a/plugins/java-i18n/testSrc/com/intellij/codeInspection/CapitalizationInspectionTest.java b/plugins/java-i18n/testSrc/com/intellij/codeInspection/CapitalizationInspectionTest.java
index c25e5e72e7cf..e18557c6fb94 100644
--- a/plugins/java-i18n/testSrc/com/intellij/codeInspection/CapitalizationInspectionTest.java
+++ b/plugins/java-i18n/testSrc/com/intellij/codeInspection/CapitalizationInspectionTest.java
@@ -47,6 +47,14 @@ public class CapitalizationInspectionTest extends LightCodeInsightFixtureTestCas
doTest(false);
}
+ public void testConstructorArgument() {
+ doTest(false);
+ }
+
+ public void testSuperConstructorArgument() {
+ doTest(false);
+ }
+
public void testRecursiveMethod() {
myFixture.testHighlighting(getTestName(false) + ".java");
assertEmpty(myFixture.filterAvailableIntentions("Properly capitalize"));