public final Invokable<T, T> constructor(Constructor<?> constructor) {
    checkArgument(
        constructor.getDeclaringClass() == getRawType(),
        "%s not declared by %s",
        constructor,
        getRawType());
    return new Invokable.ConstructorInvokable<T>(constructor) {
      @Override
      Type getGenericReturnType() {
        return getCovariantTypeResolver().resolveType(super.getGenericReturnType());
      }

      @Override
      Type[] getGenericParameterTypes() {
        return getInvariantTypeResolver().resolveTypesInPlace(super.getGenericParameterTypes());
      }

      @Override
      Type[] getGenericExceptionTypes() {
        return getCovariantTypeResolver().resolveTypesInPlace(super.getGenericExceptionTypes());
      }

      @Override
      public TypeToken<T> getOwnerType() {
        return TypeToken.this;
      }

      @Override
      public String toString() {
        return getOwnerType() + "(" + Joiner.on(", ").join(getGenericParameterTypes()) + ")";
      }
    };
  }
public final Invokable<T, T> constructor(Constructor<?> constructor) {
    checkArgument(
        constructor.getDeclaringClass() == getRawType(),
        "%s not declared by %s",
        constructor,
        getRawType());
    return new Invokable.ConstructorInvokable<T>(constructor) {
      @Override
      Type getGenericReturnType() {
        return getCovariantTypeResolver().resolveType(super.getGenericReturnType());
      }

      @Override
      Type[] getGenericParameterTypes() {
        return getInvariantTypeResolver().resolveTypesInPlace(super.getGenericParameterTypes());
      }

      @Override
      Type[] getGenericExceptionTypes() {
        return getCovariantTypeResolver().resolveTypesInPlace(super.getGenericExceptionTypes());
      }

      @Override
      public TypeToken<T> getOwnerType() {
        return TypeToken.this;
      }

      @Override
      public String toString() {
        return getOwnerType() + "(" + Joiner.on(", ").join(getGenericParameterTypes()) + ")";
      }
    };
  }
public final Invokable < T , T > constructor ( Constructor < ? > constructor ) { checkArgument ( constructor . getDeclaringClass ( ) == getRawType ( ) , "%s not declared by %s" , constructor , getRawType ( ) ) ; return new Invokable . ConstructorInvokable < T > ( constructor ) { @ Override Type getGenericReturnType ( ) { return getCovariantTypeResolver ( ) . resolveType ( super . getGenericReturnType ( ) ) ; } @ Override Type [ ] getGenericParameterTypes ( ) { return getInvariantTypeResolver ( ) . resolveTypesInPlace ( super . getGenericParameterTypes ( ) ) ; } @ Override Type [ ] getGenericExceptionTypes ( ) { return getCovariantTypeResolver ( ) . resolveTypesInPlace ( super . getGenericExceptionTypes ( ) ) ; } @ Override public TypeToken < T > getOwnerType ( ) { return TypeToken . this ; } @ Override public String toString ( ) { return getOwnerType ( ) + "(" + Joiner . on ( ", " ) . join ( getGenericParameterTypes ( ) ) + ")" ; } } ; }
Returns the {@link Invokable} for {@code constructor}, which must be a member of {@code T}.

@since 14.0
Returns the { @link Invokable } for { @code constructor } which must be a member of { @code T } .