* http://errorprone.info/bugpattern/IntLongMath
* http://errorprone.info/bugpattern/FloatCast
* http://errorprone.info/bugpattern/ClassNewInstance
* http://errorprone.info/bugpattern/ConstructorInvokesOverridable
* http://errorprone.info/bugpattern/ThreeLetterTimeZoneID
* http://errorprone.info/bugpattern/UnsafeFinalization
and handle their impacts
Change-Id: I87d7cd5f4fe3f5b810acaab421ac9e5da8fb9c0b
Signed-off-by: Michael Vorburger <vorburger@redhat.com>
this.stage = DEFAULT_STAGE;
}
- protected Iterable<? extends Module> createModules(List<Class<? extends Module>> moduleClasses) {
+ private static Iterable<? extends Module> createModules(List<Class<? extends Module>> moduleClasses) {
return moduleClasses.stream().map(klass -> {
try {
- return klass.newInstance();
- } catch (InstantiationException | IllegalAccessException e) {
+ return klass.getConstructor().newInstance();
+ } catch (ReflectiveOperationException | IllegalArgumentException | SecurityException e) {
throw new IllegalArgumentException("newInstance() failed: " + klass.getName(), e);
}
}).collect(Collectors.toList());