Package com.strobel.assembler.metadata
Class MethodBinder
java.lang.Object
com.strobel.assembler.metadata.MethodBinder
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static final class
static class
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
private static int
findMostSpecific
(List<ParameterDefinition> p1, int[] varArgOrder1, TypeReference varArgArrayType1, List<ParameterDefinition> p2, int[] varArgOrder2, TypeReference varArgArrayType2, List<TypeReference> types, Object[] args, boolean allowAutoBoxing) private static int
findMostSpecificMethod
(MethodReference m1, int[] varArgOrder1, TypeReference varArgArrayType1, MethodReference m2, int[] varArgOrder2, TypeReference varArgArrayType2, List<TypeReference> types, Object[] args) private static int
findMostSpecificType
(TypeReference c1, TypeReference c2, TypeReference t, boolean allowAutoBoxing) private static int
static MethodBinder.BindResult
selectMethod
(List<? extends MethodReference> matches, List<TypeReference> types)
-
Constructor Details
-
MethodBinder
public MethodBinder()
-
-
Method Details
-
selectMethod
public static MethodBinder.BindResult selectMethod(List<? extends MethodReference> matches, List<TypeReference> types) -
findMostSpecificMethod
private static int findMostSpecificMethod(MethodReference m1, int[] varArgOrder1, TypeReference varArgArrayType1, MethodReference m2, int[] varArgOrder2, TypeReference varArgArrayType2, List<TypeReference> types, Object[] args) -
findMostSpecific
private static int findMostSpecific(List<ParameterDefinition> p1, int[] varArgOrder1, TypeReference varArgArrayType1, List<ParameterDefinition> p2, int[] varArgOrder2, TypeReference varArgArrayType2, List<TypeReference> types, Object[] args, boolean allowAutoBoxing) -
findMostSpecificType
private static int findMostSpecificType(TypeReference c1, TypeReference c2, TypeReference t, boolean allowAutoBoxing) -
compareMethodSignatureAndName
-
getHierarchyDepth
-