FIR: Support type aliases to function types in resolution
This commit is contained in:
@@ -769,7 +769,9 @@ class FirRenderer(builder: StringBuilder) : FirVisitorVoid() {
|
||||
annotations.renderAnnotations()
|
||||
print("R|")
|
||||
val coneType = resolvedTypeRef.type
|
||||
print(coneType.renderFunctionType(kind, resolvedTypeRef.isExtensionFunctionType()))
|
||||
print(coneType.renderFunctionType(kind, resolvedTypeRef.annotations.any {
|
||||
it.isExtensionFunctionAnnotationCall
|
||||
}))
|
||||
print("|")
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
package org.jetbrains.kotlin.fir.types
|
||||
|
||||
import org.jetbrains.kotlin.fir.FirSession
|
||||
import org.jetbrains.kotlin.fir.expressions.FirAnnotationCall
|
||||
import org.jetbrains.kotlin.fir.expressions.FirConstKind
|
||||
import org.jetbrains.kotlin.fir.symbols.StandardClassIds
|
||||
@@ -38,12 +39,6 @@ val FirFunctionTypeRef.parametersCount: Int
|
||||
|
||||
const val EXTENSION_FUNCTION_ANNOTATION = "kotlin/ExtensionFunctionType"
|
||||
|
||||
fun FirTypeRef.isExtensionFunctionType(): Boolean {
|
||||
return annotations.any {
|
||||
it.isExtensionFunctionAnnotationCall
|
||||
}
|
||||
}
|
||||
|
||||
val FirAnnotationCall.isExtensionFunctionAnnotationCall: Boolean
|
||||
get() = (this as? FirAnnotationCall)?.let {
|
||||
(it.annotationTypeRef as? FirResolvedTypeRef)?.let {
|
||||
@@ -64,4 +59,4 @@ fun ConeClassLikeType.toConstKind(): FirConstKind<*>? = when (lookupTag.classId)
|
||||
StandardClassIds.Int -> FirConstKind.Int
|
||||
StandardClassIds.Long -> FirConstKind.Long
|
||||
else -> null
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user