[FIR] do not use FirValueParameter for function type parameter
As it is a different abstraction, introduced FirFunctionTypeParameter instead Also, fix syntax checkers for function type parameter ^KT-55035 fixed
This commit is contained in:
+2
@@ -45,6 +45,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val field by element(Declaration, variable, controlFlowGraphOwner)
|
||||
val enumEntry by element(Declaration, variable)
|
||||
|
||||
val functionTypeParameter by element(Other, baseFirElement)
|
||||
|
||||
val classLikeDeclaration by sealedElement(Declaration, memberDeclaration, statement)
|
||||
val klass by sealedElement("Class", Declaration, classLikeDeclaration, statement, typeParameterRefsOwner)
|
||||
val regularClass by element(Declaration, klass, controlFlowGraphOwner)
|
||||
|
||||
+7
-1
@@ -411,6 +411,12 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
needTransformOtherChildren()
|
||||
}
|
||||
|
||||
|
||||
functionTypeParameter.configure {
|
||||
+field("name", nameType, nullable = true)
|
||||
+field("returnTypeRef", typeRef)
|
||||
}
|
||||
|
||||
errorProperty.configure {
|
||||
+symbol("FirErrorPropertySymbol")
|
||||
}
|
||||
@@ -640,7 +646,7 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
functionTypeRef.configure {
|
||||
+field("receiverTypeRef", typeRef, nullable = true)
|
||||
+valueParameters
|
||||
+fieldList("parameters", functionTypeParameter)
|
||||
+returnTypeRef
|
||||
+booleanField("isSuspend")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user