FIR: make KFunctionX derived from KFunction
This commit is contained in:
@@ -48,6 +48,7 @@ object StandardClassIds {
|
||||
val KMutableProperty1 = "KMutableProperty1".reflectId()
|
||||
val KProperty2 = "KProperty2".reflectId()
|
||||
val KMutableProperty2 = "KMutableProperty2".reflectId()
|
||||
val KFunction = "KFunction".reflectId()
|
||||
|
||||
val Comparable = "Comparable".baseId()
|
||||
val Number = "Number".baseId()
|
||||
|
||||
+12
-4
@@ -227,20 +227,28 @@ class FirBuiltinSymbolProvider(val session: FirSession, val kotlinScopeProvider:
|
||||
}
|
||||
|
||||
superTypeRefs += when (kind) {
|
||||
FunctionClassDescriptor.Kind.Function ->
|
||||
FunctionClassDescriptor.Kind.Function -> listOf(
|
||||
buildResolvedTypeRef {
|
||||
type = ConeClassLikeLookupTagImpl(StandardClassIds.Function)
|
||||
.constructClassType(arrayOf(typeArguments.last().type), isNullable = false)
|
||||
}
|
||||
)
|
||||
|
||||
FunctionClassDescriptor.Kind.SuspendFunction ->
|
||||
FunctionClassDescriptor.Kind.SuspendFunction -> listOf(
|
||||
session.builtinTypes.anyType
|
||||
)
|
||||
|
||||
FunctionClassDescriptor.Kind.KFunction ->
|
||||
FunctionClassDescriptor.Kind.KFunction -> listOf(
|
||||
buildResolvedTypeRef {
|
||||
type = ConeClassLikeLookupTagImpl(StandardClassIds.KFunction)
|
||||
.constructClassType(arrayOf(typeArguments.last().type), isNullable = false)
|
||||
},
|
||||
createSuperType(FunctionClassDescriptor.Kind.Function)
|
||||
)
|
||||
|
||||
FunctionClassDescriptor.Kind.KSuspendFunction ->
|
||||
FunctionClassDescriptor.Kind.KSuspendFunction -> listOf(
|
||||
createSuperType(FunctionClassDescriptor.Kind.SuspendFunction)
|
||||
)
|
||||
}
|
||||
addDeclaration(
|
||||
buildSimpleFunction {
|
||||
|
||||
Reference in New Issue
Block a user