Error Prone reports: [ClassNewInstance] Class.newInstance() bypasses exception checking; prefer getDeclaredConstructor().newInstance() See https://errorprone.info/bugpattern/ClassNewInstance This was the only occurrence of the warning in the code base; now it's fixed, increase the severity to ERROR to prevent future occurrences. Change-Id: Ic04d1c5d2bd458bbb4bb399d6ce9d147bd48d0b1 Signed-off-by: David Pursehouse <david.pursehouse@gmail.com>tags/v5.4.1.201908211225-r
@@ -43,6 +43,7 @@ | |||
package org.eclipse.jgit.nls; | |||
import java.lang.reflect.InvocationTargetException; | |||
import java.util.HashMap; | |||
import java.util.Locale; | |||
import java.util.Map; | |||
@@ -92,12 +93,13 @@ class GlobalBundleCache { | |||
} | |||
TranslationBundle bundle = bundles.get(type); | |||
if (bundle == null) { | |||
bundle = type.newInstance(); | |||
bundle = type.getDeclaredConstructor().newInstance(); | |||
bundle.load(locale); | |||
bundles.put(type, bundle); | |||
} | |||
return (T) bundle; | |||
} catch (InstantiationException | IllegalAccessException e) { | |||
} catch (InstantiationException | IllegalAccessException | |||
| InvocationTargetException | NoSuchMethodException e) { | |||
throw new Error(e); | |||
} | |||
} |
@@ -32,7 +32,7 @@ java_package_configuration( | |||
"-Xep:BoxedPrimitiveConstructor:ERROR", | |||
"-Xep:CannotMockFinalClass:ERROR", | |||
"-Xep:ClassCanBeStatic:ERROR", | |||
"-Xep:ClassNewInstance:WARN", | |||
"-Xep:ClassNewInstance:ERROR", | |||
"-Xep:DefaultCharset:ERROR", | |||
"-Xep:DoubleCheckedLocking:ERROR", | |||
"-Xep:ElementsCountedInLoop:ERROR", |