Class GenericTypeBinder
java.lang.Object
org.benf.cfr.reader.bytecode.analysis.types.GenericTypeBinder
FIXME - this class has multiple ways of implementing the same thing - definitely feels redundant!
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateGenericTypeBinder(Map<String, JavaTypeInstance> nameToBoundType) -
Method Summary
Modifier and TypeMethodDescription(package private) static GenericTypeBinderbind(List<FormalTypeParameter> methodFormalTypeParameters, ClassSignature classSignature, List<JavaTypeInstance> args, JavaGenericRefTypeInstance boundInstance, List<JavaTypeInstance> boundArgs) static GenericTypeBinderstatic GenericTypeBindercreate(List<FormalTypeParameter>... ftps) createAssignmentRhsBindings(GenericTypeBinder rhsBinder) static GenericTypeBinderprivate static voiddoBind(Map<String, JavaTypeInstance> boundNames, JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) static GenericTypeBinderextractBaseBindings(JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) static GenericTypeBinderextractBindings(JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) (package private) JavaTypeInstancegetBindingFor(FormalTypeParameter formalTypeParameter) getBindingFor(JavaTypeInstance maybeUnbound) private static booleanisBetterBinding(JavaTypeInstance isBetter, JavaTypeInstance than) mergeWith(GenericTypeBinder other, boolean mergeToCommonClass) voidvoidsuggestBindingFor(String name, JavaTypeInstance binding) void
-
Field Details
-
nameToBoundType
-
-
Constructor Details
-
GenericTypeBinder
-
-
Method Details
-
createEmpty
-
create
-
bind
static GenericTypeBinder bind(List<FormalTypeParameter> methodFormalTypeParameters, ClassSignature classSignature, List<JavaTypeInstance> args, JavaGenericRefTypeInstance boundInstance, List<JavaTypeInstance> boundArgs) -
buildIdentityBindings
-
extractBaseBindings
public static GenericTypeBinder extractBaseBindings(JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) -
extractBindings
public static GenericTypeBinder extractBindings(JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) -
doBind
private static void doBind(Map<String, JavaTypeInstance> boundNames, JavaGenericBaseInstance unbound, JavaTypeInstance maybeBound) -
removeBinding
-
getBindingFor
-
getBindingFor
-
isBetterBinding
-
suggestOnlyNullBinding
-
suggestBindingFor
-
mergeWith
-
createAssignmentRhsBindings
-