Exemple #1
0
 /**
  * Returns the type from super class's type parameter in {@link MoreTypes#canonicalize(Type)
  * canonical form}.
  */
 static Type getSuperclassTypeParameter(Class<?> subclass) {
   Type superclass = subclass.getGenericSuperclass();
   if (superclass instanceof Class) {
     throw new RuntimeException("Missing type parameter.");
   }
   ParameterizedType parameterized = (ParameterizedType) superclass;
   return MoreTypes.canonicalize(parameterized.getActualTypeArguments()[0]);
 }
Exemple #2
0
 /** Unsafe. Constructs a type literal manually. */
 @SuppressWarnings("unchecked")
 TypeLiteral(Type type) {
   this.type = MoreTypes.canonicalize(type);
   this.rawType = (Class<? super T>) MoreTypes.getRawType(this.type);
   this.hashCode = this.type.hashCode();
 }