equal
deleted
inserted
replaced
871 */ |
871 */ |
872 CROSS_UPPER_UPPER() { |
872 CROSS_UPPER_UPPER() { |
873 @Override |
873 @Override |
874 public void apply(UndetVar uv, InferenceContext inferenceContext, Warner warn) { |
874 public void apply(UndetVar uv, InferenceContext inferenceContext, Warner warn) { |
875 Infer infer = inferenceContext.infer(); |
875 Infer infer = inferenceContext.infer(); |
876 List<Type> boundList = uv.getBounds(InferenceBound.UPPER); |
876 List<Type> boundList = uv.getBounds(InferenceBound.UPPER).stream() |
|
877 .collect(infer.types.closureCollector(true, infer.types::isSameType)); |
877 List<Type> boundListTail = boundList.tail; |
878 List<Type> boundListTail = boundList.tail; |
878 while (boundList.nonEmpty()) { |
879 while (boundList.nonEmpty()) { |
879 List<Type> tmpTail = boundListTail; |
880 List<Type> tmpTail = boundListTail; |
880 while (tmpTail.nonEmpty()) { |
881 while (tmpTail.nonEmpty()) { |
881 Type b1 = boundList.head; |
882 Type b1 = boundList.head; |