public class OverloadResolver<I extends ExecutableToken<?,?>>
extends java.lang.Object
Constructor and Description |
---|
OverloadResolver(java.util.Collection<? extends I> candidates) |
Modifier and Type | Method and Description |
---|---|
I |
resolve() |
I |
resolve(java.util.Collection<? extends TypeToken<?>> arguments) |
I |
resolve(java.lang.reflect.Type... arguments) |
I |
resolve(TypeToken<?>... arguments) |
static <I extends ExecutableToken<?,?>> |
resolveApplicableExecutableMembers(java.util.Set<? extends I> candidates,
java.util.Collection<? extends TypeToken<?>> parameters)
Find the set of all given overload candidates which are applicable to
invocation with the given parameters.
|
static <I extends ExecutableToken<?,?>> |
resolveMostSpecificExecutableMember(java.util.Collection<? extends I> candidates)
Find which of the given overload candidates is the most specific according to
the rules described by the Java 8 language specification.
|
static <I extends ExecutableToken<?,?>> |
resolveOverload() |
static <I extends ExecutableToken<?,?>> |
resolveOverload(java.util.Collection<? extends TypeToken<?>> arguments) |
static <I extends ExecutableToken<?,?>> |
resolveOverload(java.lang.reflect.Type... arguments) |
static <I extends ExecutableToken<?,?>> |
resolveOverload(TypeToken<?>... arguments) |
public OverloadResolver(java.util.Collection<? extends I> candidates)
public I resolve()
public I resolve(java.lang.reflect.Type... arguments)
public static <I extends ExecutableToken<?,?>> java.util.stream.Collector<I,?,I> resolveOverload()
public static <I extends ExecutableToken<?,?>> java.util.stream.Collector<I,?,I> resolveOverload(java.lang.reflect.Type... arguments)
public static <I extends ExecutableToken<?,?>> java.util.stream.Collector<I,?,I> resolveOverload(TypeToken<?>... arguments)
public static <I extends ExecutableToken<?,?>> java.util.stream.Collector<I,?,I> resolveOverload(java.util.Collection<? extends TypeToken<?>> arguments)
public static <I extends ExecutableToken<?,?>> java.util.Set<? extends I> resolveApplicableExecutableMembers(java.util.Set<? extends I> candidates, java.util.Collection<? extends TypeToken<?>> parameters)
I
- the type of invokablecandidates
- The candidates for which we wish to determine applicability.parameters
- The parameters representing the invocation for which we wish to
determine applicability.public static <I extends ExecutableToken<?,?>> I resolveMostSpecificExecutableMember(java.util.Collection<? extends I> candidates)
If no single most specific candidate can be found, the method will throw a
ReflectionException
.
I
- the type of invokablecandidates
- The candidates from which to select the most specific.