MCPcopy
hub / github.com/google/guava / constructor

Method constructor

guava/src/com/google/common/reflect/TypeToken.java:637–669  ·  view source on GitHub ↗

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

(Constructor<?> constructor)

Source from the content-addressed store, hash-verified

635 * @since 14.0
636 */
637 public final Invokable<T, T> constructor(Constructor<?> constructor) {
638 checkArgument(
639 constructor.getDeclaringClass() == getRawType(),
640 "%s not declared by %s",
641 constructor,
642 getRawType());
643 return new Invokable.ConstructorInvokable<T>(constructor) {
644 @Override
645 Type getGenericReturnType() {
646 return getCovariantTypeResolver().resolveType(super.getGenericReturnType());
647 }
648
649 @Override
650 Type[] getGenericParameterTypes() {
651 return getInvariantTypeResolver().resolveTypesInPlace(super.getGenericParameterTypes());
652 }
653
654 @Override
655 Type[] getGenericExceptionTypes() {
656 return getCovariantTypeResolver().resolveTypesInPlace(super.getGenericExceptionTypes());
657 }
658
659 @Override
660 public TypeToken<T> getOwnerType() {
661 return TypeToken.this;
662 }
663
664 @Override
665 public String toString() {
666 return getOwnerType() + "(" + Joiner.on(", ").join(getGenericParameterTypes()) + ")";
667 }
668 };
669 }
670
671 /**
672 * The set of interfaces and classes that {@code T} is or is a subtype of. {@link Object} is not

Callers

nothing calls this directly

Calls 3

getRawTypeMethod · 0.95
checkArgumentMethod · 0.45
getDeclaringClassMethod · 0.45

Tested by

no test coverage detected