JDK 8 code review request for JDK-8014357 Minor refactorings to sun.reflect.generics.reflectiveObjects.*

Joe Darcy joe.darcy at oracle.com
Fri May 10 17:40:25 UTC 2013


Hello,

Please review this small refactoring of types in 
sun.reflect.generics.reflectiveObjects.* to use methods in 
java.util.Objects and the new method in JDK 8 Types.getTypeName.

Webrev at

     http://cr.openjdk.java.net/~darcy/8014357.0/

patch below.

Thanks,

-Joe

diff -r c26e0d29249a 
src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java
--- 
a/src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java 
Fri May 10 09:06:21 2013 -0700
+++ 
b/src/share/classes/sun/reflect/generics/reflectiveObjects/GenericArrayTypeImpl.java 
Fri May 10 10:37:42 2013 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights 
reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -27,7 +27,7 @@

  import java.lang.reflect.GenericArrayType;
  import java.lang.reflect.Type;
-
+import java.util.Objects;

  /**
   * Implementation of GenericArrayType interface for core reflection.
@@ -81,18 +81,13 @@
          if (o instanceof GenericArrayType) {
              GenericArrayType that = (GenericArrayType) o;

-            Type thatComponentType = that.getGenericComponentType();
-            return genericComponentType == null ?
-                thatComponentType == null :
-                genericComponentType.equals(thatComponentType);
+            return Objects.equals(genericComponentType, 
that.getGenericComponentType());
          } else
              return false;
      }

      @Override
      public int hashCode() {
-        return (genericComponentType == null) ?
-            0:
-            genericComponentType.hashCode();
+        return Objects.hashCode(genericComponentType);
      }
  }
diff -r c26e0d29249a 
src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java
--- 
a/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java 
Fri May 10 09:06:21 2013 -0700
+++ 
b/src/share/classes/sun/reflect/generics/reflectiveObjects/ParameterizedTypeImpl.java 
Fri May 10 10:37:42 2013 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights 
reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -33,7 +33,7 @@
  import java.lang.reflect.Type;
  import java.lang.reflect.TypeVariable;
  import java.util.Arrays;
-
+import java.util.Objects;

  /** Implementing class for ParameterizedType interface. */

@@ -47,9 +47,7 @@
                                    Type ownerType) {
          this.actualTypeArguments = actualTypeArguments;
          this.rawType             = rawType;
-        if (ownerType != null) {
-            this.ownerType = ownerType;
-        } else { this.ownerType = rawType.getDeclaringClass();}
+        this.ownerType = (ownerType != null) ? ownerType : 
rawType.getDeclaringClass();
          validateConstructorArguments();
      }

@@ -62,7 +60,6 @@
          for (int i = 0; i < actualTypeArguments.length; i++) {
              // check actuals against formals' bounds
          }
-
      }

      /**
@@ -189,14 +186,9 @@
                  return ownerEquality && rawEquality && typeArgEquality;
              }

-
              return
-                (ownerType == null ?
-                 thatOwner == null :
-                 ownerType.equals(thatOwner)) &&
-                (rawType == null ?
-                 thatRawType == null :
-                 rawType.equals(thatRawType)) &&
+                Objects.equals(ownerType, thatOwner) &&
+                Objects.equals(rawType, thatRawType) &&
                  Arrays.equals(actualTypeArguments, // avoid clone
                                that.getActualTypeArguments());
          } else
@@ -207,8 +199,8 @@
      public int hashCode() {
          return
              Arrays.hashCode(actualTypeArguments) ^
-            (ownerType == null ? 0 : ownerType.hashCode() ) ^
-            (rawType == null   ? 0 : rawType.hashCode() );
+            Objects.hashCode(ownerType) ^
+            Objects.hashCode(rawType);
      }

      public String toString() {
@@ -239,10 +231,7 @@
              for(Type t: actualTypeArguments) {
                  if (!first)
                      sb.append(", ");
-                if (t instanceof Class)
-                    sb.append(((Class)t).getName());
-                else
-                    sb.append(t.toString());
+                sb.append(t.getTypeName());
                  first = false;
              }
              sb.append(">");
diff -r c26e0d29249a 
src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java
--- 
a/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java 
Fri May 10 09:06:21 2013 -0700
+++ 
b/src/share/classes/sun/reflect/generics/reflectiveObjects/TypeVariableImpl.java 
Fri May 10 10:37:42 2013 -0700
@@ -170,13 +170,8 @@
              GenericDeclaration thatDecl = that.getGenericDeclaration();
              String thatName = that.getName();

-            return
-                (genericDeclaration == null ?
-                 thatDecl == null :
-                 genericDeclaration.equals(thatDecl)) &&
-                (name == null ?
-                 thatName == null :
-                 name.equals(thatName));
+            return Objects.equals(genericDeclaration, thatDecl) &&
+                Objects.equals(name, thatName);

          } else
              return false;
diff -r c26e0d29249a 
src/share/classes/sun/reflect/generics/reflectiveObjects/WildcardTypeImpl.java
--- 
a/src/share/classes/sun/reflect/generics/reflectiveObjects/WildcardTypeImpl.java 
Fri May 10 09:06:21 2013 -0700
+++ 
b/src/share/classes/sun/reflect/generics/reflectiveObjects/WildcardTypeImpl.java 
Fri May 10 10:37:42 2013 -0700
@@ -1,5 +1,5 @@
  /*
- * Copyright (c) 2003, 2004, Oracle and/or its affiliates. All rights 
reserved.
+ * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights 
reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
@@ -203,10 +203,7 @@
                  sb.append(" & ");

              first = false;
-            if (bound instanceof Class)
-                sb.append(((Class)bound).getName() );
-            else
-                sb.append(bound.toString());
+            sb.append(bound.getTypeName());
          }
          return sb.toString();
      }




More information about the core-libs-dev mailing list