Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8182558

impossible cast in spi/db/TypeInfo.java

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Won't Fix
    • Icon: P4 P4
    • tbd
    • None
    • xml
    • None

      My colleagues Marsela Sulku and Maria Sam are working on detecting errors with new errorprone checks and have found one impossible cast in openjdk:

      Method jaxws/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/db/TypeInfo.java#getItemType contains
              if (type instanceof Class && ((Class)type).isArray() && !byte[].class.equals(type)) {
                  Type componentType = ((Class)type).getComponentType();
                  Type genericComponentType = null;
                  if (genericType!= null && genericType instanceof GenericArrayType) {
                      GenericArrayType arrayType = (GenericArrayType) type;
                      genericComponentType = arrayType.getGenericComponentType();
                      componentType = arrayType.getGenericComponentType();
                  }

      The cast to (GenericArrayType) cannot succeed because type is already a Class. (Probably this code has never worked or been tested)

      It's very likely that this is a typo for:

      --- a/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/db/TypeInfo.java
      +++ b/src/java.xml.ws/share/classes/com/sun/xml/internal/ws/spi/db/TypeInfo.java
      @@ -177,7 +177,7 @@
                   Type componentType = ((Class)type).getComponentType();
                   Type genericComponentType = null;
                   if (genericType!= null && genericType instanceof GenericArrayType) {
      - GenericArrayType arrayType = (GenericArrayType) type;
      + GenericArrayType arrayType = (GenericArrayType) genericType;
                       genericComponentType = arrayType.getGenericComponentType();
                       componentType = arrayType.getGenericComponentType();
                   }

            zli Zheng Jun Li (Inactive)
            martin Martin Buchholz
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: