equal
deleted
inserted
replaced
2361 */ |
2361 */ |
2362 boolean interfaceParameterIsIntersectionOrUnionType() { |
2362 boolean interfaceParameterIsIntersectionOrUnionType() { |
2363 List<Type> tl = tree.getDescriptorType(types).getParameterTypes(); |
2363 List<Type> tl = tree.getDescriptorType(types).getParameterTypes(); |
2364 for (; tl.nonEmpty(); tl = tl.tail) { |
2364 for (; tl.nonEmpty(); tl = tl.tail) { |
2365 Type pt = tl.head; |
2365 Type pt = tl.head; |
2366 switch (pt.getKind()) { |
2366 return isIntersectionOrUnionType(pt); |
2367 case INTERSECTION: |
2367 } |
2368 case UNION: |
2368 return false; |
2369 return true; |
2369 } |
2370 case TYPEVAR: |
2370 |
2371 TypeVar tv = (TypeVar) pt; |
2371 boolean isIntersectionOrUnionType(Type t) { |
2372 if (tv.bound.getKind() == TypeKind.INTERSECTION) { |
2372 switch (t.getKind()) { |
2373 return true; |
2373 case INTERSECTION: |
2374 } |
2374 case UNION: |
2375 } |
2375 return true; |
|
2376 case TYPEVAR: |
|
2377 TypeVar tv = (TypeVar) t; |
|
2378 return isIntersectionOrUnionType(tv.bound); |
2376 } |
2379 } |
2377 return false; |
2380 return false; |
2378 } |
2381 } |
2379 |
2382 |
2380 /** |
2383 /** |