[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:
Dmitriy Novozhilov
2022-12-15 11:11:03 +02:00
committed by Space Team
parent 366edcfe3c
commit 4bddb27ca3
40 changed files with 113 additions and 107 deletions
@@ -8,9 +8,9 @@ package org.jetbrains.kotlin.fir.resolve.dfa
import org.jetbrains.kotlin.fir.FirElement
import org.jetbrains.kotlin.fir.declarations.FirDeclaration
import org.jetbrains.kotlin.fir.expressions.*
import org.jetbrains.kotlin.fir.references.FirNamedReferenceWithCandidateBase
import org.jetbrains.kotlin.fir.references.FirResolvedNamedReference
import org.jetbrains.kotlin.fir.references.FirThisReference
import org.jetbrains.kotlin.fir.references.impl.FirSimpleNamedReference
import org.jetbrains.kotlin.fir.symbols.FirBasedSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirFunctionSymbol
import org.jetbrains.kotlin.fir.symbols.impl.FirSyntheticPropertySymbol
@@ -55,7 +55,7 @@ internal val FirResolvable.symbol: FirBasedSymbol<*>?
get() = when (val reference = calleeReference) {
is FirThisReference -> reference.boundSymbol
is FirResolvedNamedReference -> reference.resolvedSymbol
is FirSimpleNamedReference -> reference.candidateSymbol
is FirNamedReferenceWithCandidateBase -> reference.candidateSymbol
else -> null
}