core/src/com/google/inject/TypeLiteral.java
static Type getSuperclassTypeParameter(Class<?> subclass) {
    Type superclass = subclass.getGenericSuperclass();
    if (superclass instanceof Class) {
      throw new RuntimeException("Missing type parameter.");
    }
    ParameterizedType parameterized = (ParameterizedType) superclass;
    return canonicalize(parameterized.getActualTypeArguments()[0]);
  }
static Type getSuperclassTypeParameter(Class<?> subclass) {
    Type superclass = subclass.getGenericSuperclass();
    if (superclass instanceof Class) {
      throw new RuntimeException("Missing type parameter.");
    }
    ParameterizedType parameterized = (ParameterizedType) superclass;
    return canonicalize(parameterized.getActualTypeArguments()[0]);
  }
static Type getSuperclassTypeParameter ( Class < ? > subclass ) { Type superclass = subclass . getGenericSuperclass ( ) ; if ( superclass instanceof Class ) { throw new RuntimeException ( "Missing type parameter." ) ; } ParameterizedType parameterized = ( ParameterizedType ) superclass ; return canonicalize ( parameterized . getActualTypeArguments ( ) [ 0 ] ) ; }
Returns the type from super class's type parameter in {@link MoreTypes#canonicalize(Type)
canonical form}.
Returns the type from super class s type parameter in {