FIR: Prepare tree for callable references resolution
^KT-32725 In Progress
This commit is contained in:
+3
-1
@@ -121,6 +121,8 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val delegateFieldReference = element("DelegateFieldReference", Reference, resolvedCallableReference)
|
||||
val backingFieldReference = element("BackingFieldReference", Reference, resolvedCallableReference)
|
||||
|
||||
val resolvedRealCallableReference = element("ResolvedRealCallableReference", Reference, resolvedCallableReference)
|
||||
|
||||
val resolvedTypeRef = element("ResolvedTypeRef", TypeRef, typeRef)
|
||||
val errorTypeRef = element("ErrorTypeRef", TypeRef, resolvedTypeRef)
|
||||
val delegatedTypeRef = element("DelegatedTypeRef", TypeRef, typeRef)
|
||||
@@ -130,4 +132,4 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val functionTypeRef = element("FunctionTypeRef", TypeRef, typeRefWithNullability)
|
||||
val resolvedFunctionTypeRef = element("ResolvedFunctionTypeRef", TypeRef, resolvedTypeRef, functionTypeRef)
|
||||
val implicitTypeRef = element("ImplicitTypeRef", TypeRef, typeRef)
|
||||
}
|
||||
}
|
||||
|
||||
+5
-1
@@ -433,6 +433,10 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
}
|
||||
|
||||
impl(resolvedRealCallableReference) {
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
}
|
||||
|
||||
impl(namedReference, "FirSimpleNamedReference") {
|
||||
kind = OpenClass
|
||||
}
|
||||
@@ -615,4 +619,4 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
it.addParent(abstractAnnotatedElement)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+8
@@ -396,6 +396,10 @@ object NodeConfigurator : AbstractFieldConfigurator() {
|
||||
+field("originalType", typeRef)
|
||||
}
|
||||
|
||||
callableReferenceAccess.configure {
|
||||
+field("calleeReference", namedReference)
|
||||
}
|
||||
|
||||
getClassCall.configure {
|
||||
+field("argument", expression)
|
||||
}
|
||||
@@ -448,6 +452,10 @@ object NodeConfigurator : AbstractFieldConfigurator() {
|
||||
+field("resolvedSymbol", abstractFirBasedSymbolType, "*")
|
||||
}
|
||||
|
||||
resolvedRealCallableReference.configure {
|
||||
+fieldList("inferredTypeArguments", coneKotlinTypeType)
|
||||
}
|
||||
|
||||
delegateFieldReference.configure {
|
||||
+field("resolvedSymbol", delegateFieldSymbolType.withArgs("*"))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user