Browse Source

GlobalBundleCache: Fix ClassNewInstance warning from Error Prone

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>
stable-5.4
David Pursehouse 5 years ago
parent
commit
dad9e1ff95
  1. 6
      org.eclipse.jgit/src/org/eclipse/jgit/nls/GlobalBundleCache.java
  2. 2
      tools/BUILD

6
org.eclipse.jgit/src/org/eclipse/jgit/nls/GlobalBundleCache.java

@ -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);
}
}

2
tools/BUILD

@ -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",

Loading…
Cancel
Save