Minor. Change predicate type from KotlinType to UnwrappedType.

This commit is contained in:
Stanislav Erokhin
2016-08-16 15:56:06 +03:00
parent ca6c6ae0f3
commit ea2d95fa79
3 changed files with 8 additions and 7 deletions
@@ -566,9 +566,9 @@ public class ErrorUtils {
}
public static boolean containsUninferredParameter(@Nullable KotlinType type) {
return TypeUtils.contains(type, new Function1<KotlinType, Boolean>() {
return TypeUtils.contains(type, new Function1<UnwrappedType, Boolean>() {
@Override
public Boolean invoke(KotlinType argumentType) {
public Boolean invoke(UnwrappedType argumentType) {
return isUninferredParameter(argumentType);
}
});
@@ -377,9 +377,9 @@ public class TypeUtils {
}
public static boolean contains(@Nullable KotlinType type, @NotNull final KotlinType specialType) {
return contains(type, new Function1<KotlinType, Boolean>() {
return contains(type, new Function1<UnwrappedType, Boolean>() {
@Override
public Boolean invoke(KotlinType type) {
public Boolean invoke(UnwrappedType type) {
return specialType.equals(type);
}
});
@@ -387,12 +387,13 @@ public class TypeUtils {
public static boolean contains(
@Nullable KotlinType type,
@NotNull Function1<KotlinType, Boolean> isSpecialType
@NotNull Function1<UnwrappedType, Boolean> isSpecialType
) {
if (type == null) return false;
if (isSpecialType.invoke(type)) return true;
UnwrappedType unwrappedType = type.unwrap();
if (isSpecialType.invoke(unwrappedType)) return true;
FlexibleType flexibleType = unwrappedType instanceof FlexibleType ? (FlexibleType) unwrappedType : null;
if (flexibleType != null
&& (contains(flexibleType.getLowerBound(), isSpecialType) || contains(flexibleType.getUpperBound(), isSpecialType))) {
@@ -161,7 +161,7 @@ fun KotlinType.getImmediateSuperclassNotAny(): KotlinType? {
}
fun KotlinType.asTypeProjection(): TypeProjection = TypeProjectionImpl(this)
fun KotlinType.contains(predicate: (KotlinType) -> Boolean) = TypeUtils.contains(this, predicate)
fun KotlinType.contains(predicate: (UnwrappedType) -> Boolean) = TypeUtils.contains(this, predicate)
fun KotlinType.replaceArgumentsWithStarProjections(): KotlinType {
val unwrapped = unwrap()