diff options
Diffstat (limited to 'gnu/classpath/ServiceProviderLoadingAction.java')
-rw-r--r-- | gnu/classpath/ServiceProviderLoadingAction.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/gnu/classpath/ServiceProviderLoadingAction.java b/gnu/classpath/ServiceProviderLoadingAction.java index 78a11cd50..87e662bf0 100644 --- a/gnu/classpath/ServiceProviderLoadingAction.java +++ b/gnu/classpath/ServiceProviderLoadingAction.java @@ -1,5 +1,5 @@ /* ServiceProviderLoadingAction.java -- Action for loading plug-in services. - Copyright (C) 2004 Free Software Foundation + Copyright (C) 2004, 2013 Free Software Foundation This file is part of GNU Classpath. @@ -133,11 +133,10 @@ final class ServiceProviderLoadingAction<P> public P run() throws Exception { - Class<P> loadedClass; - P serviceProvider; - - loadedClass = (Class<P>) loader.loadClass(providerName); - serviceProvider = loadedClass.newInstance(); + // This is safe as we check the class is of the correct type + @SuppressWarnings("unchecked") + Class<P> loadedClass = (Class<P>) loader.loadClass(providerName); + P serviceProvider = loadedClass.newInstance(); // Ensure that the loaded provider is actually implementing // the service provider interface. |