1394 return containedBy(s, t); |
1394 return containedBy(s, t); |
1395 else { |
1395 else { |
1396 // debugContainsType(t, s); |
1396 // debugContainsType(t, s); |
1397 return isSameWildcard(t, s) |
1397 return isSameWildcard(t, s) |
1398 || isCaptureOf(s, t) |
1398 || isCaptureOf(s, t) |
1399 || ((t.isExtendsBound() || isSubtypeNoCapture(wildLowerBound(t), wildLowerBound(s))) && |
1399 || ((t.isExtendsBound() || isSubtypeNoCapture(wildLowerBound(t), cvarLowerBound(wildLowerBound(s)))) && |
1400 // TODO: JDK-8039214, cvarUpperBound call here is incorrect |
1400 // TODO: JDK-8039214, cvarUpperBound call here is incorrect |
1401 (t.isSuperBound() || isSubtypeNoCapture(cvarUpperBound(wildUpperBound(s)), wildUpperBound(t)))); |
1401 (t.isSuperBound() || isSubtypeNoCapture(cvarUpperBound(wildUpperBound(s)), wildUpperBound(t)))); |
1402 } |
1402 } |
1403 } |
1403 } |
1404 |
1404 |