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