diff --git a/404.html b/404.html index e0b9b20bc2..351d491d68 100644 --- a/404.html +++ b/404.html @@ -1279,7 +1279,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
Signature<N>
from a
diff --git a/pmd_devdocs_roadmap.html b/pmd_devdocs_roadmap.html
index 1f82f39703..21eff6d7e6 100644
--- a/pmd_devdocs_roadmap.html
+++ b/pmd_devdocs_roadmap.html
@@ -1422,7 +1422,7 @@ This should be configurable on per Rule basis similar to TR and SymbolTable.
diff --git a/pmd_devdocs_writing_documentation.html b/pmd_devdocs_writing_documentation.html
index 865486fe6b..33dc280bb6 100644
--- a/pmd_devdocs_writing_documentation.html
+++ b/pmd_devdocs_writing_documentation.html
@@ -1464,7 +1464,7 @@ public class Foo {
diff --git a/pmd_java_metrics_index.html b/pmd_java_metrics_index.html
index b2ff4d04cb..39e35c02a0 100644
--- a/pmd_java_metrics_index.html
+++ b/pmd_java_metrics_index.html
@@ -1592,7 +1592,7 @@ In Proceedings ACM Symposium on Software Reusability, 1995.
diff --git a/pmd_languages_jsp.html b/pmd_languages_jsp.html
index b5895bde88..a164f70b73 100644
--- a/pmd_languages_jsp.html
+++ b/pmd_languages_jsp.html
@@ -1332,7 +1332,7 @@ contains only “.java” files, JSP files obviously will not be checked.
diff --git a/pmd_projectdocs_committers_merging_pull_requests.html b/pmd_projectdocs_committers_merging_pull_requests.html
index afaf879fde..4e8dc80b2d 100644
--- a/pmd_projectdocs_committers_merging_pull_requests.html
+++ b/pmd_projectdocs_committers_merging_pull_requests.html
@@ -1450,7 +1450,7 @@ integrated (e.g. gitk and github show the branches, from which the specific comm
diff --git a/pmd_projectdocs_committers_releasing.html b/pmd_projectdocs_committers_releasing.html
index b312881198..4ee33f5b7b 100644
--- a/pmd_projectdocs_committers_releasing.html
+++ b/pmd_projectdocs_committers_releasing.html
@@ -1472,7 +1472,7 @@ and
mvn versions:set -DnewVersion=5.7.0-SNAPSHOT
diff --git a/pmd_projectdocs_credits.html b/pmd_projectdocs_credits.html
index ded299a451..4512d34307 100644
--- a/pmd_projectdocs_credits.html
+++ b/pmd_projectdocs_credits.html
@@ -1793,7 +1793,7 @@ PMD scoreboard formulas, pmd-dcpd optimizations
diff --git a/pmd_projectdocs_faq.html b/pmd_projectdocs_faq.html
index dddbceaf45..6baa860e01 100644
--- a/pmd_projectdocs_faq.html
+++ b/pmd_projectdocs_faq.html
@@ -1326,7 +1326,7 @@ You must take this into account for certain rules.
diff --git a/pmd_projectdocs_trivia_meaning.html b/pmd_projectdocs_trivia_meaning.html
index 92cdf829cc..23217daf73 100644
--- a/pmd_projectdocs_trivia_meaning.html
+++ b/pmd_projectdocs_trivia_meaning.html
@@ -1295,7 +1295,7 @@ really know. We just think the letters sound good together.
diff --git a/pmd_projectdocs_trivia_news.html b/pmd_projectdocs_trivia_news.html
index 047da02dae..1482ae51c0 100644
--- a/pmd_projectdocs_trivia_news.html
+++ b/pmd_projectdocs_trivia_news.html
@@ -1396,7 +1396,7 @@ interview with Ole-Martin and Tom
diff --git a/pmd_projectdocs_trivia_products.html b/pmd_projectdocs_trivia_products.html
index c5cd236db1..0e7e8ab824 100644
--- a/pmd_projectdocs_trivia_products.html
+++ b/pmd_projectdocs_trivia_products.html
@@ -1342,7 +1342,7 @@ to catch web app security problems. Thanks to Joseph Hemler for the props!
diff --git a/pmd_projectdocs_trivia_similarprojects.html b/pmd_projectdocs_trivia_similarprojects.html
index c16e27f8f4..d42c3f5733 100644
--- a/pmd_projectdocs_trivia_similarprojects.html
+++ b/pmd_projectdocs_trivia_similarprojects.html
@@ -1350,7 +1350,7 @@ only for maven project.
diff --git a/pmd_release_notes.html b/pmd_release_notes.html
index b391d76d07..7349ddcebc 100644
--- a/pmd_release_notes.html
+++ b/pmd_release_notes.html
@@ -1268,6 +1268,14 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
New and noteworthy
+New Rules
+
+
+ - The new Java rule
UseUnderscoresInNumericLiterals
+(java-codestyle
) verifies that numeric literals over a given length (4 chars by default, but configurable) are using underscores every 3 digits for readability.
+The rule only applies to Java 7+ codebases.
+
+
Fixed Issues
@@ -1279,6 +1287,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- java-codestyle
@@ -1289,6 +1298,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
External Contributions
+ - #1384: [java] New Rule - UseUnderscoresInNumericLiterals - RajeshR
- #1424: [doc] #1341 Updating Regex Values in default Value Property - avishvat
- #1428: [core] Upgrading JCommander from 1.48 to 1.72 - Thunderforge
- #1430: [doc] Who really knows regex? - Dem Pilafian
@@ -1310,7 +1320,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_release_notes_old.html b/pmd_release_notes_old.html
index 8de9f6d465..5e5c18c728 100644
--- a/pmd_release_notes_old.html
+++ b/pmd_release_notes_old.html
@@ -8798,7 +8798,7 @@ Added new HTML report format
diff --git a/pmd_rules_apex.html b/pmd_rules_apex.html
index 80e0a5cb68..4886b727f2 100644
--- a/pmd_rules_apex.html
+++ b/pmd_rules_apex.html
@@ -1461,7 +1461,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_bestpractices.html b/pmd_rules_apex_bestpractices.html
index 33159a9be7..5168eebd2f 100644
--- a/pmd_rules_apex_bestpractices.html
+++ b/pmd_rules_apex_bestpractices.html
@@ -1523,7 +1523,7 @@ Therefore delegate the triggers work to a regular class (often called Trigger ha
diff --git a/pmd_rules_apex_codestyle.html b/pmd_rules_apex_codestyle.html
index a5977e12fc..eb74738039 100644
--- a/pmd_rules_apex_codestyle.html
+++ b/pmd_rules_apex_codestyle.html
@@ -1832,7 +1832,7 @@ controlled from the rest.
diff --git a/pmd_rules_apex_design.html b/pmd_rules_apex_design.html
index 9283c76f36..258fccfbb6 100644
--- a/pmd_rules_apex_design.html
+++ b/pmd_rules_apex_design.html
@@ -2118,7 +2118,7 @@ city/state/zip fields could park them within a single Address field.
diff --git a/pmd_rules_apex_errorprone.html b/pmd_rules_apex_errorprone.html
index 3f4c1b3e7f..650a183ef6 100644
--- a/pmd_rules_apex_errorprone.html
+++ b/pmd_rules_apex_errorprone.html
@@ -1836,7 +1836,7 @@ a while loop that does a lot in the exit expression, rewrite it to make it clear
diff --git a/pmd_rules_apex_performance.html b/pmd_rules_apex_performance.html
index 01b35e1f03..310f31fc34 100644
--- a/pmd_rules_apex_performance.html
+++ b/pmd_rules_apex_performance.html
@@ -1454,7 +1454,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_apex_security.html b/pmd_rules_apex_security.html
index 6fb9a3545d..6ae9a73b4e 100644
--- a/pmd_rules_apex_security.html
+++ b/pmd_rules_apex_security.html
@@ -1940,7 +1940,7 @@ to avoid XSS attacks.
diff --git a/pmd_rules_ecmascript.html b/pmd_rules_ecmascript.html
index 31b2b30cb9..41e93befd4 100644
--- a/pmd_rules_ecmascript.html
+++ b/pmd_rules_ecmascript.html
@@ -1367,7 +1367,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_ecmascript_bestpractices.html b/pmd_rules_ecmascript_bestpractices.html
index 7297960d71..1b3eb2d928 100644
--- a/pmd_rules_ecmascript_bestpractices.html
+++ b/pmd_rules_ecmascript_bestpractices.html
@@ -1479,7 +1479,7 @@ It also improves readability, if the base is given.
diff --git a/pmd_rules_ecmascript_codestyle.html b/pmd_rules_ecmascript_codestyle.html
index 25e7d7b531..63d328a4ae 100644
--- a/pmd_rules_ecmascript_codestyle.html
+++ b/pmd_rules_ecmascript_codestyle.html
@@ -1618,7 +1618,7 @@ will never execute. This is a bug, or extremely poor style.
diff --git a/pmd_rules_ecmascript_errorprone.html b/pmd_rules_ecmascript_errorprone.html
index 9885723d8a..c6486311e7 100644
--- a/pmd_rules_ecmascript_errorprone.html
+++ b/pmd_rules_ecmascript_errorprone.html
@@ -1404,7 +1404,7 @@ precision in a floating point number. This may result in numeric calculations b
diff --git a/pmd_rules_java.html b/pmd_rules_java.html
index 91439e6ac2..515c858dfb 100644
--- a/pmd_rules_java.html
+++ b/pmd_rules_java.html
@@ -1375,6 +1375,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- UnnecessaryReturn: Avoid the use of unnecessary return statements.
- UselessParentheses: Useless parentheses should be removed.
- UselessQualifiedThis: Reports qualified this usages in the same class.
+ - UseUnderscoresInNumericLiterals: Numeric literals with more than 3 digits must use ‘_’ as a separator.
- VariableNamingConventions: Deprecated A variable naming conventions rule - customize this to your liking. Currently, itchecks for fina…
- WhileLoopsMustUseBraces: Deprecated Avoid using ‘while’ statements without using braces to surround the code block. If the code forma…
@@ -1911,7 +1912,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_java_bestpractices.html b/pmd_rules_java_bestpractices.html
index 11b97adc9a..d6fb56bcda 100644
--- a/pmd_rules_java_bestpractices.html
+++ b/pmd_rules_java_bestpractices.html
@@ -2891,7 +2891,7 @@ having to deal with the creation of an array.
diff --git a/pmd_rules_java_codestyle.html b/pmd_rules_java_codestyle.html
index d2201ededb..e344bda6dd 100644
--- a/pmd_rules_java_codestyle.html
+++ b/pmd_rules_java_codestyle.html
@@ -5,7 +5,7 @@
-
+
Code Style | PMD Source Code Analyzer
@@ -3805,6 +3805,68 @@ For historical reasons, modifiers which are implied by the context are accepted
<rule ref="category/java/codestyle.xml/UselessQualifiedThis" />
+UseUnderscoresInNumericLiterals
+
+Since: PMD 6.10.0
+
+Priority: Medium (3)
+
+Minimum Language Version: Java 1.7
+
+Numeric literals with more than 3 digits must use ‘_’ as a separator.
+
+This rule is defined by the following XPath expression:
+//Literal[@IntLiteral = true() or
+ @LongLiteral = true() or
+ @DoubleLiteral = true() or
+ @FloatLiteral = true()]
+ [ not (matches(@Image, "^0[^.]"))]
+ [
+ some $num in tokenize(@Image, "[.dDfFlLeE\-\+]")
+ satisfies not(
+ string-length($num) <= $acceptableDecimalLength
+ and (
+ not(contains($num,"_"))
+ )
+ or matches($num, "^[0-9]{1,3}(_[0-9]{3})*$")
+ )
+ ]
+ [ancestor::VariableDeclarator[not (@Name = 'serialVersionUID')] or
+ not (ancestor::VariableDeclarator)]
+
+
+Example(s):
+
+public class Foo {
+ private int num = 1000000; // should be 1_000_000
+}
+
+
+This rule has the following properties:
+
+
+
+
+ Name
+ Default Value
+ Description
+ Multivalued
+
+
+
+
+ acceptableDecimalLength
+ 4
+ Maximum acceptable length within which the rule is not applicable
+ no
+
+
+
+
+Use this rule by referencing it:
+<rule ref="category/java/codestyle.xml/UseUnderscoresInNumericLiterals" />
+
+
VariableNamingConventions
Deprecated
@@ -3965,7 +4027,7 @@ controlled from the rest.
diff --git a/pmd_rules_java_design.html b/pmd_rules_java_design.html
index 7fe09b8985..777966f36d 100644
--- a/pmd_rules_java_design.html
+++ b/pmd_rules_java_design.html
@@ -3552,7 +3552,7 @@ remember to add a private constructor to prevent instantiation.
diff --git a/pmd_rules_java_documentation.html b/pmd_rules_java_documentation.html
index d1ef84223b..8fa13547f0 100644
--- a/pmd_rules_java_documentation.html
+++ b/pmd_rules_java_documentation.html
@@ -1545,7 +1545,7 @@ empty methods.
diff --git a/pmd_rules_java_errorprone.html b/pmd_rules_java_errorprone.html
index 981c5dcc6b..876bf54710 100644
--- a/pmd_rules_java_errorprone.html
+++ b/pmd_rules_java_errorprone.html
@@ -4761,7 +4761,7 @@ Thread.currentThread().getContextClassLoader() instead.
diff --git a/pmd_rules_java_multithreading.html b/pmd_rules_java_multithreading.html
index 4b048074f8..9b81457e78 100644
--- a/pmd_rules_java_multithreading.html
+++ b/pmd_rules_java_multithreading.html
@@ -1640,7 +1640,7 @@ one is chosen. The thread chosen is arbitrary; thus its usually safer to call n
diff --git a/pmd_rules_java_performance.html b/pmd_rules_java_performance.html
index 12136c7dd5..1bb562af7b 100644
--- a/pmd_rules_java_performance.html
+++ b/pmd_rules_java_performance.html
@@ -2269,7 +2269,7 @@ or StringBuffer.toString().length() == …
diff --git a/pmd_rules_java_security.html b/pmd_rules_java_security.html
index 1aa7851c1e..8a75274570 100644
--- a/pmd_rules_java_security.html
+++ b/pmd_rules_java_security.html
@@ -1338,7 +1338,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp.html b/pmd_rules_jsp.html
index 8ce7f36607..3ba7052240 100644
--- a/pmd_rules_jsp.html
+++ b/pmd_rules_jsp.html
@@ -1349,7 +1349,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_bestpractices.html b/pmd_rules_jsp_bestpractices.html
index 311a93b9e5..7c998565f2 100644
--- a/pmd_rules_jsp_bestpractices.html
+++ b/pmd_rules_jsp_bestpractices.html
@@ -1380,7 +1380,7 @@ little other purpose. Consider switching to JSP comments.
diff --git a/pmd_rules_jsp_codestyle.html b/pmd_rules_jsp_codestyle.html
index db4ff110f2..ca5fcf89cc 100644
--- a/pmd_rules_jsp_codestyle.html
+++ b/pmd_rules_jsp_codestyle.html
@@ -1297,7 +1297,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_design.html b/pmd_rules_jsp_design.html
index b800f180a0..7115d5d12e 100644
--- a/pmd_rules_jsp_design.html
+++ b/pmd_rules_jsp_design.html
@@ -1388,7 +1388,7 @@ response.setHeader("Pragma", "No-cache");
diff --git a/pmd_rules_jsp_errorprone.html b/pmd_rules_jsp_errorprone.html
index 8eff3f0ffd..6b553234af 100644
--- a/pmd_rules_jsp_errorprone.html
+++ b/pmd_rules_jsp_errorprone.html
@@ -1309,7 +1309,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_jsp_security.html b/pmd_rules_jsp_security.html
index 1dfd964a69..68585174da 100644
--- a/pmd_rules_jsp_security.html
+++ b/pmd_rules_jsp_security.html
@@ -1330,7 +1330,7 @@ ${fn:escapeXml(expression)} <!-- instead, escape it -->
diff --git a/pmd_rules_plsql.html b/pmd_rules_plsql.html
index c98570b61b..6dc17d68c9 100644
--- a/pmd_rules_plsql.html
+++ b/pmd_rules_plsql.html
@@ -1376,7 +1376,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_bestpractices.html b/pmd_rules_plsql_bestpractices.html
index cb4ef831f5..365fd4f933 100644
--- a/pmd_rules_plsql_bestpractices.html
+++ b/pmd_rules_plsql_bestpractices.html
@@ -1338,7 +1338,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_plsql_codestyle.html b/pmd_rules_plsql_codestyle.html
index c5ced50769..97595e0007 100644
--- a/pmd_rules_plsql_codestyle.html
+++ b/pmd_rules_plsql_codestyle.html
@@ -1503,7 +1503,7 @@ https://docs.oracle.com/cd/B28359_01/appdev.111/b28370/static.htm#BABIIHBJ
diff --git a/pmd_rules_plsql_design.html b/pmd_rules_plsql_design.html
index 90e62be17d..9d61c72f36 100644
--- a/pmd_rules_plsql_design.html
+++ b/pmd_rules_plsql_design.html
@@ -2164,7 +2164,7 @@ have more fine grained objects.
diff --git a/pmd_rules_plsql_errorprone.html b/pmd_rules_plsql_errorprone.html
index 67775488ab..2a2507efda 100644
--- a/pmd_rules_plsql_errorprone.html
+++ b/pmd_rules_plsql_errorprone.html
@@ -1409,7 +1409,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom.html b/pmd_rules_pom.html
index dc9e717bcc..cc9c51a174 100644
--- a/pmd_rules_pom.html
+++ b/pmd_rules_pom.html
@@ -1311,7 +1311,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_pom_errorprone.html b/pmd_rules_pom_errorprone.html
index 0f257468fd..f13092e39e 100644
--- a/pmd_rules_pom_errorprone.html
+++ b/pmd_rules_pom_errorprone.html
@@ -1370,7 +1370,7 @@ By far the most common problem is the use of ${project.version} in a BOM or pare
diff --git a/pmd_rules_vf.html b/pmd_rules_vf.html
index 345e8be89c..074983fbc1 100644
--- a/pmd_rules_vf.html
+++ b/pmd_rules_vf.html
@@ -1311,7 +1311,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vf_security.html b/pmd_rules_vf_security.html
index 87822fc96f..55fcbcc6a3 100644
--- a/pmd_rules_vf_security.html
+++ b/pmd_rules_vf_security.html
@@ -1316,7 +1316,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm.html b/pmd_rules_vm.html
index 8bddcbf0ab..420199ac9f 100644
--- a/pmd_rules_vm.html
+++ b/pmd_rules_vm.html
@@ -1332,7 +1332,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_bestpractices.html b/pmd_rules_vm_bestpractices.html
index d4f3cc8096..e8f70fc935 100644
--- a/pmd_rules_vm_bestpractices.html
+++ b/pmd_rules_vm_bestpractices.html
@@ -1306,7 +1306,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_design.html b/pmd_rules_vm_design.html
index ab2aea03a7..81c5dd4cb3 100644
--- a/pmd_rules_vm_design.html
+++ b/pmd_rules_vm_design.html
@@ -1404,7 +1404,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_vm_errorprone.html b/pmd_rules_vm_errorprone.html
index 6e14981985..85efe01ff1 100644
--- a/pmd_rules_vm_errorprone.html
+++ b/pmd_rules_vm_errorprone.html
@@ -1306,7 +1306,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml.html b/pmd_rules_xml.html
index 62c669c014..2efb1012d8 100644
--- a/pmd_rules_xml.html
+++ b/pmd_rules_xml.html
@@ -1310,7 +1310,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xml_errorprone.html b/pmd_rules_xml_errorprone.html
index 7b8c925e82..a87e1d04de 100644
--- a/pmd_rules_xml_errorprone.html
+++ b/pmd_rules_xml_errorprone.html
@@ -1299,7 +1299,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl.html b/pmd_rules_xsl.html
index 2c0006becb..716e9392ff 100644
--- a/pmd_rules_xsl.html
+++ b/pmd_rules_xsl.html
@@ -1318,7 +1318,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_codestyle.html b/pmd_rules_xsl_codestyle.html
index b368e2dc64..bcd9ec32ee 100644
--- a/pmd_rules_xsl_codestyle.html
+++ b/pmd_rules_xsl_codestyle.html
@@ -1301,7 +1301,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_rules_xsl_performance.html b/pmd_rules_xsl_performance.html
index c878936bf7..50f8ed55d7 100644
--- a/pmd_rules_xsl_performance.html
+++ b/pmd_rules_xsl_performance.html
@@ -1336,7 +1336,7 @@ cutting through 100% of the document.
diff --git a/pmd_userdocs_best_practices.html b/pmd_userdocs_best_practices.html
index 4854e18d70..56369e45f4 100644
--- a/pmd_userdocs_best_practices.html
+++ b/pmd_userdocs_best_practices.html
@@ -1314,7 +1314,7 @@ and soon you’ll be fixing problems much faster.
diff --git a/pmd_userdocs_cli_reference.html b/pmd_userdocs_cli_reference.html
index ad38296958..09271fa574 100644
--- a/pmd_userdocs_cli_reference.html
+++ b/pmd_userdocs_cli_reference.html
@@ -1999,7 +1999,7 @@ which can be specified with the
-property
diff --git a/pmd_userdocs_configuring_rules.html b/pmd_userdocs_configuring_rules.html
index e65f3bba4b..58ec523e49 100644
--- a/pmd_userdocs_configuring_rules.html
+++ b/pmd_userdocs_configuring_rules.html
@@ -1338,7 +1338,7 @@ will cause the rule to be ignored.
diff --git a/pmd_userdocs_cpd.html b/pmd_userdocs_cpd.html
index 1fec8ad1f8..483d5f9668 100644
--- a/pmd_userdocs_cpd.html
+++ b/pmd_userdocs_cpd.html
@@ -2285,7 +2285,7 @@ the comment based approach will be extended to those of them that can support it
diff --git a/pmd_userdocs_extending_defining_properties.html b/pmd_userdocs_extending_defining_properties.html
index bb6e2bff82..506f45a2c9 100644
--- a/pmd_userdocs_extending_defining_properties.html
+++ b/pmd_userdocs_extending_defining_properties.html
@@ -1541,7 +1541,7 @@ There are several things to notice here:
diff --git a/pmd_userdocs_extending_metrics_howto.html b/pmd_userdocs_extending_metrics_howto.html
index cb1a552390..88b44bd6eb 100644
--- a/pmd_userdocs_extending_metrics_howto.html
+++ b/pmd_userdocs_extending_metrics_howto.html
@@ -1616,7 +1616,7 @@ classes. Here’s the default behaviour by language and type of metric:
diff --git a/pmd_userdocs_extending_rule_guidelines.html b/pmd_userdocs_extending_rule_guidelines.html
index e5230ff762..53cb10e523 100644
--- a/pmd_userdocs_extending_rule_guidelines.html
+++ b/pmd_userdocs_extending_rule_guidelines.html
@@ -1354,7 +1354,7 @@ the category and add the XML test data in the correct xml subpackage.
diff --git a/pmd_userdocs_extending_testing.html b/pmd_userdocs_extending_testing.html
index 34d44f3167..8fe14456f8 100644
--- a/pmd_userdocs_extending_testing.html
+++ b/pmd_userdocs_extending_testing.html
@@ -1574,7 +1574,7 @@ will be executed twice.
diff --git a/pmd_userdocs_extending_writing_pmd_rules.html b/pmd_userdocs_extending_writing_pmd_rules.html
index a296bec6b7..4de011ea15 100644
--- a/pmd_userdocs_extending_writing_pmd_rules.html
+++ b/pmd_userdocs_extending_writing_pmd_rules.html
@@ -1605,7 +1605,7 @@ of the component type. These can be repeated for arrays of arrays
diff --git a/pmd_userdocs_extending_writing_xpath_rules.html b/pmd_userdocs_extending_writing_xpath_rules.html
index a83633fd71..70618b6d46 100644
--- a/pmd_userdocs_extending_writing_xpath_rules.html
+++ b/pmd_userdocs_extending_writing_xpath_rules.html
@@ -1473,7 +1473,7 @@ public class ExampleCode {
diff --git a/pmd_userdocs_incremental_analysis.html b/pmd_userdocs_incremental_analysis.html
index 94e2e96f5a..3cddb19f49 100644
--- a/pmd_userdocs_incremental_analysis.html
+++ b/pmd_userdocs_incremental_analysis.html
@@ -1309,7 +1309,7 @@ few runs, you can use the
diff --git a/pmd_userdocs_making_rulesets.html b/pmd_userdocs_making_rulesets.html
index 43f4079b51..50ad54f352 100644
--- a/pmd_userdocs_making_rulesets.html
+++ b/pmd_userdocs_making_rulesets.html
@@ -1387,7 +1387,7 @@ category, then PMD would fail before starting the analysis.
diff --git a/pmd_userdocs_suppressing_warnings.html b/pmd_userdocs_suppressing_warnings.html
index f381e59f94..e210637d36 100644
--- a/pmd_userdocs_suppressing_warnings.html
+++ b/pmd_userdocs_suppressing_warnings.html
@@ -1477,7 +1477,7 @@ violations you wish to suppress. XPath queries are explained in
diff --git a/pmd_userdocs_tools.html b/pmd_userdocs_tools.html
index 4457a48a1e..5ea0c7eede 100644
--- a/pmd_userdocs_tools.html
+++ b/pmd_userdocs_tools.html
@@ -1767,7 +1767,7 @@ the (blank Command Results) document, and then confirming that, “yes, I do rea
diff --git a/pmd_userdocs_tools_ant.html b/pmd_userdocs_tools_ant.html
index 7a7be8dc47..a54f8775ba 100644
--- a/pmd_userdocs_tools_ant.html
+++ b/pmd_userdocs_tools_ant.html
@@ -1623,7 +1623,7 @@ To prevent this from happening, increase the maximum memory usable by ant using
diff --git a/pmd_userdocs_tools_ci.html b/pmd_userdocs_tools_ci.html
index afd1909f5c..cd6c14c8d8 100644
--- a/pmd_userdocs_tools_ci.html
+++ b/pmd_userdocs_tools_ci.html
@@ -1304,7 +1304,7 @@ result of the PMD maven plugin.
diff --git a/pmd_userdocs_tools_maven.html b/pmd_userdocs_tools_maven.html
index 46d115a172..cf70d17694 100644
--- a/pmd_userdocs_tools_maven.html
+++ b/pmd_userdocs_tools_maven.html
@@ -1525,7 +1525,7 @@ the previous paragraph. Add the following property to your project now:
diff --git a/search.json b/search.json
index 8cca233f67..d0c6564e30 100644
--- a/search.json
+++ b/search.json
@@ -1380,6 +1380,15 @@
}
,
+{
+"title": "UseUnderscoresInNumericLiterals (Java, Code Style)",
+"tags": "",
+"keywords": "UseUnderscoresInNumericLiterals",
+"url": "pmd_rules_java_codestyle.html#useunderscoresinnumericliterals",
+"summary": "Rules which enforce a specific coding style."
+}
+,
+
{
"title": "OnlyOneReturn (Java, Code Style)",
"tags": "",
diff --git a/tag_devdocs.html b/tag_devdocs.html
index 6a08f0e4c1..dcecc92618 100644
--- a/tag_devdocs.html
+++ b/tag_devdocs.html
@@ -1702,7 +1702,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_extending.html b/tag_extending.html
index 635888e47e..b1b746ac92 100644
--- a/tag_extending.html
+++ b/tag_extending.html
@@ -1714,7 +1714,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_getting_started.html b/tag_getting_started.html
index 4128fff32b..3990d83f5e 100644
--- a/tag_getting_started.html
+++ b/tag_getting_started.html
@@ -1666,7 +1666,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_languages.html b/tag_languages.html
index 9e42a465fb..c6a9e6e27e 100644
--- a/tag_languages.html
+++ b/tag_languages.html
@@ -1648,7 +1648,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_metrics.html b/tag_metrics.html
index 45b6c81e83..39e0bdd353 100644
--- a/tag_metrics.html
+++ b/tag_metrics.html
@@ -1672,7 +1672,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_release_notes.html b/tag_release_notes.html
index c2038fa948..993cffe973 100644
--- a/tag_release_notes.html
+++ b/tag_release_notes.html
@@ -1648,7 +1648,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_rule_references.html b/tag_rule_references.html
index 6756d2df5d..ac86afcc30 100644
--- a/tag_rule_references.html
+++ b/tag_rule_references.html
@@ -1708,7 +1708,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_tools.html b/tag_tools.html
index 3c957ebb1e..b64244bac8 100644
--- a/tag_tools.html
+++ b/tag_tools.html
@@ -1672,7 +1672,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_troubleshooting.html b/tag_troubleshooting.html
index c08cf4a441..7ffba6bf2d 100644
--- a/tag_troubleshooting.html
+++ b/tag_troubleshooting.html
@@ -1648,7 +1648,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tag_userdocs.html b/tag_userdocs.html
index 0ea1b558ad..219ef60c7f 100644
--- a/tag_userdocs.html
+++ b/tag_userdocs.html
@@ -1756,7 +1756,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/titlepage/index.html b/titlepage/index.html
index fc8f4854d8..81b38d6fe2 100644
--- a/titlepage/index.html
+++ b/titlepage/index.html
@@ -1263,7 +1263,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
- Last generated: November 09, 2018
+ Last generated: November 10, 2018
@@ -1293,7 +1293,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/tocpage/index.html b/tocpage/index.html
index 7583291da6..1ce21502a5 100644
--- a/tocpage/index.html
+++ b/tocpage/index.html
@@ -1293,7 +1293,7 @@ $('#toc').toc({ minimumHeaders: 0, listType: 'ul', showSpeed: 0, headers: 'h2,h3
diff --git a/pmd_userdocs_installation.html b/pmd_userdocs_installation.html
index 75a0c532bc..9a481091b2 100644
--- a/pmd_userdocs_installation.html
+++ b/pmd_userdocs_installation.html
@@ -1447,7 +1447,7 @@ directory or a jar or zip file containing the sources.
diff --git a/pmd_devdocs_pmdtester.html b/pmd_devdocs_pmdtester.html
index 9baea39228..40b7dd427a 100644
--- a/pmd_devdocs_pmdtester.html
+++ b/pmd_devdocs_pmdtester.html
@@ -1301,7 +1301,7 @@ Regression difference reports are commented back to the PR for the reviewer’s