diff --git a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java index 93b148ec71..99de123003 100644 --- a/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java +++ b/pmd-java/src/main/java/net/sourceforge/pmd/lang/java/symboltable/ClassScope.java @@ -365,7 +365,7 @@ public class ClassScope extends AbstractJavaScope { for (String qualified : qualifiedNames) { int fullLength = qualified.length(); if (qualified.endsWith(typeImage) - && (fullLength == nameLength || qualified.substring(0, fullLength - nameLength).endsWith("."))) { + && (fullLength == nameLength || qualified.charAt(fullLength - nameLength - 1) == '.')) { return qualified; } } diff --git a/src/site/markdown/overview/changelog.md b/src/site/markdown/overview/changelog.md index bb255af64d..4cc0c97c03 100644 --- a/src/site/markdown/overview/changelog.md +++ b/src/site/markdown/overview/changelog.md @@ -6,12 +6,16 @@ **Feature Requests and Improvements:** +* java + * Type Resolution performance improved by ~15% + **New/Modified/Deprecated Rules:** **Pull Requests:** * [#123](https://github.com/pmd/pmd/pull/123): \[apex] Changing method names to lowercase so casing doesn't matter * [#124](https://github.com/pmd/pmd/pull/124): \[java] CPD: Properly handle enums with `-ignore-identifiers` +* [#126](https://github.com/pmd/pmd/pull/126): \[java] Avoid creating a new String to qualify types **Bugfixes:**