core/src/com/google/inject/spi/InjectionPoint.java
public static Set<InjectionPoint> forStaticMethodsAndFields(TypeLiteral<?> type) {
    Errors errors = new Errors();

    Set<InjectionPoint> result;

    if (type.getRawType().isInterface()) {
      errors.staticInjectionOnInterface(type.getRawType());
      result = null;
    } else {
      result = getInjectionPoints(type, true, errors);
    }

    if (errors.hasErrors()) {
      throw new ConfigurationException(errors.getMessages()).withPartialValue(result);
    }
    return result;
  }
public static Set<InjectionPoint> forStaticMethodsAndFields(TypeLiteral<?> type) {
    Errors errors = new Errors();

    Set<InjectionPoint> result;

    if (type.getRawType().isInterface()) {
      errors.staticInjectionOnInterface(type.getRawType());
      result = null;
    } else {
      result = getInjectionPoints(type, true, errors);
    }

    if (errors.hasErrors()) {
      throw new ConfigurationException(errors.getMessages()).withPartialValue(result);
    }
    return result;
  }
Returns all static method and field injection points on {@code type}.

@return a possibly empty set of injection points. The set has a specified iteration order. All
fields are returned and then all methods. Within the fields, supertype fields are returned
before subtype fields. Similarly, supertype methods are returned before subtype methods.
@throws ConfigurationException if there is a malformed injection point on {@code type}, such as
a field with multiple binding annotations. The exception's {@link
ConfigurationException#getPartialValue() partial value} is a {@code Set<InjectionPoint>} of
the valid injection points.