diff --git a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java index e3b468dc903..23266871a5a 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java +++ b/core/descriptors/src/org/jetbrains/kotlin/builtins/KotlinBuiltIns.java @@ -275,6 +275,8 @@ public abstract class KotlinBuiltIns { public final FqNameUnsafe _enum = fqNameUnsafe("Enum"); + public final FqNameUnsafe functionSupertype = fqNameUnsafe("Function"); + public final FqName throwable = fqName("Throwable"); @@ -1094,6 +1096,10 @@ public abstract class KotlinBuiltIns { return false; } + public static boolean isNotNullOrNullableFunctionSupertype(@NotNull KotlinType type) { + return isConstructedFromGivenClass(type, FQ_NAMES.functionSupertype); + } + public static FqName getPrimitiveFqName(@NotNull PrimitiveType primitiveType) { return BUILT_INS_PACKAGE_FQ_NAME.child(primitiveType.getTypeName()); }