Different cases:
- Post(subType) -> Subscribe(superType)
- Post(getSuperType()) -> Subscribe(subType) {where getSuperType() returns superType, but the concrete implementation returned is subType}
In the first case, we need to ensure both Post and Subscribe connection works.
In the second case, if a superType is posted, then we need to showUsages of all the subTypes involved in the Subscribe, because any of those methods can be called based on the runtime value. Since we can't guess the runtime value, this is what we can do. We just need to show all the possibilities.
Different cases:
In the first case, we need to ensure both Post and Subscribe connection works.
In the second case, if a superType is posted, then we need to showUsages of all the subTypes involved in the Subscribe, because any of those methods can be called based on the runtime value. Since we can't guess the runtime value, this is what we can do. We just need to show all the possibilities.