RFR [12] 8209454: [error-prone] TypeParameterUnusedInFormals in jdk.net

Chris Hegarty chris.hegarty at oracle.com
Tue Oct 2 08:11:54 UTC 2018


> On 1 Oct 2018, at 16:38, Daniel Fuchs <daniel.fuchs at oracle.com> wrote:
> 
> Hi Chris,
> 
> I believe you should get rid of the parameter U: I do not
> see it's purpose in this class. I suggest simplifying into:
> 
> <T> T checkValueType(Object value, Class<T>) { }

Good suggestion. So the full diff is:

--- a/src/jdk.net/share/classes/jdk/net/ExtendedSocketOptions.java
+++ b/src/jdk.net/share/classes/jdk/net/ExtendedSocketOptions.java
@@ -206,7 +206,7 @@
 
                 if (option == SO_FLOW_SLA) {
                     assert flowSupported;
-                    SocketFlow flow = checkValueType(value, option.type());
+                    SocketFlow flow = checkValueType(value, SocketFlow.class);
                     setFlowOption(fd, flow);
                 } else if (option == TCP_QUICKACK) {
                     setQuickAckOption(fd, (boolean) value);
@@ -254,7 +254,7 @@
     }
 
     @SuppressWarnings("unchecked")
-    private static <T> T checkValueType(Object value, Class<?> type) {
+    private static <T> T checkValueType(Object value, Class<T> type) {
         if (!type.isAssignableFrom(value.getClass())) {
             String s = "Found: " + value.getClass() + ", Expected: " + type;
             throw new IllegalArgumentException(s);


-Chris.



More information about the net-dev mailing list