Details
-
Sub-task
-
Status: Closed
-
Major
-
Resolution: Fixed
-
None
-
None
-
None
Description
example:
class B<T extends Interface1 & Interface2> {
T foo(){}
}
resulting signature for class head: <T::LInterface1;:LInterface2;>Ljava/lang/Object;
resulting signature for method: ()LInterface1;
"left most bound" is used for all usages of T in B!
needed checks: ensure Interface1 != Interface2