equal
deleted
inserted
replaced
864 while (boundList.nonEmpty()) { |
864 while (boundList.nonEmpty()) { |
865 List<Type> tmpTail = boundListTail; |
865 List<Type> tmpTail = boundListTail; |
866 while (tmpTail.nonEmpty()) { |
866 while (tmpTail.nonEmpty()) { |
867 Type b1 = boundList.head; |
867 Type b1 = boundList.head; |
868 Type b2 = tmpTail.head; |
868 Type b2 = tmpTail.head; |
869 if (b1 != b2) { |
869 /* This wildcard check is temporary workaround. This code may need to be |
|
870 * revisited once spec bug JDK-7034922 is fixed. |
|
871 */ |
|
872 if (b1 != b2 && !b1.hasTag(WILDCARD) && !b2.hasTag(WILDCARD)) { |
870 for (Pair<Type, Type> commonSupers : infer.getParameterizedSupers(b1, b2)) { |
873 for (Pair<Type, Type> commonSupers : infer.getParameterizedSupers(b1, b2)) { |
871 List<Type> allParamsSuperBound1 = commonSupers.fst.allparams(); |
874 List<Type> allParamsSuperBound1 = commonSupers.fst.allparams(); |
872 List<Type> allParamsSuperBound2 = commonSupers.snd.allparams(); |
875 List<Type> allParamsSuperBound2 = commonSupers.snd.allparams(); |
873 while (allParamsSuperBound1.nonEmpty() && allParamsSuperBound2.nonEmpty()) { |
876 while (allParamsSuperBound1.nonEmpty() && allParamsSuperBound2.nonEmpty()) { |
874 //traverse the list of all params comparing them |
877 //traverse the list of all params comparing them |