[FIR] Get rid of candidateSymbol in FirNamedReference
`candidateSymbol` has any reasonable meaning only for references with not completed candidate, so this property is moved from FirNamedReference to new node FirNamedReferenceWithCandidateSymbol, which has real implementation only in :resolve module (`FirNamedReferenceWithCandidate`)
This commit is contained in:
committed by
Space Team
parent
366edcfe3c
commit
4bddb27ca3
+1
@@ -152,6 +152,7 @@ object FirTreeBuilder : AbstractFirTreeBuilder() {
|
||||
val wrappedDelegateExpression by element(Expression, wrappedExpression)
|
||||
|
||||
val namedReference by element(Reference, reference)
|
||||
val namedReferenceWithCandidateBase by element(Reference, namedReference)
|
||||
val errorNamedReference by element(Reference, namedReference, diagnosticHolder)
|
||||
val superReference by element(Reference, reference)
|
||||
val thisReference by element(Reference, reference)
|
||||
|
||||
+7
-12
@@ -111,7 +111,7 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
impl(callableReferenceAccess)
|
||||
|
||||
impl(componentCall) {
|
||||
default("calleeReference", "FirSimpleNamedReference(source, Name.identifier(\"component\$componentIndex\"), null)")
|
||||
default("calleeReference", "FirSimpleNamedReference(source, Name.identifier(\"component\$componentIndex\"))")
|
||||
useTypes(simpleNamedReferenceType, nameType)
|
||||
optInToInternals()
|
||||
}
|
||||
@@ -404,27 +404,22 @@ object ImplementationConfigurator : AbstractFirTreeImplementationConfigurator()
|
||||
}
|
||||
}
|
||||
|
||||
impl(resolvedNamedReference) {
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
}
|
||||
impl(resolvedNamedReference)
|
||||
|
||||
impl(resolvedNamedReference, "FirPropertyFromParameterResolvedNamedReference") {
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
publicImplementation()
|
||||
}
|
||||
|
||||
impl(resolvedErrorReference) {
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
}
|
||||
impl(resolvedErrorReference)
|
||||
|
||||
impl(resolvedCallableReference) {
|
||||
defaultNull("candidateSymbol", withGetter = true)
|
||||
}
|
||||
impl(resolvedCallableReference)
|
||||
|
||||
impl(namedReference, "FirSimpleNamedReference") {
|
||||
kind = OpenClass
|
||||
publicImplementation()
|
||||
}
|
||||
|
||||
noImpl(namedReferenceWithCandidateBase)
|
||||
|
||||
impl(delegateFieldReference) {
|
||||
default("name") {
|
||||
value = "Name.identifier(\"\\\$delegate\")"
|
||||
|
||||
+4
-1
@@ -620,7 +620,10 @@ object NodeConfigurator : AbstractFieldConfigurator<FirTreeBuilder>(FirTreeBuild
|
||||
|
||||
namedReference.configure {
|
||||
+name
|
||||
+field("candidateSymbol", firBasedSymbolType, "*", nullable = true)
|
||||
}
|
||||
|
||||
namedReferenceWithCandidateBase.configure {
|
||||
+field("candidateSymbol", firBasedSymbolType, "*")
|
||||
}
|
||||
|
||||
resolvedNamedReference.configure {
|
||||
|
||||
Reference in New Issue
Block a user