@@ -112,5 +112,24 @@ void foo(Calendar c){
112112 MessageFormat .format ("{0,number,#.#}{1}" , new Object [42 ]); // Compliant - Not considered
113113 MessageFormat .format ("value=\" '{'{0}'}'{1}\" " , new Object [] {"value 1" , "value 2" });
114114 MessageFormat .format ("value=\" {0}'{'{1}'}'\" " , new Object [] {"value 1" , "value 2" });
115+
116+ java .util .logging .Logger logger ;
117+ logger .log (java .util .logging .Level .SEVERE , "{0,number,$'#',##}" , value ); // Compliant
118+ logger .log (java .util .logging .Level .SEVERE , "Result ''{0}''." , 14 ); // Compliant
119+ logger .log (java .util .logging .Level .SEVERE , "Result '{0}'" , 14 ); // Noncompliant {{String contains no format specifiers.}}
120+ logger .log (java .util .logging .Level .SEVERE , "Result ' {0}" , 14 );
121+ logger .log (java .util .logging .Level .SEVERE , "Result {{{0}}." , 14 );
122+ logger .log (java .util .logging .Level .SEVERE , "Result {0}!" , myObject .toString ()); // Noncompliant {{No need to call toString "method()" as formatting and string conversion is done by the Formatter.}}
123+ logger .log (java .util .logging .Level .SEVERE , "Result {0}!" , myObject .hashCode ()); // Compliant
124+ logger .log (java .util .logging .Level .SEVERE , "Result yeah!" , 14 ); // Noncompliant {{String contains no format specifiers.}}
125+ logger .log (java .util .logging .Level .SEVERE , "Result yeah!" , new Exception ()); // compliant, throwable parameter
126+ logger .log (java .util .logging .Level .SEVERE , "Result {1}!" , 14 );
127+ logger .log (java .util .logging .Level .SEVERE , "Result {0} and {1}!" , 14 );
128+ logger .log (java .util .logging .Level .SEVERE , "{0,number,#.#}{1}" , new Object [] {0.07 , "$" }); // Compliant
129+ logger .log (java .util .logging .Level .SEVERE , "{0,number,#.#}{1}" , new Object [] {0.07 });
130+ logger .log (java .util .logging .Level .SEVERE , "{0,number,#.#}{1}" , objs ); // Compliant - skipped as the array is not initialized in the method invocation
131+ logger .log (java .util .logging .Level .SEVERE , "{0,number,#.#}{1}" , new Object [42 ]); // Compliant - Not considered
132+ logger .log (java .util .logging .Level .SEVERE , "value=\" '{'{0}'}'{1}\" " , new Object [] {"value 1" , "value 2" });
133+ logger .log (java .util .logging .Level .SEVERE , "value=\" {0}'{'{1}'}'\" " , new Object [] {"value 1" , "value 2" });
115134 }
116135}
0 commit comments