src/share/classes/com/sun/tools/javac/comp/Infer.java

changeset 2601
8dcde670aed3
parent 2543
c6d5efccedc3
child 2702
9ca8d8713094
child 2804
bacd3cbb4e5e
equal deleted inserted replaced
2598:88ce114c6adc 2601:8dcde670aed3
782 while (boundList.nonEmpty()) { 782 while (boundList.nonEmpty()) {
783 List<Type> tmpTail = boundListTail; 783 List<Type> tmpTail = boundListTail;
784 while (tmpTail.nonEmpty()) { 784 while (tmpTail.nonEmpty()) {
785 Type b1 = boundList.head; 785 Type b1 = boundList.head;
786 Type b2 = tmpTail.head; 786 Type b2 = tmpTail.head;
787 if (b1 != b2) { 787 /* This wildcard check is temporary workaround. This code may need to be
788 * revisited once spec bug JDK-7034922 is fixed.
789 */
790 if (b1 != b2 && !b1.hasTag(WILDCARD) && !b2.hasTag(WILDCARD)) {
788 Pair<Type, Type> commonSupers = infer.getParameterizedSupers(b1, b2); 791 Pair<Type, Type> commonSupers = infer.getParameterizedSupers(b1, b2);
789 if (commonSupers != null) { 792 if (commonSupers != null) {
790 List<Type> allParamsSuperBound1 = commonSupers.fst.allparams(); 793 List<Type> allParamsSuperBound1 = commonSupers.fst.allparams();
791 List<Type> allParamsSuperBound2 = commonSupers.snd.allparams(); 794 List<Type> allParamsSuperBound2 = commonSupers.snd.allparams();
792 while (allParamsSuperBound1.nonEmpty() && allParamsSuperBound2.nonEmpty()) { 795 while (allParamsSuperBound1.nonEmpty() && allParamsSuperBound2.nonEmpty()) {

mercurial