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