Class OverloadMethodSet
java.lang.Object
org.benf.cfr.reader.entities.classfilehelpers.OverloadMethodSet
These are the possibilities we could be hitting when we call an overloaded method.
We must be sure that parameter casting rewrites don't move a call from using one method to
using another.
These are "vaguely" compatible - i.e. we shouldn't be comparing (int, int) with (Integer, String)
as an explicit cast could never call the wrong one.
HOWEVER - we should be comparing a vararg method, as
a,b (int int)
could be confused with
a,[]{b,c}
-
Constructor Summary
ConstructorsConstructorDescriptionOverloadMethodSet(ClassFile classFile, MethodPrototype actualPrototype, List<MethodPrototype> allPrototypes) -
Method Summary
Modifier and TypeMethodDescriptionbooleancallsCorrectEntireMethod(List<Expression> args, GenericTypeBinder gtb) booleancallsCorrectMethod(Expression newArg, int idx, GenericTypeBinder gtb) getArgType(int idx, JavaTypeInstance used) getPossibleArgTypes(int idx, JavaTypeInstance used) intsize()
-
Constructor Details
-
OverloadMethodSet
public OverloadMethodSet(ClassFile classFile, MethodPrototype actualPrototype, List<MethodPrototype> allPrototypes)
-
-
Method Details
-
specialiseTo
-
getArgType
-
getPossibleArgTypes
-
callsCorrectEntireMethod
-
size
public int size() -
callsCorrectMethod
-