313 * parameterizations of the same generic class or interface. |
313 * parameterizations of the same generic class or interface. |
314 */ |
314 */ |
315 for (Type aLowerBound : from.getBounds(InferenceBound.LOWER)) { |
315 for (Type aLowerBound : from.getBounds(InferenceBound.LOWER)) { |
316 for (Type anotherLowerBound : from.getBounds(InferenceBound.LOWER)) { |
316 for (Type anotherLowerBound : from.getBounds(InferenceBound.LOWER)) { |
317 if (aLowerBound != anotherLowerBound && |
317 if (aLowerBound != anotherLowerBound && |
318 commonSuperWithDiffParameterization(aLowerBound, anotherLowerBound)) { |
318 !inferenceContext.free(aLowerBound) && |
319 /* self comment check if any lower bound may be and undetVar, |
319 !inferenceContext.free(anotherLowerBound) && |
320 * in that case the result of this call may be a false positive. |
320 commonSuperWithDiffParameterization(aLowerBound, anotherLowerBound)) { |
321 * Should this be restricted to non free types? |
|
322 */ |
|
323 return generateReferenceToTargetConstraint(tree, from, to, |
321 return generateReferenceToTargetConstraint(tree, from, to, |
324 resultInfo, inferenceContext); |
322 resultInfo, inferenceContext); |
325 } |
323 } |
326 } |
324 } |
327 } |
325 } |