diff --git a/build.xml b/build.xml
index 371ac38c1..607d440a2 100644
--- a/build.xml
+++ b/build.xml
@@ -204,6 +204,7 @@
+
diff --git a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheck.java b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheck.java
index 5618669f8..8f9e4ea81 100644
--- a/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheck.java
+++ b/src/checkstyle/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheck.java
@@ -98,7 +98,15 @@ public class MethodNameCheck extends AbstractNameCheck
final DetailAST classDefOrNew = aAst.getParent().getParent();
final DetailAST classIdent =
classDefOrNew.findFirstToken(TokenTypes.IDENT);
- if (method.getText().equals(classIdent.getText())) {
+ // Following logic is to handle when a classIdent can not be
+ // found. This is when you have a Literal_New keyword followed
+ // a DOT, which is when you have:
+ // new Outclass.InnerInterface(x) { ... }
+ // Such a rare case, will not have the logic to handle parsing
+ // down the tree looking for the first ident.
+ if ((null != classIdent)
+ && method.getText().equals(classIdent.getText()))
+ {
log(method.getLineNo(), method.getColumnNo(),
"method.name.equals.class.name", method.getText());
}
diff --git a/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputMethodNameExtra.java b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputMethodNameExtra.java
new file mode 100644
index 000000000..b202bdffb
--- /dev/null
+++ b/src/testinputs/com/puppycrawl/tools/checkstyle/naming/InputMethodNameExtra.java
@@ -0,0 +1,14 @@
+public class InputMethodNameExtra
+{
+ public void doit()
+ {
+ createNameHistoryDetails(historyDetails, previousNameService, entityId,
+ new More.ViewChangeHistoryBaseAction.ChangeHistoryDisplayName(agencyName)
+ {
+ String getDisplayName()
+ {
+ return getPreviousName(TypeOfName.AGENCY_NAME);
+ }
+ });
+ }
+}
diff --git a/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheckTest.java b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheckTest.java
index 46ac90881..f400a91cf 100644
--- a/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheckTest.java
+++ b/src/tests/com/puppycrawl/tools/checkstyle/checks/naming/MethodNameCheckTest.java
@@ -60,4 +60,16 @@ public class MethodNameCheckTest
verify(checkConfig, getPath("InputMethNameEqualClsName.java"), expected);
}
+
+ @Test
+ public void testForNpe() throws Exception
+ {
+ final DefaultConfiguration checkConfig =
+ createCheckConfig(MethodNameCheck.class);
+
+ final String[] expected = {
+ };
+
+ verify(checkConfig, getPath("naming/InputMethodNameExtra.java"), expected);
+ }
}
diff --git a/src/xdocs/releasenotes.xml b/src/xdocs/releasenotes.xml
index 3ed667d8a..075c6fd66 100755
--- a/src/xdocs/releasenotes.xml
+++ b/src/xdocs/releasenotes.xml
@@ -9,7 +9,7 @@
-
+
The 5.x release is developed using Java 5 and requires a Java 5
platform to run. If you need run a Java 1.4 or earlier, then use