public List<TypeLiteral<?>> getParameterTypes(Member methodOrConstructor) {
    Type[] genericParameterTypes;

    if (methodOrConstructor instanceof Method) {
      Method method = (Method) methodOrConstructor;
      checkArgument(
          method.getDeclaringClass().isAssignableFrom(rawType),
          "%s is not defined by a supertype of %s",
          method,
          type);
      genericParameterTypes = method.getGenericParameterTypes();

    } else if (methodOrConstructor instanceof Constructor) {
      Constructor<?> constructor = (Constructor<?>) methodOrConstructor;
      checkArgument(
          constructor.getDeclaringClass().isAssignableFrom(rawType),
          "%s does not construct a supertype of %s",
          constructor,
          type);
      genericParameterTypes = constructor.getGenericParameterTypes();

    } else {
      throw new IllegalArgumentException("Not a method or a constructor: " + methodOrConstructor);
    }

    return resolveAll(genericParameterTypes);
  }
public List<TypeLiteral<?>> getParameterTypes(Member methodOrConstructor) {
    Type[] genericParameterTypes;

    if (methodOrConstructor instanceof Method) {
      Method method = (Method) methodOrConstructor;
      checkArgument(
          method.getDeclaringClass().isAssignableFrom(rawType),
          "%s is not defined by a supertype of %s",
          method,
          type);
      genericParameterTypes = method.getGenericParameterTypes();

    } else if (methodOrConstructor instanceof Constructor) {
      Constructor<?> constructor = (Constructor<?>) methodOrConstructor;
      checkArgument(
          constructor.getDeclaringClass().isAssignableFrom(rawType),
          "%s does not construct a supertype of %s",
          constructor,
          type);
      genericParameterTypes = constructor.getGenericParameterTypes();

    } else {
      throw new IllegalArgumentException("Not a method or a constructor: " + methodOrConstructor);
    }

    return resolveAll(genericParameterTypes);
  }
public List < TypeLiteral < ? > > getParameterTypes ( Member methodOrConstructor ) { Type [ ] genericParameterTypes ; if ( methodOrConstructor instanceof Method ) { Method method = ( Method ) methodOrConstructor ; checkArgument ( method . getDeclaringClass ( ) . isAssignableFrom ( rawType ) , "%s is not defined by a supertype of %s" , method , type ) ; genericParameterTypes = method . getGenericParameterTypes ( ) ; } else if ( methodOrConstructor instanceof Constructor ) { Constructor < ? > constructor = ( Constructor < ? > ) methodOrConstructor ; checkArgument ( constructor . getDeclaringClass ( ) . isAssignableFrom ( rawType ) , "%s does not construct a supertype of %s" , constructor , type ) ; genericParameterTypes = constructor . getGenericParameterTypes ( ) ; } else { throw new IllegalArgumentException ( "Not a method or a constructor: " + methodOrConstructor ) ; } return resolveAll ( genericParameterTypes ) ; }
Returns the resolved generic parameter types of {@code methodOrConstructor}.

@param methodOrConstructor a method or constructor defined by this or any supertype.
@since 2.0
Returns the resolved generic parameter types of { @code methodOrConstructor } .