core/src/com/google/inject/TypeLiteral.java
public TypeLiteral<?> getFieldType(Field field) {
    checkArgument(
        field.getDeclaringClass().isAssignableFrom(rawType),
        "%s is not defined by a supertype of %s",
        field,
        type);
    return resolve(field.getGenericType());
  }
public TypeLiteral<?> getFieldType(Field field) {
    checkArgument(
        field.getDeclaringClass().isAssignableFrom(rawType),
        "%s is not defined by a supertype of %s",
        field,
        type);
    return resolve(field.getGenericType());
  }
Returns the resolved generic type of {@code field}.

@param field a field defined by this or any superclass.
@since 2.0