check all upper bounds even if there are some error types in bounds

for cases like 'val l:List<Int> = id(newList())'
List<???> is a lower bound for id's type parameter here
This commit is contained in:
Svetlana Isakova
2013-07-25 16:37:14 +04:00
parent eb1c29b507
commit 9938c58354
@@ -64,12 +64,10 @@ public class ConstraintsUtil {
}
addToValuesIfDifferent(superTypeOfLowerBounds, values);
if (values.isEmpty()) {
Collection<JetType> upperBounds = typeConstraintsWithoutErrorTypes.getUpperBounds();
for (JetType upperBound : upperBounds) {
if (trySuggestion(upperBound, typeConstraints)) {
return Collections.singleton(upperBound);
}
Collection<JetType> upperBounds = typeConstraintsWithoutErrorTypes.getUpperBounds();
for (JetType upperBound : upperBounds) {
if (trySuggestion(upperBound, typeConstraints)) {
return Collections.singleton(upperBound);
}
}
//todo