@CalledMethods annotations currently bucket overloaded methods. So, for example, if we had this class:
class OverloadingExample {
void a();
void a(Object foo);
}
then these two sequences of method calls would result in an object with the same type (@CalledMethods({"a"})):
OverloadingExample o1 = new OverloadingExample().a();
OverloadingExample o2 = new OverloadingExample().a(null);
We haven't seen an instance where this distinction is important yet, but it is a limitation of the current type system.
@CalledMethodsannotations currently bucket overloaded methods. So, for example, if we had this class:then these two sequences of method calls would result in an object with the same type (
@CalledMethods({"a"})):We haven't seen an instance where this distinction is important yet, but it is a limitation of the current type system.